gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
<abathur> I'm pretty sure this exactly how competitions to write games in esoteric langauges start
<DigitalKiwi> if i go on hackernews and say it's impossible how long until someone does it
<ldlework> OK I guess the idea is no good
<abathur> definitely not worse than a stale-issue reopener
<abathur> er, re-poster
<DigitalKiwi> why's stalebot close issues rather than bump them
<abathur> well, ours does
<DigitalKiwi> ours closes or ours bumps?
<DigitalKiwi> i thought i saw one closed the other day
<abathur> bumps; but, mostly because people are hoping to shed issues that aren't being actively tended
<ldlework> Another of my games, Lawn and Order is now nix installable: https://github.com/dustinlacewell/pw8-lawnorder
<abathur> do you post these on itch.io?
<ldlework> no, i'm just sharing because with nix they're guaranteed to be trivial to install
<ldlework> just clone and "nix-build . && ./result/bin/whatever"
<abathur> just curious
<abathur> I keep forgetting about itch, but there's been a game bundle going around
<ldlework> I really recommend Wabble and Lawn and Order, they're actually pretty fun
<ldlework> In Lawn and Order there's an AI you can play against that I wrote when I was like 15 or something
<ldlework> It's pretty challenging!
slack1256 has quit [Remote host closed the connection]
bqv has joined #nixos-chat
drakonis has joined #nixos-chat
drakonis2 has quit [Ping timeout: 264 seconds]
parsley936 has quit [Remote host closed the connection]
drakonis has quit [Ping timeout: 272 seconds]
drakonis_ has joined #nixos-chat
drakonis has joined #nixos-chat
drakonis_ has quit [Ping timeout: 264 seconds]
bqv has quit [Ping timeout: 256 seconds]
bqv has joined #nixos-chat
slack1256 has joined #nixos-chat
drakonis_ has joined #nixos-chat
drakonis has quit [Ping timeout: 272 seconds]
bqv has quit [Ping timeout: 260 seconds]
bqv has joined #nixos-chat
<lovesegfault> talyz: etu: Please take a look at https://github.com/nix-community/impermanence/pull/3
<{^_^}> nix-community/impermanence#3 (by lovesegfault, 4 days ago, open): nixos: bind mount with correct permissions
<lovesegfault> Trying to get it into master as `next` is dead
bqv has quit [Ping timeout: 265 seconds]
bqv has joined #nixos-chat
slack1256 has quit [Remote host closed the connection]
<cole-h> F
Ashy has joined #nixos-chat
<Ashy> ah yeap
<Ashy> i'd love for AMD to get back on the coreboot train hard
<samueldr> so yeah, the probably next best recommendation may be system76 depending on what they do with their next few releases
<Ashy> yeah there's a good chance my next personal laptop will be system76
<Ashy> just for coreboot
<samueldr> not all their current lineup uses coreboot (sadly)
<Ashy> yeah
<Ashy> the ryzen4000 laptop cpus sound really good too
<Ashy> i'd love a coreboot supported ryzen4000 thinkpad T or X series in a perfect world
ajs124 has quit [Quit: killed]
das_j has quit [Quit: killed]
<samueldr> that would be nice
<gchristensen> waitfor=0; for f in $(seq 1 10 | sort --random-sort); do if [ $((f % 2)) -eq 0 ]; then waitfor=$((waitfor + 1)); (sleep $f; printf '\r%d' $f >> record)&; fi; done; for i in $(seq 1 "$waitfor"); do wait; done; cat record
<samueldr> I'm currently the most mildly annoyed at the fact that there's no way to know the final size of a file for most compression schemes
<gchristensen> yeah.
<samueldr> probably because they compress "streams" rather than files
<samueldr> so even though I made a porcelain to "burn" files to block devices (because I'm getting aggravated) I couldn't make it that much better by having an actual ETA
<samueldr> aggravated that I have to always add the same command line arguments, and aggravated that sometimes I accidentally create a normal file named /dev/sdX and that when I try to burn to /dev/sdX I end up overwriting a normal file and wondering why the heck the thing doesn't change)
<samueldr> and aggravated at having to deal sometimes with raw disk images, sometimes with compression
<lovesegfault> Alright, Thunderbird keeps creating $HOME/{Desktop,Downloads} despite me asking it not to and configuring my user dirs
<lovesegfault> What email client do y'all use?
<infinisil> I think the real solution is to just not make your $HOME the default dir
<infinisil> So you aren't bothered by what writes there
<infinisil> Or make it readonly
<infinisil> Iirc qyliss does that
<lovesegfault> Also got bless the audit subsystem for helping me find what was creating those files
<lovesegfault> s/files/folders/
<infinisil> What's that`
<pie_> lovesegfault: didnt realize that can do stuff like that i should check that out
<lovesegfault> it's really neat
<lovesegfault> infinisil: ^
<lovesegfault> you then just cat /var/log/audit/audit.log
* pie_ has been meaning to look into bpftrace or whatever at some point...
<infinisil> Neat
<bqv> https://github.com/atlas-engineer/nyxt/issues/682 this is really pissing me off at this point
<bqv> i regret opening it
<bqv> i wish there was a way to detach an issue from my github account
<{^_^}> atlas-engineer/nyxt#682 (by bqv, 7 weeks ago, open): Tag a pre-release
<lovesegfault> a clisp browser, jesus
<bqv> i loved the idea, and was keen to follow really closely
<pie_> bqv: yo could just unwatch it or whatever
<bqv> but it's been two months since i've been able to actually try it
<bqv> pie_: that bothers me on a completionist level
<lovesegfault> It reminds me of qutebrowser
<bqv> literally the last release on their page is from half a year ago, the code right now is *completely different* from anything in 1.4.0
<infinisil> I have 35 open issues created by me, not really bothered by it
<lovesegfault> I wish someone would make one of these minimalist vim browsers using servo
<lovesegfault> Y'all only have 35
<bqv> i mean, i wouldn't mind having the issue hang about if it was something nontrivial, but it's just to add a flipping tag
<lovesegfault> I have 84 open, 169 closed
<bqv> not something that takes 2 months..
<lovesegfault> The oldest open issue I have is from 2015
<bqv> yikes i have issues from 2013
<infinisil> My oldest is from January 2017
<infinisil> Which is when I started getting into open source stuff
<infinisil> Ah no Dec 2016
<ldlework> Why is /r/nixos restricted?
<infinisil> "restricted"?
<ldlework> posts have to be approved and mine don't seem to get it
<samueldr> the /r/nixos subreddit was never owned by the community
<samueldr> only by a subreddit half-squatter that holds a load of subreddits
<samueldr> I say half-squatter because they seemed to be doing it right enough
<samueldr> but since they locked it a couple weeks ago, I'm not so sure
<ldlework> wtf
<ldlework> Has anyone started an alternative subreddit?
<samueldr> I don't know of any
<samueldr> and imo, we probably should get in control of it
<energizer> could probably take over r/nix ask in https://www.reddit.com/r/redditrequest/
<samueldr> except it's /r/nixos
<ldlework> samueldr: right, he's saying we'd have a better chance of taking control of /r/nix
<samueldr> yeah, but that doesn't solve many issues
<drakonis1> reddit only takes action if the owners are no show for months
<ldlework> yeah if the mod of /r/nixos doesn't want to give it up, there's nothing to be done
<energizer> "Abandoned” subreddits are available for r/redditrequest. Subreddits are considered "abandoned" in the event that none of its mods have been active anywhere on reddit in the past 60 days." /r/nix's mod hasnt been active in 10 years
<samueldr> the mods AFAIK have been effectively no show for years
<ldlework> they (mods of /r/nixos) are active on reddit as of ~25 days ago
<samueldr> and at the very least, it's a hostile action from the mods to, without consultation, change it into a moderated subreddit
<samueldr> yeah, I was talking about active *on* /r/nixos
<samueldr> I think people better attached to NixOS and the NixOS foundation may want to do something about that, and not simply ask as community members
drakonis_ has quit [Ping timeout: 260 seconds]
<samueldr> because the subreddit *is* linked as an official ressource, but right now has been locked without any clear reason
<ldlework> samueldr: I was just mentioning, because the takeover rules consider mod activity on reddit globally, not just on the relevant subreddit
drakonis_ has joined #nixos-chat
drakonis1 has quit [Quit: WeeChat 2.8]
bqv has quit [Ping timeout: 246 seconds]
bqv has joined #nixos-chat
Emantor has quit [Quit: ZNC - http://znc.in]
Emantor has joined #nixos-chat
drakonis has joined #nixos-chat
drakonis1 has joined #nixos-chat
drakonis_ has quit [Read error: Connection reset by peer]
drakonis has quit [Ping timeout: 256 seconds]
bqv has quit [Ping timeout: 272 seconds]
bqv has joined #nixos-chat
{^_^} has quit [Excess Flood]
{^_^} has joined #nixos-chat
leah2 has quit [Ping timeout: 246 seconds]
<bqv> (can i see if i can adopt it to weechat.el? or is it not very functional)
leah2 has joined #nixos-chat
bqv has quit [Ping timeout: 260 seconds]
bqv has joined #nixos-chat
waleee-cl has quit [Quit: Connection closed for inactivity]
cole-h has quit [Quit: Goodbye]
iqubic has joined #nixos-chat
<ldlework> Sadly retroarch is missing some art
mog has quit [Ping timeout: 256 seconds]
<ldlework> I actually have no idea how you're supposed to use retroarch from Nixpkgs
<ldlework> Retroarch doesn't see any of the cores that get installed
bqv has quit [Remote host closed the connection]
bqv has joined #nixos-chat
<Shados> samueldr: Sadly, reddit has no real oversight, and there is essentially no chance reddit admins will take action. Case in point: a couple months ago the top mod on r/3dprinting started kicking other, well-respected mods off the team for essentially no reason, followed by yet more mods quitting in protest. Said top mod hadn't posted in that subreddit in *2 years*, and their most recent post was about yet another incidence of booting well-respected mods.
<Shados> Reddit admins were contacted and did squat.
<sphalerite> ldlework: ((wrapRetroArch { inherit retroarch; }).override { cores = with libretro; [vba-m dolphin beetle-psx]; })
<ldlework> sphalerite: it was enough to do
<ldlework> nixpkgs.config.retroarch = { enableDolphin = true; ...
<ldlework> is your way more correct?
<ldlework> There's no torrentzip in nixpkgs 😢
<ldlework> no ROMVault either rip
bqv has quit [Ping timeout: 272 seconds]
parsley936 has joined #nixos-chat
bqv has joined #nixos-chat
<sphalerite> ldlework: neither is more correct than the other, but mine doesn't use nixpkgs.config, because IMHO nixpkgs.config is awful especially for actually configuring packages (like retroarch, as opposed to configuring nixpkgs like allowUnfree)
<ldlework> sphalerite: do you have a method for rezipping your roms so they match the retroarch db?
<sphalerite> ldlework: no, I don't actually use retroarch >_<
<ldlework> oh lol
<sphalerite> I tried it at one point and therefore still have it in my games user's profile, but usually use distinct emulator programs
<ldlework> sphalerite: any reason?
<sphalerite> can't really remember, I think they just worked better, or took less fiddling, or were more obvious how to use
<ldlework> in vgo2nix, what do I set at the "goPackagePath" ? https://github.com/nix-community/vgo2nix
bqv has quit [Ping timeout: 256 seconds]
<ldlework> I am trying to build torrentzip, https://github.com/uwedeportivo/torrentzip
bqv has joined #nixos-chat
<ldlework> i am befuddled
Jackneill has quit [Ping timeout: 240 seconds]
bqv has quit [Ping timeout: 264 seconds]
Jackneill has joined #nixos-chat
bqv has joined #nixos-chat
bqv has quit [Ping timeout: 260 seconds]
<ashkitten> ugh my funny bone is hurting, and it's not funny ;-;
FRidh has joined #nixos-chat
bqv has joined #nixos-chat
<eyJhb> ashkitten: be nice to ldlework ! \s :p
<ashkitten> wh
<ashkitten> idgi
<eyJhb> Nvm. what is up ashkitten ?
<ashkitten> my funny bone is hurting is what's up
<ashkitten> apparently
<eyJhb> Wait, what
<eyJhb> Ah, that feeling
<eyJhb> Needed to read up what exactly it was. Just knew it was something you told kids
<eyJhb> But that sounds awful :|
<ashkitten> gristensen pointed me at a thing that matched my symptoms pretty well, numbness in ring and pinky finger when bending elbow for a while
<ashkitten> forget what it's called but it's a nerve issue with the cluster commonly called the funny bone
<ashkitten> which is neither funny nor a bone
bqv has quit [Ping timeout: 260 seconds]
<eyJhb> Damn. What can one do to fix that?
<eyJhb> Physician I guess?
<ashkitten> idk, probably spend more money than i have on medical care lol
<ashkitten> i'm in the capitalist hellhole of america
<Shados> ulnar nerve compression?
<ashkitten> idk, sounds about right but i'm tired
<eyJhb> One of my top 10 reasons of never wanted to live in the US
<ashkitten> i'm glad it's not your only one
bqv has joined #nixos-chat
<Shados> I'm happy to live in a country where we only get really screwed over on one aspect of healthcare, instead of all of them
<ashkitten> hooray?
<energizer> ashkitten: is it in your mouse hand?
<eyJhb> Shados: US as well?
<Shados> No, Australia
<eyJhb> Ahh
<ashkitten> energizer: both, i think
<Shados> Healthcare here is mostly OK, but dental is really fucky
<eyJhb> Same in DX
<eyJhb> DK*
<ashkitten> denmarx
<eyJhb> I really don't get while the only bones that are not covered are teeth. Like the hell
<JJJollyjim> new zealand too
<JJJollyjim> do people just not need teeth
<Shados> I spent $1400ish on getting fillings done and replaced this financial year ._.
<eyJhb> ashkitten: :( x and k are next to each other!
<Shados> JJJollyjim: As my American friend once put it: teeth are luxury bones.
<Shados> I wish non-elective dental work were at least tax-deductible >.>
<JJJollyjim> lol
<eyJhb> If any politician in DK where in for free dental, I would be fine by that
<eyJhb> But I guess I spend 200-300 DKK on dental a year (40 EUR)
<ashkitten> teeth aren't technically bones /pedantry
<eyJhb> And I think it is actually more like 0 tbh. because of some insurrance stuff
<eyJhb> Well, they are part of ones health
<eyJhb> It is kind of fucked that everything else is covered, but if you cannot eat beacuse of toothpain, then you are out of luck :/
<Shados> eyJhb: that's pretty cheap compared to here, honestly. Getting a check-up and clean every 6 months sets you back maybe $140-200 depending on where you go.
<Shados> ($140-200/year, I mean)
<ashkitten> anyway, good night
<ashkitten> gchristensen: ky0ko says you're a sentient acorn
<eyJhb> 100 DKK here (13 EUR) for the basis checkup, a additional 150 DKK (20 EUR) if you want xray as well
<eyJhb> And then there is the price of actual cleaning, around 200 DKK I guess
<ky0ko> i say things sometimes
<eyJhb> But a lot less!
<eyJhb> night ashkitten :)
<sphalerite> ashkitten: are they part of the skeleton though?
<adisbladis> > DKK 100
<{^_^}> "346501.000000 VND"
<eyJhb> adisbladis: go away :D
<eyJhb> Or wait, stay, I need help :p
<adisbladis> eyJhb: :<
<eyJhb> You know that it isn't wise to reveal yourself...
thibm has joined #nixos-chat
<sphalerite> Any emacsers here have a nice way of building an expression that you're working on from emacs? I'm still switching to a terminal and pressing up-enter and it feels like this could be so much easier.
<ldlework> heh
<ldlework> I'm playing Super Smash Brother Melee on NixOS
bqv has quit [Ping timeout: 260 seconds]
<sphalerite> ldlework: oh yeah that's one of the games I've spent some time playing as well :D
<sphalerite> never had a gamecube, but that can't stop me
<eyJhb> adisbladis: #nixos if you have the time :)
bqv has joined #nixos-chat
<energizer> ldlework: there's competitive melee on irc, i played a few years ago it was fun
<energizer> on rizon#dolphpin-ssbm
<energizer> dolphin*
<ldlework> energizer: thought you wernt much of a gamer lol
<energizer> ldlework: haha that's true, i used to play a few, but it's been many years
<ldlework> coulda tried my game for 5 minutes to reward the effort in packaging it up for nix!
<ldlework> lol playing melee on a ps3 controller is weeeiiirrrrrddd
__monty__ has joined #nixos-chat
bqv has quit [Ping timeout: 246 seconds]
bqv has joined #nixos-chat
<ldlework> I just beat super smash melee on nixos :)
<eyJhb> Did `impermanence` settle on bindmounts for everything?
<etu> eyJhb: It's a bit tricky
<etu> eyJhb: It causes issues with files in certain cases
<sphalerite> ldlework: yeah I use a PS4 controller myself. It's basically the only controller I play with (I don't play many controllery games) so it doesn't feel weird to me :D
<eyJhb> etu: atm. I am trying to persist .viminfo, but vim does not like the symlink...
iqubic` has joined #nixos-chat
<sphalerite> eyJhb: wrap it to pass -i ?
<sphalerite> eyJhb: or set the viminfofile option
<sphalerite> eyJhb: see :help viminfo-file-name
iqubic has quit [Ping timeout: 256 seconds]
<gchristensen> ashkitten: :)
<sphalerite> ldlework: just noticed that support for playstation controller's rumble isn't enabled in nixos's default kernel config
<ldlework> how to enable
<sphalerite> ldlework: kernel config HID_SONY_FF
<sphalerite> ldlework: I'll open a PR
<sphalerite> err, SONY_FF
<sphalerite> ldlework: opened PR, cc'd you
<eyJhb> sphalerite: will look at it :)
<gchristensen> maybe there should be a "featureful" kernel variant
<gchristensen> or a way to build modules in addition to
<sphalerite> gchristensen: our kernel is featureful by default, with most of the features in modules.
<sphalerite> gchristensen: this PR enables the features _within_ some modules
<gchristensen> I know it is featureful :P
<sphalerite> so it doesn't affect anybody who's not using the modules
<sphalerite> or what do you mean?
<sphalerite> make allyesconfig? :D
<gchristensen> nah, it just isn't free to turn on more stuff
<gchristensen> and there is probably a more minimal-but-pretty-good-hw-support kernel that most people would want to have to suffer through building
<gchristensen> for example what if you could build other modules in a separate derivation and link them together
<sphalerite> I'd say the cost is minimal in this case though, and it's hard to draw a line unless you have a "we want to support most things" policy. IMHO if someone wants to build a more minimal kernel that's something they can do themselves, i.e. start from the defconfig and enable whatever they need
<sphalerite> nixpkgs's kernel config system works well for that use case
<gchristensen> okay
thibm has quit [Quit: WeeChat 2.6]
<sphalerite> > buildLinux { inherit (linux) version src kernelPatches; kernelBaseConfig = "defconfig"; autoModules = false; }
<{^_^}> "<derivation /nix/store/3wh9xj9k009i2vip20iawnp1nrxj05sw-linux-5.4.45.drv>"
<sphalerite> > buildLinux { inherit (linux) version src kernelPatches; kernelBaseConfig = "defconfig"; autoModules = false; structuredExtraConfig = with lib.kernel; { VIRTIO_PCI = yes; }; }
<sphalerite> things like that
<{^_^}> "<derivation /nix/store/dqr19nc627ms24ykka4cz9af924dsmy9-linux-5.4.45.drv>"
<sphalerite> actually, this is tempting me to try a custom kernel for my laptop :D
<gchristensen> I still wish for a way to take the current configuration and enable a single module, and not have to build the entire kernel
<sphalerite> oh yes, that would be nice. Having to rebuild the whole kernel just to patch the radeon driver has probably cost me about a day of waiting for builds, and I can only imagine how much it costs people who spend more of their life building obscure-ish modules.
<gchristensen> for example sony rumble packs :P
<sphalerite> hey, that's an extremely common consumer device
<gchristensen> ;)
<gchristensen> there is an interesting dynamic where the people most likely to be able to make it easy to build a single module, are also the most likely to be able to land a simple enable-this-additional-module flag to nixpkgs
<sphalerite> hmm?
<ldlework> "New Super Mario Bros Wii" is fun :)
<sphalerite> (the kernel above with just defconfig built in 7 minutes for me)
<gchristensen> sphalerite: I think I mean the pain of needing to recompile the whole kernel for an additional module is mostly carried by people who aren't nixpkgs contributors
<sphalerite> gchristensen: right, fair enough
<gchristensen> I'm not griping here or unhappy or blaming btw, just thinking about it
<sphalerite> gchristensen: another trouble is that just building a module on its own won't actually work, i.e. doesn't seem to be supported by the kernel
<gchristensen> I am regretably considering writing a kernel module :(
<adisbladis> Oh no
<gchristensen> heh, yeah that is something
<adisbladis> Why
<gchristensen> adisbladis: because LSMs look fun :(
<sphalerite> gchristensen: I just tried insmod'ing the hid_sony module built for the same exact kernel version and got Jun 11 13:14:22 bringtnix kernel: hid_sony: Unknown symbol input_ff_create_memless (err -2)
<adisbladis> LSMs?
<sphalerite> because the module has dependencies within the kernel that are optimised out if the module isn't built :/
<gchristensen> adisbladis: Linux Security Modules, the framework AppArmor and SELinux are built on
<sphalerite> gchristensen: so enabling building individual modules that aren't enabled in the default config wouldn't even help without a lot of upstream work
<gchristensen> ouch.
<adisbladis> gchristensen: And you can't use ebpf for this?
<sphalerite> gchristensen: upstream work that would make building the kernel more expensive as well x(
<gchristensen> adisbladis: not sure
<gchristensen> I think ebpf can only be used to monitor it
<neeasade> > bqv: (can i see if i can adopt it to weechat.el? or is it not very functional)
<{^_^}> error: syntax error, unexpected IF, expecting ')', at (string):315:17
<neeasade> you should be able too -- assuming weechat.el has modes/a way to query read state (I haven't tied that back into the plugin)
<neeasade> bqv: here's what it currently looks like -- https://0x0.st/iVI-.png -- have fun
<pie_> neeasade: huh im generally a dark theme person but that actually looks petty nice and tolerable
<pie_> link repo plox ;p
pasukon has quit [Ping timeout: 240 seconds]
aria has quit [Read error: Connection reset by peer]
noonien has quit [Ping timeout: 258 seconds]
aria has joined #nixos-chat
tazjin has quit [Ping timeout: 265 seconds]
jw358 has quit [Read error: Connection reset by peer]
jw358 has joined #nixos-chat
tazjin has joined #nixos-chat
pasukon has joined #nixos-chat
noonien has joined #nixos-chat
<neeasade> pie_: ty
<neeasade> theme repo is here: https://github.com/MetroWind/lab-theme
<pie_> i figured more like the entire setup if you have it up somewhere...
* pie_ is yet to learn how to use emacs. someday.
<neeasade> oh sure, if you're looking for inspo or anything -- https://github.com/neeasade/emacs.d
<neeasade> or reasons not to try it out, given some of the elisp in there
<neeasade> : - >
<pie_> :D
<etu> neeasade: exwm? ;D
<etu> neeasade: ooh, https://github.com/neeasade/emacs.d/blob/master/early-init.el#L18-L21 I need to add that to my emacs :)
<adisbladis> etu: Something something community distribution...
<etu> adisbladis: My emacs starts too slow you know
<neeasade> etu: bspwm -- 2comfy
<neeasade> (it is fullscreen emacs)
<gchristensen> <3 nix,nixpkgs,community. I needed git 2.27 to fix my autosquash thing, and it was already updated 5 days ago in staging and I'm ready to go.
<neeasade> gchristensen: bestfeel
rajivr has quit [Quit: Connection closed for inactivity]
<gchristensen> `git-absorb` is so good
* pie_ stashes that for alter
<pie_> later
<srk> cool, I wasted tons of time looking up correct hashes for fixups /o\
FRidh has quit [Ping timeout: 260 seconds]
FRidh has joined #nixos-chat
<__monty__> How does git-absord determine the right commit to fixup?
<gchristensen> afaict magic
<joepie91> pie_: git-stash :P
<pie_> ;p
<neeasade> til of git-absorb -- looks sweet
<Valodim> ooh, nice. I had written git-fixup for that a while ago, but never really maintained it. very convenient 8)
<gchristensen> gosh. I haven't added a new package to my systemPackages in a *long* time. git-absorb just made it
<Valodim> not your user packages?
<gchristensen> I don't really use nix-env
<Valodim> nor home-manager?
<gchristensen> nor that, though I guess I probably should :)
<Valodim> (noone should use nix-env :P)
<Valodim> __monty__: probably via something like this https://github.com/aspiers/git-deps
<sphalerite> ooh, that is neat
<sphalerite> (git-absorb)
<gchristensen> relatedly, I would like to experiment with making many more "profiles". for example, dmenu -- for my purposes -- has no business having coreutils in its list, it should only have, like, firefox, emacs, and pavucontrol
<Shados> Eh. If you add a fuzzy-matching patch to dmenu, most things are only take ~3 characters to get to, even with a bunch of stuff installed
<gchristensen> it isn't about ease of use, but authority :P
<steveeJ> oh nice, I've wished for something that identifies which commit to fixup
<steveeJ> is that really it?
<gchristensen> yup
<gchristensen> you stash all your changes and it'l leven break up the chunks
<steveeJ> even across multiple files?
<gchristensen> oh sure
waleee-cl has joined #nixos-chat
<steveeJ> somehow I'm afraid of it
<gchristensen> it has, honestly, consistently done "the right thing" in a way I'm impressed by
<adisbladis> It sounds too good to be true...
<steveeJ> off-topic: is someone here familiar or even involved with the Holo project? I just stumbled upon it today and I'm intrigued
leah2 has quit [Ping timeout: 272 seconds]
<bqv> adisbladis: have you seen my current setup?
<bqv> Its close to your idea
<bqv> Or at least enables it
ravndal has quit [Quit: WeeChat 2.8]
leah2 has joined #nixos-chat
<adisbladis> bqv: No I haven't. Link?
<pie_> steveeJ: whats that
FRidh has quit [Quit: Konversation terminated!]
<adisbladis> bqv: Whoa
<adisbladis> Hello there
<adisbladis> Where have you been all my life
<bqv> lmao
<adisbladis> I think my next emacs hacking project is making native-comp run nicely, but I'll look into your config after that
<adisbladis> bqv: Omg that's sooo nice
<bqv> yeah, i still need to make native-comp actually compile all my packages and not just emacs core
<adisbladis> It's _exactl_ what I had in mind
<bqv> heh, nice
<adisbladis> Stupid sexy emacs
drakonis has joined #nixos-chat
<bqv> one thing i'm keen to sort out is how to "activate" a different emacs configuration without restarting emacs
<bqv> cause it's all well having this declarative but i still have to restart for it to take effect
<bqv> unless i manually realise an emacs package and just hack it into load path
<bqv> c-x c-e the config in
<bqv> one fundamental issue with that is that you can't unload a package
drakonis1 has quit [Ping timeout: 256 seconds]
drakonis_ has joined #nixos-chat
drakonis has quit [Ping timeout: 272 seconds]
leah2 has quit [Ping timeout: 256 seconds]
<steveeJ> pie_: a platform for distributed apps. it features Nix and Rust which are technologies I both like a lot
<joepie91> steveeJ: does it involve blockchains?
<steveeJ> pie_: I'm sure you'll find the higher-level website from there :-D
* joepie91 casts a suspicious glance at the domain name
<joepie91> okay, I am genuinely interested now
<joepie91> when a project goes out of its way to not call itself a 'blockchain' misleadingly, that is a positive sign :P
<steveeJ> I found looking for "serverless" frameworks for distributed apps
<steveeJ> and it happens to mention "serverless" here and there
<pie_> joepie91: yeah but holochain.org ;p
<joepie91> steveeJ: "serverless" is absolute nonsense, fwiw
<joepie91> basically just a way for cloudycloud providers to sell you more billable units
<steveeJ> joepie91: I know, hence the quotes ;-)
<joepie91> (the non-extremist, actually-useful variant is a SOA :P)
<joepie91> right :P
<joepie91> pie_: yeah, I wonder if they pivoted away from blockchain stuff
<steveeJ> I'll admit that i don't fully understand holochain or blockchain or any *chain
<pie_> joepie91: whats a soa
<joepie91> pie_: Service Oriented Architecture
<pie_> aha
<joepie91> pie_: or, if you're Dutch, the Dutch translation of an STD
<pie_> ive heard the words but no idea what it means
<pie_> joepie91: loll
<joepie91> pie_: or, if you do DNS, a Start Of Authority record
<joepie91> this is not confusing at all :)
<pie_> TLAs have collisions, today we learned :pp
<joepie91> pie_: anyway the TL;DR of a sensible SOA is "you have one monolithic application, and then when you have bits that need to scale independently and are ideally stateless, you move those bits out into separate services"
<pie_> ahha.
<joepie91> typical example is you run a video uploading site and you move the transcoding into a separate service
<joepie91> the goal of a sensible SOA is to avoid introducing a distributed system where it's not strictly necessary
<joepie91> so often you'll still try to centralize state, by having one central DB, moving out stateless bits first, etc.
<joepie91> microservices throw all of this out the window and go "let's make EVERYTHING distributed for no reason at all!" which is exactly as terrible an idea as it sounds like
<joepie91> (SOAs also predate microservices by like, 2 or 3 decades?)
neeasade has quit [Ping timeout: 260 seconds]
<joepie91> anyway the overhead of a microservices architecture is utterly insane, which is why it makes sense for the big cloudycloud providers (who try to look cheap by splitting everything up into lots of tiny pieces) to encourage itr
<joepie91> it*
iqubic` has quit [Ping timeout: 260 seconds]
iqubic` has joined #nixos-chat
iqubic` has quit [Remote host closed the connection]
drakonis has joined #nixos-chat
leah2 has joined #nixos-chat
drakonis_ has quit [Ping timeout: 272 seconds]
waleee-cl has quit [Quit: Connection closed for inactivity]
hoverbear has joined #nixos-chat
iqubic has joined #nixos-chat
<eyJhb> lovesegfault: that is a hell of a bad experience with Lenovo
<eyJhb> I have mostly good, but I had the three years on-site-repair service with them
<lovesegfault> eyJhb: Yeah, it was pretty nightmareish
cole-h has joined #nixos-chat
<lovesegfault> To be fair, I _still_ have a Thinkpad P1 and it's worked fine for the past year or so
<lovesegfault> But that initial experience was traumatizing
<eyJhb> Have had mine for 5 years now (x230), and really been amazing. But I have had replaced my screen, casing, etc.
<eyJhb> Not so much because it needed it, but because I could I guess
<eyJhb> But I can imagine yes
<pie_> this looks like its going to be good https://invidio.us/watch?v=fdO4VN1IDI0
<gchristensen> lambda dals
<pie_> 'xD
<srk> fun talk from woodworking for engineers hn thread .. https://www.youtube.com/watch?v=ShEez0JkOFw
waleee-cl has joined #nixos-chat
<bqv> emily: setting up my fritzbox
<bqv> hype
drakonis_ has joined #nixos-chat
drakonis has quit [Ping timeout: 256 seconds]
<ashkitten> i appreciate how even though mastodon won't build against nixos-unstable right now, i can just pin nixpkgs for that one package
<bqv> i just stopped checking that package. i have a working version in my config
<bqv> that PR has been active longer than i've been using nixos :p
<__monty__> A web service that parses hydra's output and tells you the most recent commit something succesfully built at would be nice.
<bqv> can't you achieve that with h.no.c
<samueldr> __monty__: there's already that built-into hydra
<samueldr> oh, commit
<samueldr> sorry
<bqv> isn't that also?
<samueldr> not only the commit, you need to parse the output
<samueldr> and you might want not all of nixos/nixpkgs, but only *that* package
<ashkitten> mastodon isn't in nixpkgs
<ashkitten> hasn't been merged
<bqv> i know
<ashkitten> i also can't even update my mastodon instance until someone updates yarn2nix to support package.json field resolutions
<ashkitten> unless there's a way to work around it
<bqv> samueldr: __monty__: so example here https://hydra.nixos.org/build/122077069
<bqv> you can go from there to the build id
<samueldr> yes, I know
<__monty__> Hypothetical usecase: "Darn why doesn't this build! curl pins.nixos.org/query=brokenpackage > brokenpackagepin.nix"
<bqv> then from there to the commit
<samueldr> bqv: easier, just go to the inputs tab
<bqv> right, yeah
<bqv> so what's the problem?
<bqv> i mean you can always just use the search to find your package and find that inputs tab
<samueldr> if you want *only* the revision id for automation, you need a bit of parsing
<bqv> oh, an api
<bqv> reasonable.
<samueldr> https://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.timewarrior.x86_64-linux#tabs-links <- there's also these links that are useful, to get the last successful build
<bqv> nix-shell -p pup --run "curl -L https://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.timewarrior.x86_64-linux#tabs-links | pup 'div#tabs-links a attr{href}'"
hoverbear has quit [Quit: WeeChat 2.8]
<bqv> not ideal for sure, and very flakey, but it's ergonomic-ish for a ghetto shell script
<bqv> i like pup
<bqv> xml-y jq
<LnL> there's a json api for that
<bqv> figures...
<pie_> oh wow theres still fifteen minutes of this talk
<pie_> this is great
<bqv> ???
<bqv> (???)
<cole-h> Testing for RFC 39
<LnL> lol
<{^_^}> eb6cb83a-cf75-4e88-a11a-ce117467d8ae/4ec54bd9-c707-4238-bc46-48596d6d7659#4 (by grahamc, 1 year ago, open): 21ac12f7-d8d0-4058-a9d8-ff1fc1eb09ad
<bqv> lmao
<bqv> i love this
<bqv> have a star
<LnL> did you use a uuid in your post request?
<bqv> unfortunately no, that's hard to do from firefox :p
<gchristensen> a92dc12e-f204-481c-92a4-b159b01035a5
<cole-h> 8baea4b3-954b-413c-93b5-88121ff3936a
<bqv> 1b52b46f-d4ee-4b84-a896-9c2908e23f59
<lassulus> 6a869b9b-95c4-4b33-9106-f9e17536d377
<bqv> (insert (substring (shell-command-to-string "uuidgen") 0 36))
<gchristensen> one day somebody is going to assume something super shady is going on
<joepie91> I was already wondering about that
<joepie91> lol
<gchristensen> let's start an "every uuid" twitter bot
<bqv> wouldn't it take longer than the life of the universe to live up to it's name :p
<eyJhb> Sooo...
<eyJhb> Random PC freeze, lets see if I lost some files
evanjs has quit [Read error: Connection reset by peer]
evanjs has joined #nixos-chat
drakonis has joined #nixos-chat
<bqv> if i remove the password requirement from my gpg key, is that dramatically weakening my security or is it negligible?
<bqv> ugh, is it yubikey time
<energizer> bqv: what do you use your key for?
<bqv> signing commits, encrypting various secrets private and publicly, ssh keys for all my machines, and identity
<gchristensen> bqv: how well do you trust every program you execute?
<bqv> well that's a hell of a question :D
<Valodim> bqv: passwords on pgp keys are a fig leaf
<bqv> what do you mean by that? (not familiar with the phraseology)
<gchristensen> bqv: itis sort of The Question :P
ashkitten has quit [Quit: WeeChat 2.8]
<pie_> >.>
<bqv> reasonably speaking, i don't trust anything, which is kind of why i don't try too hard with personal security, because i acknowledge that no matter how hard i try there's always a fault somewhere
<bqv> so i just try and balance ergonomicity with common sense security
<bqv> that's kinda why my yubikeys are gathering dust too, they just aren't remotely convenient
<bqv> setting them up is such a PITA and i think some aspects of my workflows are actually impossible for them
jared-w has quit []
<joepie91> pie_: "Open"AI - okay, so where's their source code? other than scraps
jared-w has joined #nixos-chat
<Valodim> a program that can read your pgp key from disk will have a an infinite amount of creative ideas on how to get (around) your passphrase
<bqv> my guess would be that removing the password from the keys does little to nothing realistically
<bqv> yeah
<bqv> figured.
<bqv> awesome!
<Valodim> unless you take care to separate your home directory, there is really little point in typing a passphrase
<pie_> joepie91: meh
<bqv> i really wish i'd thought of that ...a decade ago? i don't even know how old this key is
ashkitten has joined #nixos-chat
<joepie91> (I dislike things that brand themselves as "open" and then aren't, at all)
<pie_> sure
<samueldr> joepie91: open as mcdonald's
<Valodim> if it's cached, triply so. if it's convenient enough to type regularly, it will likely be brute-forceable by an offline attacker (side note: pgp doesn't support memory-hard algorithms)
<Valodim> bqv: you can change or remove your key's passphrase, no problem
<bqv> tl;dr it's entirely pointless, really
<bqv> yeah i know
<Valodim> also if it's a decade old, it's likely using 1024D defaults? if so, you should definitely update. if it's 2048R you should still consider
<bqv> nono, it was 2048 until i renewed
<Valodim> you can't renew your primary key, and that's the one that counts
<Valodim> if by renew you mean update your existing key. if you rotated your primary, you're good :)
<Valodim> (note to self: I really need to make that PR to get rid of key ids in the maintainers file)
<bqv> hm, yeah i know all my new subkeys are 4096bit but the primary might still be 2048
<energizer> Valodim: do you think the whole idea of key agents and password-protecting keys in ~/ is bunk?
<Valodim> well, not totally
<Valodim> but in my experience, people feel very bad at the thought of dropping those protections, because they vastly overestimate how efficient they are
<Valodim> (gotta go :)
<bqv> exactly
<bqv> ty, seeya
<__monty__> I have passphrases on my keys. Figure if someone takes my laptop I'll have enough time to rotate my ssh keys and revoke my gpg keys.
<__monty__> Not everyone is being threatened by a TLA.
<bqv> heh
<bqv> i mean one of the only useful things about having OCD is that i have fundamental issues trusting anyone and anything at this point, so i end up considering this stuff by default even though i frequently mock people for wearing virtual tinfoil hats
<bqv> at least i'm competent enough that it hasn't turned me into a technophobe
<gchristensen> orrrrr the flip side is everybody is threatened a base-line amount by TLAs
<bqv> a healthy amount of danger for your digital immune system
endformationage has joined #nixos-chat
<__monty__> I was thinking actively. But I agree with your statement if we're talking passively.
<lovesegfault> nix-index seems to be broken :/
<bqv> it's broken for me anyway due to flakes
<infinisil> Idea: Make a Nix LSP server, but don't bother trying to make it work under `with <>;` expressions
<infinisil> So over time, people will automatically stop using `with` to get all the features in all files :)
<bqv> you don't like the concept of "with" in any circumstance at all, do you
<LnL> heh
<bqv> those nix files that have line 2 and 3 be "with builtins;" and "with lib;" are pretty yikes though, in fairness
<bqv> i think i inherited some
<infinisil> `with` is convenient, but also causes problems
<samueldr> with should be used with constraints, like at the expression level imo
<infinisil> For one, it makes writing any static analysis (which you could really use for an LSP server) much harder
<samueldr> like `with pkgs; [ hello ]`
<samueldr> anything that pollutes the more global scope is a footgun
<infinisil> What if `with <attrs>; <expression with id1 id2 ...>` behaved like `let inherit (attrs) id1 id2 ...; in <expression with id1 id2 ...>`
<infinisil> Which I think means that you can't nest `with`'s anymore
<LnL> would be interesting if it only worked for one level of scoping or something
<infinisil> Yeah that's what I'm going for with these semantics
<bqv> you raise a good point tbh, thinking back to haskell, there's no with there, but it still feels fine and you just get around it using let bindings to simplify names
<bqv> or aliases
<energizer> this feels like a linter-level restriction, not a compiler level one
<infinisil> With these semantics, I think the restriction should be that you can't define any more variables inside the `with`, so no nested `let`'s or `with`s
<infinisil> So `with pkgs; [ (let x = 10; in x) ]` would be forbidden
<bqv> ah yes, my favourite package, `10`
<infinisil> This means, all identifiers used on the right side of the `with` would come from the attribute that was `with`d
<adisbladis> with pkgs; with lib; with lib.attrs; someFn someThing
<adisbladis> What is someFn?!
<bqv> christ what
<samueldr> some function
<samueldr> hopefull
<samueldr> y
<adisbladis> I hate this :/
<adisbladis> I wish I never started using with at all
<bqv> it's easy with simple scopes like lib.types
<bqv> but more than that god help you
<samueldr> whenever I work on things I made that was using with, I'm now tearing it out with proper let binds
<energizer> infinisil: i think that's backwards?
<energizer> the thing you really want to prevent is `let x = 5; in with pkgs; x`
<adisbladis> samueldr: <3
<energizer> because you cant tell what x is
<LnL> x is always 5
<infinisil> energizer: Hm that's a good point
<bqv> chosen by a random dice roll
<energizer> LnL: oh you're right
<energizer> why is that
<LnL> > let x = 5; in with { x = 42; }; x
<{^_^}> 5
<bqv> what
<bqv> nix strikes again
<bqv> that can't be right
<LnL> with doesn't change any existing variables
<infinisil> If it were to have above-suggested semantics that would change
<bqv> well that simplifies static analysis
<bqv> check scopes from out to in
<infinisil> bqv: It's "first check let's, then with's"
<bqv> i hate this language :D
<infinisil> Oh, also function arguments
<energizer> in this case it's not as bad as it looks, you can always tell where things are coming from unless you nest withs
<infinisil> Which work the same as let's
iqubic` has joined #nixos-chat
<bqv> but only on wednesdays
<infinisil> I mean one frequent gotcha with `with` is `{ lib, ... }: with lib; { <try to use options.nix.nixPath>; }` which fails with `options` does not contain the attribute `nix`
<infinisil> Solution is to use `{ options, lib, ... }:` instead
<cransom> what would be the pattern to replace a `with pkgs; [ hello bash ]`?
iqubic has quit [Ping timeout: 256 seconds]
<samueldr> imo it's fine since you're scoped to one expression
<sphalerite> > let a = "hello"; in let ${a} = "world"; in hello
<bqv> builtins.attrValues { inherit (pkgs) hello bash; }
<{^_^}> error: dynamic attributes not allowed in let at (string):315:21
<bqv> :p
<sphalerite> aww I thought that might work
<infinisil> cransom: Personally, I want to change environment.systemPackages to be an attribute set instead
<bqv> > builtins.attrValues { inherit (pkgs) hello bash; }
<{^_^}> [ <CODE> <CODE> ]
<bqv> lewd
<samueldr> what would an attribute set do better, infinisil?
<infinisil> Then you can do `environment.systemPackages = { inherit (pkgs) hello bash; }`
<samueldr> what about clashing attribute names?
<infinisil> Also, you can disable packages with `environment.systemPackages.bash = mkForce null`
<infinisil> samueldr: Use different ones, also prevents people from installing the same dependency twice
<LnL> hmm
<bqv> the package name doesn't have to match the attrname
<infinisil> Well unless they rename the attribute, which is then their conscious choice
<LnL> would [ inherit (pkgs) hello bash; ] be ambiguous?
<bqv> e.g. if this was done by switching out listOf with loaOf then they'd all just be item1 item2 item3... anyway
<bqv> or whatever the automatic naming thing is
<energizer> what's the problem with `with pkgs; [hello bash]`? isnt it unambiguous?
<bqv> i'm on infinisil's train now. mainly because i remember having to do some truly abhorrent hacks to pick the package i want out of a list
<bqv> which is not necessary if it's an attrset
<cransom> i was reading the conversation as 'with is completely evil', but i had to scroll back a little further that some are contending against with lib; with pkgs; as being the first lines. which i would agree, that would make life harder.
<energizer> yes, dont nest withs
<sphalerite> with import <nixpkgs> {}; with lib; with xorg; with kernel; with linuxPackages;
<samueldr> that's not even the point, I think, the point is more about scoping the `with` as narrowly as possible
<samueldr> yeah, I think people dealing in absolutes here isn't that helpful, parcimonious use of `with`, in a narrow scope, is plenty fine
<energizer> oh that's a good point samueldr
<sphalerite> yeah agreed
<samueldr> prepending `with something;` to the whole scope of your file is going to make it harder to reason about the file
<cransom> sphalerite: you forgot with pythonPackages;
<sphalerite> `with lib.types;` makes the more complex option type definitions a lot more comfortable
<sphalerite> cransom: oh yes and haskellPackages
<cransom> perlPackages!
drakonis has quit [Quit: WeeChat 2.8]
<sphalerite> texlive!
<energizer> narrowly-as-possible could be enforced by disallowing `with lib; pkgs.bash`
<energizer> `with` can only be used if all top-level names in the scope are using it
<sphalerite> energizer: by having with erase any parent scope?
<sphalerite> ooooh
<sphalerite> interesting.
<sphalerite> Very backwards-incompatible, but interesting.
<energizer> such as `with pkgs; [ bash python]`
<bqv> could replace non-unary lib.types members with continuations!
<adisbladis> OTOH what is with bringing to the table?
<bqv> lib.types.listOf (t: t.str)
<bqv> lib.types.listOf (t: t.attrsOf (t: t.str))
<bqv> no that's worse
<bqv> nevermind
<sphalerite> adisbladis: not having to write environment.systemPackages = [ pkgs.vim pkgs.firefox pkgs.zsh pkgs.nautilus ];
<energizer> [pkgs.python pkgs.bash pkgs.foo] gets old
<energizer> pkgs.[vim firefox nautilus]
<adisbladis> > takeAttrs = attrSet: attrs: map (x: attrSet.${x}) attrs
<{^_^}> takeAttrs defined
<adisbladis> > takeAttrs pkgs [ "hello" "python" ]
<{^_^}> [ <CODE> <CODE> ]
<sphalerite> I don't want to quote all the names
<cole-h> Now that is cool
<energizer> harder to lint that i think adisbladis
<cole-h> But yeah, what sphalerite said
<adisbladis> But imo the pkgs example is a bit contrived
<bqv> yeah i'm unhappy with strings
<sphalerite> I don't see how
<adisbladis> Without breaking the language I don't think there is much we can do to allow it "sanely"
<energizer> sphalerite: it's possible to avoid backward compatibility by replacing `with` with another keyword like `using`
<sphalerite> a with that completely replaces a parent scope would be cool though
<energizer> (incompatibilty
<sphalerite> energizer: but that doesn't solve the problem: with being awful :p
<energizer> sphalerite: just deprecate it without breaking it
<infinisil> We need some replacement for `with`, or make it not as awful
<infinisil> Can't just get rid of it
<adisbladis> I think we can
<infinisil> Well I guess it wouldn't be too bad actually
<adisbladis> Just ban it :P
<bqv> well it wouldn't be necessary with a nice healthy type system
<energizer> are there nix linters?
<bqv> does nix count?
<energizer> i suppose it does :)
<infinisil> Okay so `with` can be problematic when you have `let x = ...; with y; x` because it's easy to be confused where x should come from.
<infinisil> It can even be problematic with `{ z, ... }: with y; x`, because you might have expected x to be in the argument list, but it's instead coming from y
<infinisil> Can it be problematic if the file starts with `with { ... }`?
<infinisil> I guess it might not be problematic in that case, but `with` at the start of the file seems rather useless
<energizer> what does that do?
<infinisil> Although `with import <nixpkgs> {};` is a common pattern
<eyJhb> Is this the with debate again? :p
<adisbladis> > with { foo="baz"; }; with {foo="bar";}; foo
<{^_^}> "blablablabl"
<adisbladis> Ummm
<bqv> what
<LnL> haha :D
<adisbladis> > foo
<infinisil> adisbladis: (the bot has let definitions in scope)
<{^_^}> "blablablabl"
<samueldr> infinisil: I think you mean antipattern https://nix.dev/anti-patterns/language.html#with-expression
<bqv> oh wow
<adisbladis> Hahhaha
<bqv> sanity has left the building
<pistache> :D
<pistache> first laugh of the week for me
<bqv> it's thursday!
<adisbladis> > with { fooo="baz"; }; with {fooo="bar";}; fooo
<{^_^}> "bar"
<infinisil> samueldr: I mean it's not too bad if you don't have another with in the file, since you know that all identifiers without a `let` come from the initial `with`
<infinisil> I frequently use `with import <nixpkgs> {};` to test out something quickly
<adisbladis> > let fooo = "bar"; in with { fooo="baz"; }; fooo
<{^_^}> "bar"
<adisbladis> with is like... Super confusing.
<samueldr> sure, testing something quick it's fine, but I wouldn't commit code with non-narrow withs
<eyJhb> But useful at times, right?
<samueldr> (anymore)
<adisbladis> eyJhb: I'd say no.
<adisbladis> It's really not worth it.
<ldlework> i with builtins
<eyJhb> Though there is some REALLY bad naming in Nix because of it
<samueldr> only siths deal in absolutes (said like a true sith)
<ldlework> because why do i even have to do that
<ldlework> lol
<eyJhb> I guess in the whole big it isn't
<eyJhb> But holy hell some of the lib naming is bad
<infinisil> eyJhb: Like?
<ldlework> i really wish builtins were automatically with'd
<infinisil> ldlework: Some are!
<ldlework> right?! wtf?!
<infinisil> Like `map`, `fetchGit`, `fetchTarball`
<ldlework> as is, it's just a secondary mysterious lib
<eyJhb> e.g. lib.attrSets.zipAttrs, zipAttrsWith, etg.
<cole-h> and toString
<bqv> i hate this language :D
<ldlework> with a second documentation
<ldlework> lo
<energizer> so confusing infinisil
<eyJhb> Remove the Attrs, I am already working on attrsSets
<ldlework> i don't hate the language so much anymore
<eyJhb> I do not need the repetetive strings
<gchristensen> eyJhb: it used to be the lib was a big attribute set of all the functions, and it still is
<gchristensen> but you could get them with a more qualified name if you wanted
<bqv> my hate for nix follows a spiral trajectory. at first it was the bane of my life, then i grew to like it, now it flipflops based on the time of day
<cole-h> I wish Ratchet & Clank was on PC :(
<infinisil> Nix isn't perfect, but I still think it's a pretty nice language overall :)
<samueldr> cole-h: apparently pcsx2 is pretty good with it
<adisbladis> infinisil: Yes :)
<adisbladis> People look at me weird when I say I like it
<gchristensen> infinisil: me too
<cole-h> samueldr: But I want to play the new one coming out for the PS5 :(
<gchristensen> it was a nice baby's first FP
<bqv> i mean if the alternative is chicken scheme, i can understand liking it
<samueldr> cole-h: now you're being difficult
<samueldr> cole-h: we have $THING at home
<cole-h> samueldr: :D
<joepie91> samueldr: my experience with PCSX2 has been... different :P
<samueldr> I said *apparently*!
<joepie91> I actually bought a used PS2 almost specifically for Ratchet&Clank
<cole-h> samueldr: Man I just really wanna get a PlayStation because most of their games look fantastic
<joepie91> (they're not that expensive)
<samueldr> joepie91: I'm basing this off the last pcsx2 development update
<cole-h> But that's a pretty big chunk of change for an unemployed student...
<joepie91> ah, my testing was like a year ago
<bqv> i remember when running pcsx2 required a really high spec computer
<infinisil> What if we put together a Nix language committee, which gets together to create a standard for the Nix language
<samueldr> I still have my ps2, and have freemcboot so I don't have to buy overpriced used games
<joepie91> infinisil: ++
<samueldr> design by committee!
<infinisil> The standard Nix wouldn't be fully backwards compatible with current Nix, but we could eliminate all warts like this
parsley936 has quit [Remote host closed the connection]
<bqv> honestly i just want to see ptyx become a reality
<bqv> but i have no idea how to support that ideology
<bqv> effectively
parsley936 has joined #nixos-chat
<samueldr> bqv: might need some info about ptyx, searching about that term gives me nothing useful
<infinisil> Who would potentially want to be part of a Nix Language Standard Committee?
* infinisil lifts hand
<cole-h> Eelco
<cole-h> :P
<samueldr> oh well, it's even named from that poem that my search results were about lol
<bqv> i would consider it, but i'm hardly a nix person
<eyJhb> Ohh I hate phishing emails
<eyJhb> Especially company policy shit, with misinformation
<cransom> focus group to consider drafting a proposal to form a committee which may propose guidelines towards the next nix language evolution.
<eyJhb> gchristensen: So not possible to remove?
<eyJhb> *simplify
<bqv> in fact, if the language standard committee did have proper typing as at least a wishlist goal, i'd definitely be up for that
<infinisil> bqv: I don't think typing is realistic for Nix
<infinisil> Like, actually useful typing
<bqv> don't shatter my dreams like this
<infinisil> It would be very bolted on
<bqv> it worked for python :p
<bqv> (did it?)
<cole-h> For some definitions of "worked," probably
<bqv> :D
<energizer> it absolutely did, yes
<gchristensen> eyJhb: remove what?
<energizer> (not being facetious, mypy is good.)
<eyJhb> zipAttrs -> zip
<infinisil> Hm, I can maybe see a very simple type system being useful
<adisbladis> Mypy is an impressive feat
<infinisil> One that only has the primitive types
<infinisil> So no type for "an attribute that has the foo key", but just "an attribute set"
<infinisil> I guess the ones returned by builtins.typeOf
<gchristensen> oh so not as robust as python's type system
<bqv> surely with a proper overarching language committee it might be reasonable to have breaking changes, so it could be within scope to iterate slowly towards a more developed type system
<energizer> i'm not convinced that the goal of nixlang is sufficiently circumscribed. package definition is a different task from system configuration, and these two objectives have different language needs
<infinisil> bqv: I think a language standard committee should work towards making the language simpler, removing inconsistencies, slimming it down to what's really needed
<energizer> trying to do them both in one language might not be a good idea
<bqv> hmm
<gchristensen> I feel that defining a system and defining a package is remarkably similar
<infinisil> bqv: Though I guess I could see new features being a secondary goal after we got a core language defined
<bqv> there was a discussion on one of peti's streams the other day about rust being a suitable language for every scenario, maybe we should just see if we can make nix a rust target :p
<infinisil> I guess I don't really see Nix adapting new features, but maybe that's just because it's always been that way :P
<infinisil> bqv: You mean transpiling Nix -> Rust?
<infinisil> s/transpiling/compiling
<bqv> nah, using rust as nix
<gchristensen> nix is already a compiler
<infinisil> bqv: Sooo, you'd have to "compile" nixpkgs?
<bqv> llvm IR -> nix eval cache, perhaps
<bqv> infinisil: :D
<infinisil> Reminder that nixpkgs has 18035 Nix files
<infinisil> Wait that's a bit inflated
<bqv> in case it wasn't obvious i am being extremely facetious here
<DigitalKiwi> lol at rust being suitable for everything
<bqv> but people use rust for web apps these days
<bqv> i feel like it's not even that outlandish
<infinisil> Different languages for different needs
<infinisil> There can't be one for everything
<adisbladis> Don't you know PHP is the one true language
<bqv> i'm working on a kernel written in PHP
<bqv> it's gonna be tremendous
<gchristensen> bqv: then you will want to see my friend's port of systemd to php
<DigitalKiwi> this does look maybe cool though https://os.phil-opp.com/
<bqv> oh for the love of christ
<bqv> you're serious aren't you
<bqv> DigitalKiwi: https://www.redox-os.org/ this is probably more mature?
<bqv> haven't heard of your one
<DigitalKiwi> but why use rust when ats-lang exists
<cole-h> why use rust when assembly exists
<gchristensen> why use rust when Nixpkgs could be published as a PDF from LaTeX source describing the _idea_ of nixpkgs
<adisbladis> cole-h: Asking the real questions
<bqv> you're not thinking big enough. the entire global ecosystem of butterflies is actually the core of my microkernel
<DigitalKiwi> whoa gchristensen that's a bit too academic we're here for pragmatic solutions
<gchristensen> webassembly then
<bqv> lmao
<DigitalKiwi> bqv: that seems like a thing that exists but the first one is a fun thing that you can learn rust with
<adisbladis> Walk into a PL discussion, drop "webassembly" and leave
<bqv> oh, fair
<DigitalKiwi> is this when i lament that there's not yet afaik a good/feasible way to do that with haskell :(
<DigitalKiwi> why yes i think it is
<bqv> "that" being systems programming?
<bqv> i like the idea of a haskell kernel but only for the "wtf" factor
<DigitalKiwi> yes
<DigitalKiwi> a few people have done some work on it
<DigitalKiwi> and i think there's similar for ocaml and ats-lang?
<DigitalKiwi> like maybe even better
<bqv> oh hey, one of my uni lecturers is on the page for house
<bqv> which makes sense cause he's one of the founders of haskell
<bqv> that was always weird
<DigitalKiwi> who's your uni lecturer
<bqv> I went to Uni of York
<energizer> gchristensen: one significant difference i see between (my own usage of) packaging and configuring is that packaging needs fetchers
<samueldr> why the heck isn't this centered appropriately? it's not like it's hard to do layouts right with modern web https://stuff.samueldr.com/screenshots/2020/06/20200611182350_4nhg4i5svask8m6p72r.png
<samueldr> more and more every big sites look more and more amateurish full of trivial bugs unfixed
<bqv> energizer: that's something that could be encoded in a nested DSL
<bqv> think of it as configuring the package installation process
<DigitalKiwi> bqv: which lecturer though
<bqv> colin
<samueldr> DigitalKiwi: I don't think I need any of those :) I'm stating this *with* experience
<gchristensen> samueldr ugh.
<samueldr> like, I'm looking at $bigwebsite and it's always done in the worst way that'll cause so many issues
<samueldr> and also, soooooo many websites fail absurdly with non-integer scaling of pixels
<DigitalKiwi> bqv: ah ok
<DigitalKiwi> samueldr: no i mean look at how much there is. modern web dev is a mess
<samueldr> almost nothing in that is necessary lol
<DigitalKiwi> HOW CAN YOU BE A FULLSTACK DEVELOPER
<samueldr> first, by understanding there is no such thing as full stack developer
<adisbladis> DigitalKiwi: Hey, I implement bugs in all layers of the stack.
<samueldr> in fact, anything bootstrap 3 based (haven't verified 4) will have hilariously broken layouts at their breakpoints with non-integer scaling
<samueldr> not only bootstrap 3, anything that assumes they can do something like <969 >970 as a breakpoint
<samueldr> pro-tip: 969.5 falls in-between
<bqv> i was a full stack developer once
<samueldr> I think one of the main issues with fullstack development practices, is that "DOM" and "UX" has been forgotten, and left as an implementation detail
<bqv> it preceded a total mental breakdown :D
<DigitalKiwi> same, same
<samueldr> UX done by UI design people, and DOM by whoever is forced to implement it
<DigitalKiwi> lol burnout what's that
__monty__ has quit [Quit: leaving]
<adisbladis> Fun fact: "Full stackare" in Swedish is basically "drunk sod"
<Ashy> Jim Keller leaving Intel, wonder where he'll go next
<samueldr> adisbladis: full is drunk? is it full as in a loaned word, or a native word coincidentally meaning "full" too?
<joepie91> DigitalKiwi: a good rule of thumb is that actual full-stack developers do not call themselves fulll-stack developers, they are just "developersf"
<samueldr> I mean, I kinda assume this be cause "plein" which is the french for "full" can be used to describe someone that's drunk
<joepie91> developers*
<adisbladis> Yeah, full is drunk :)
<samueldr> joepie91: and often I've seen that those that are "actually full stack" know exactly where in the stack their limitations are
<bqv> which stack though
<samueldr> bqv: the full one
<samueldr> didn't you listen?
<joepie91> DigitalKiwi: also, that 'web skills' thing is nonsense
<bqv> ah, yes
<adisbladis> :D
<joepie91> it's just an enumeration of stuff you could use
<joepie91> and putting 'classes' under 'fundamentals' for javascript is, uh, kinda laughable :)
<samueldr> joepie91: CSS is { color: "#ff0000"; } in JS, now
<samueldr> so it makes sense that classes is under JS!
<samueldr> (OBVIOUSLY /S)
<joepie91> it also manages to list 4 different bundlers, of which two are pretty obscure, and none of them is the mother of all bundlers that remains the best option available today
<joepie91> so uh :P
<joepie91> this looks like a mix of the MDN sitemap and a "top 100 hackernews frontpage"
<joepie91> <samueldr> joepie91: and often I've seen that those that are "actually full stack" know exactly where in the stack their limitations are
<joepie91> right
<DigitalKiwi> joepie91: i know that's why it's funny
<DigitalKiwi> thx
<Shados> joepie91: ...rollup? Pretty sure I remember that being the best option last time I was poking web stuff.
<joepie91> Shados: it has never really been the best option. its claim to fame was "eliminates unnecessary exports!" which was already possible *without* rollup, rollup just had it as a default setting (and had various implementation errors in dealing with ESM that meant it produces non-standards-compliant code)
<joepie91> somewhat ironically the same way Webpack got popular; it didn't do anything actually better than Browserify, it just had different defaults
<joepie91> it seems that this is the origin story of almost every bundler since Browserify; someone did not understand the capabilities of the existing tools or found the API too awkward, and instead of rolling a small usability wrapper or contributing fixes... they just made a new bundler
<joepie91> like, whole fresh implementation from scratch
<joepie91> it's bizarre.
<Shados> To be fair, "fresh implementation from scratch" describes about 95% of the JS ecosystem
<joepie91> it doesn't really, though
<joepie91> a ton of things that look new are just composed of a lot of older parts
<joepie91> it's the same deal with task runners
<joepie91> but there's a weird obsession with specifically writing build tools from scratch
<joepie91> (though at least there's an excuse; none of the existing options actually work well, for varying "bad design" reasons)
<joepie91> anyway, frankly the only bundler worth caring about since Browserify is Parcel v2, since they've actually gone back to the drawing board, mapped out the problem space properly, drew up an RFC, sensible design, etc.
<joepie91> everything besides that is just a bad reinvention of already-solved problems
<infinisil> Hm, I guess programming is mostly just adjusting existing solutions to work with in the context of your project
<infinisil> Like, there's a million djikstra implementations, but if you wanted one in your new language, you need to implement that still
<joepie91> infinisil: I would slightly rephrase that into "assembling existing pieces to work within the context of your project"
<infinisil> Could there be an abstract "problem -> solution" description?
<joepie91> and sometimes you have to make your own pieces
<infinisil> Do you though?
<infinisil> If you had a knowledge base of everything somebody already solved in the past
<infinisil> The chance of you needing something new are very slim
<ashkitten> i don't understand bundlers
<joepie91> infinisil: I mean, that is *basically* the premise of npm
<ashkitten> like, why?
<bqv> ashkitten: you sound like you'd make a great web dev
<bqv> (not sarcasm)
<joepie91> and it is doing pretty well at that, but you still sometimes need to make your own things
<ashkitten> no
<joepie91> ashkitten: because browsers don't do modules (and never will performantly, due to inherent issues with network roundtrips), but you still want to be able to use modules
<joepie91> literally all a bundler is is "takes a codebase that uses modules, and turns it into one big JS file that can be shipped to a browser / database / other environment without a native module system"
<samueldr> it all depends how deep you want to go into the "scripting" pool, I guess
<samueldr> (I purposefully said "scripting" as you can end up doing not-javascript)
<ashkitten> joepie91: so it's a compiler, but for scripts?
<ashkitten> that sucks
<joepie91> ashkitten: no... "scripts" doesn't make sense as a descriptor to begin with, and it doesn't really transform the application code itself at all
<bqv> well it can
<bqv> with tree-shaking etc
<joepie91> it just wires it together slightly differently in a runtime pseudo-module-system
<ashkitten> okay
<ashkitten> that still sucks
<bqv> lmao
<joepie91> ashkitten: one sec
<ashkitten> just gimme rust in the browser without js shims, it's all statically compiled wasm no modules needed
iqubic` has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
<bqv> tbh i'd like that timeline
<ashkitten> hell, you could probably even compile js to wasm
<bqv> at least one part of the web trifecta of **** would be solved
<ashkitten> would that solve the need for a bundler that takes multiple gigabytes of ram and 15 minutes to run in order to "wire it all together slightly differently in a runtime pseudo-module-system"?
<joepie91> ashkitten: bundlers do not "take multiple gigabytes of ram and 15 minutes"
<bqv> it would solve the problem that caused the need for a bundler
<ashkitten> joepie91: tell that to mastodon
<bqv> lmao
<joepie91> ashkitten: if your bundling setup takes that long, it is likely because it is calling out to some external tool that takes a ton of time
<joepie91> bundlers are super simple conceptually
<Shados> yeah, they generally run in under a second
<bqv> presumably you want a bundler-minifier with tree-shaking
<bqv> that will not run in under a second
<ashkitten> joepie91: i had to upgrade the server running the masto instance i administrate, because i couldn't run rails assets:recompile while the server was running
<ashkitten> which is ridiculous
<bqv> just bundling would lead to stuff you really don't want being served in production
<joepie91> `browserify a.js > bundle.js`
<joepie91> bqv: tree shaking is *extremely* ovevalued
<joepie91> this is what a bundler does
<joepie91> overvalued(
<joepie91> gah
<joepie91> overvalued***
<bqv> )
<bqv> sorry, emacs was unhappy with that
<ashkitten> okay
<joepie91> ashkitten: right, I don't doubt that, but it almost certainly wasn't the involvement of a bundler that made that happen unless you ran into some *serious* bug
<bqv> minifying still requires parsing the bundled result, that can't necessarily always be fast
<joepie91> parsing JS is fast
<joepie91> it's more likely the optimization steps that are slow
<joepie91> but still shouldn't be 15-minutes-slow
<joepie91> I think I'll actually try and run the Mastodon asset recompile at some point because it has always boggled my mind how people managed to end up with 15 minute build times, and I've never been able to reproduce it in my own projects (which certainly don't lack in complexity)
<bqv> the reality is that it does, i remember situations where writing just small bits of purescript code i had the bundler take 3-4 minutes to produce a 1mb file
<joepie91> so if that's a reproducible case of this...
<joepie91> bqv: minifying absolutely should not take that long
<bqv> that's not a fault of purescript, nor were there any external processes
<Shados> uh
<Shados> Why were "small bits of purescript" producing 1mb of javascript? Does it have a runtime?
<bqv> nope
<bqv> well, yes and no
<bqv> but mostly no
<bqv> it's almost a literal translation but it comes with a standard library
<bqv> you can have a runtime *in* purescript
<bqv> (see halogen etc)
<ashkitten> joepie91: it's probably because mastodon sucks
<bqv> i imagine with mastodon it actually is running external things like image processors
<ashkitten> probably
<joepie91> https://abs.twimg.com/responsive-web/web/vendors~main.55bd4704.js is about 450KB - throwing it into https://xem.github.io/terser-online/ (in a browser!) takes about 10-20 seconds to re-minify here
<joepie91> which matches up much more closely with real-world minification runtimes I've seen; typical is 10-60 seconds for production bundles
<joepie91> occasionally 2 or 3 minutes for reaaaaaaally big bundles
<joepie91> but 1MB is definitely not reaaaaally big
<joepie91> (not after minification either)
<joepie91> so yeah, I don't know what Mastodon is doing that's taking so long...
<joepie91> but it's probably neither bundling nor minification :P
<ashkitten> ugh okay i just did a hack i think might work to make nix build mastodon, which is just moving the field resolution for kind-of from resolutions to dependencies
<joepie91> oh, exception case: unless they are using google's closure compiler crap in which case I 100% believe that it is spending all that time minifying
<ashkitten> i figure it'll do the same thing
<joepie91> closure compiler is... special. it has fairly crazy analysis capabilities, and it does produce very small bundles, but it's also well beyond the point of diminishing returns
<ashkitten> joepie91: okay but are you talking about speed or size
<ashkitten> because both matter in different ways
<joepie91> ashkitten: not entirely sure what that question is referring to - talking about speed or size where?
<ashkitten> nobody thinks about the people with slow internet
<ashkitten> joepie91: speed of execution, size of result
<joepie91> right, but in what context? I don't know what statement of mine this is supposed to attach to
<ashkitten> diminishing returns
<joepie91> I said a lot of things :p
<joepie91> oh, right
<ashkitten> you said both that it produces very small bundles but that it's beyond the point of diminishing returns, and those statements would seem to conflict
<joepie91> so the thing with closure compiler is that it used to have a serious advantage in resulting bundle size, and that justified the slow analysis speed to people... but other minifiers have pretty much caught up AFAIK without the minification speed penalty
<joepie91> so while I think CC still technically produces smaller bundles, I'm not sure the difference matters much, especially when you take into account other assets
<joepie91> (which very quickly outweigh JS)
<ashkitten> shame nobody uses progressive image encodings
<joepie91> and for that slightly smaller bundle size you are now looking at easily a 10x performance penalty
<joepie91> (in minification speed)
<bqv> nah, envrc doesn't fix my issue, still can't use shell.nix over tramp
<joepie91> at least last I looked at CC
<ashkitten> i've started encoding all my images as interlaced pngs, it's really neat
<joepie91> CC also has a bit of a habit of actually breaking code by over-eagerly trying to optimize stuff, which is another count against it
<bqv> oh the progressive png stuff is so cool
<bqv> i wish it was enforced by law
<joepie91> all of that plus the high build chain complexity makes CC not a great option in most cases
<ashkitten> i heard that theres some new browser api or whatever to support having progressive images in some ridiculous overengineered way, where you actually have to generate all stages of your image separately
<bqv> exectutive order? *looks at trump*
<joepie91> ashkitten: thinking of <picture> or srcset?
<ashkitten> joepie91: probably
<DigitalKiwi> 23:19 ashkitten: nobody thinks about the people with slow internet
<ashkitten> but pngs have supported that natively in the format itself
<ashkitten> for so long
<DigitalKiwi> my site loads over dial up in like 6-16 seconds
<DigitalKiwi> :D
<ashkitten> my site doesn't exist
<ashkitten> i let the domain expire
<DigitalKiwi> oh no
<ashkitten> on purpose
<ashkitten> i dont care about having an online presence
<bqv> well aren't we a bucket of sunshine
<joepie91> ashkitten: also, possibly useful as a reference: https://gist.github.com/joepie91/3381ce7f92dec7a1e622538980c0c43d
<ashkitten> on another note we're finally getting around to setting up the server we've had on our coffee table for a year
<joepie91> work in progress though
<ashkitten> gonna slot in some ssds
<ashkitten> move all my stuff to it
<ashkitten> gonna be great
<samueldr> there's no 56kbps setting on the firefox throttling options, but it's 15s on "regular 2G", with ~0.5s for the page, the rest for images, for mobile nixos' homepage (on which I should begin thinking about paginating the news items)
<joepie91> infinisil: also, to return to my earlier comment for a bit: https://github.com/sindresorhus/ama/issues/10#issuecomment-117766328
<ashkitten> which is good because uh, my current server hosted by kimsufi has such slow disks half my systemd services time out on a reboot
<joepie91> samueldr: I've always wondered why there is no 56k option
<ashkitten> i think that might be partly due to the ashift on those disks not being correct
<samueldr> and it's apparently not configurable, that's annoying
<samueldr> probably some mindset of sillycon valley
<samueldr> it's surprising there's still GPRS and 2G though
<samueldr> (in that mindset)
<joepie91> that's why it doesn't make sense to me :P
<samueldr> chrome's configurable
<Shados> ashkitten: ZFS should pick the correct ashift pretty much *always*, unless you set up the pool a good 5-6 years ago
<ashkitten> Shados: it's ashift=9, very possible that the disks are lying about their native block size
<ashkitten> i've heard extremely varying opinions about whether or not zfs picks the right ashift
<ashkitten> and the common advice is that too high is much better than too low
<Shados> Yeah, many do. ZoL ships with a whitelist of lying drives, which at this point is pretty complete.
<ashkitten> shrug
<Shados> It *used* to be a major issue during the initial move to 512b sector drives because the whitelist didn't exist or was incomplete, but again that was years back
<ashkitten> either way my disks are way too slow
<ashkitten> so it'll be a nice upgrade to have ssds
<ashkitten> (and be on hardware i own)
<Shados> bleh, *from 512b
<Shados> but yeah, kimsufi drives are notoriously often ancient and slow
<ashkitten> i'll probably end up getting some cheap 1TB ssds
<samueldr> peculiar
<samueldr> all my content blocker extensions seem to have stopped working
<samueldr> on firefox
<samueldr> they are loaded, I see the "block element" of µblock, but they are as good as neutered
<samueldr> and unsurprisingly: wow the web without a blocker is horrible
bqv has quit [Remote host closed the connection]
bqv has joined #nixos-chat
<joepie91> samueldr: oh, then your extension process crashed
<joepie91> restart firefox and it'll work again
<samueldr> other extensions are seemingly ok :/
<samueldr> only blockers seem affected
<samueldr> (but yeah, I'm restarting firefox)
<joepie91> it's specifically the page-injected stuff that breaks then I believe
<samueldr> I have a page-injected extension working fine :)
<samueldr> that's why I'm puzzled
<joepie91> not all of the extension code actually runs in the extension process afaik
<joepie91> hm, weird
<samueldr> annoying that there's no "your extension crashed" like on chrome
<joepie91> yeah
<samueldr> and yeah, a restart fixed it
<joepie91> Firefox generally has some work to where robustness is concerned
<joepie91> try having a buggy GPU
<joepie91> it's a nightmare :P
<samueldr> I won't
<samueldr> if that's okay with you
<samueldr> I have enough of buggy $everything here
<joepie91> there'll just be constant broken pipes to the GPU process in your logs with no indication in the UI other than all pages suddenly staying blank and all UI non-interactive, as if it's just about to start doing something but won't
<joepie91> heh
<joepie91> well actually it was probably the mobo bug
drakonis has joined #nixos-chat
<joepie91> the same one that led to me running anything other than `radeon` resulting in memory corruption
<joepie91> that only took me a few months to track down
<joepie91> apparently Something about the mobo was fucked and when dynamic power management on either the CPU or the GPU was enabled, it would randomly overrun GPU-allocated buffers in RAM
bqv has quit [Ping timeout: 260 seconds]
<joepie91> far as I can tell the allocation strategy in `radeon` was different enough that those overruns would fuck up other GPU buffers and that was not a big deal, just some visual corruption
<joepie91> err, sorry, it was fglrx, not radeon
<joepie91> amdgpu, amdgpu-pro, and radeon however... those would result in it overrunning random chunks of system memory, sometimes application, sometimes kernel
bqv has joined #nixos-chat
<joepie91> so you get all the symptoms of a bad RAM stick but with none of the reproducibility in memtest
drakonis_ has quit [Ping timeout: 272 seconds]
<joepie91> ANYWAY the only way to run without memory corruption was to disable power scaling for the CPU in the BIOS and for the GPU in the kernel boot flags, and that only worked with `radeon`
<joepie91> so that was fun
<joepie91> samueldr: so yes I would strongly recommend NOT having that if you value your time and sanity :D
<ashkitten> it's very weird having the process of updating my system be exactly the same as updating a codebase's dependencies
<ashkitten> but it's also very cool that i basically know that if i can build the new system it'll almost always work when deployed
<danderson> joepie91: which motherboard is this? Asking for a me so I don't buy it :)
<joepie91> danderson: unless you were planning on buying an AM3 space heater, I wouldn't worry about it :P
<danderson> ah, AM3. Yeah, I'm good :P
<danderson> at this point if I decide on a new build, it'll be AM4 or sTRX4, depending on how poor I'm feeling
<joepie91> but it was the ASRock 970 Pro3 R2.0
<joepie91> to my amazement, the damn thing is still being sold
<joepie91> which apparently had (obscurely) known compatibility issues with AMD GPUs