gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
sorki is now known as srk
<gchristensen> https://www.instagram.com/p/CMXrlh9nT0V/ sigh, this place is ridiculous
<cole-h> is that the real yo-yo ma tho
<gchristensen> yes
<gchristensen> lol
<cole-h> that's pretty cool
<gchristensen> I was doing yoga on the lawn at Tanglewood one morning and he showed up to practice
<cole-h> that would be fun
<gchristensen> it was pretty rad
dadada_ has quit [Quit: WeeChat 2.9]
dadada_ has joined #nixos-chat
<cole-h> I have to say
<cole-h> the best part of openzfs 2.0
<cole-h> is being able to `man zfs-mount` etc
<cole-h> instead of `man zfs` and then searching for `zfs mount`
<ldlework> If you guys are interested in a project Yo Yo Ma was part of that I cherish, it's called The Goat Rodeo
<ldlework> Some incredible music came out of that
<lovesegfault> God, RGB is such a mess
<lovesegfault> I can choose between rainbow disco insanity and color gradient insanity
<lovesegfault> no "just one color please thank you"
<colemickens> siraben: you can still manually verify gomuks tho
<colemickens> use /fingerprint
hodapp has quit [Ping timeout: 256 seconds]
<elvishjerricco> colemickens: I saw some people actually kinda mad about that man page change because it means they can't just search one document for something whose location they don't know
<supersandro2000> man -K zfs mount?
<samueldr> I just love how NixOS makes complex systems a trivial joke
<samueldr> I need a one-off system to boot from to do something, so I "just" co-opted the minimal iso builder, composed my required config on top of it, and there I have a usb drive which took me 10 minutes to craft
<samueldr> ready to boot that one-off system
<supersandro2000> and that I can replace coreutils with uutils-coreutils and test if it works building stdenv things
<aaronjanse> siraben more specifically, use /fingerprint then "verify by text" on another matrix client
<aaronjanse> supersandro2000 please tell me how if you end up doing that
<supersandro2000> aaronjanse: well, I am multi level deep right now
<supersandro2000> but when I got it I will tell you
<aaronjanse> Ty!
<supersandro2000> but basically I want to create a new stdenv which you can use instead of the default one
<supersandro2000> and coreutils in their is replaced
<aaronjanse> Yep
<aaronjanse> samueldr ikr. And it's super nice to be able to try out complex things without worrying about messing up your system
supersandro2000 has quit [Disconnected by services]
supersandro2000 has joined #nixos-chat
<cole-h> elvishjerricco: (pinged wrong Cole again :D)
<cole-h> elvishjerricco: Those people are wrong. If you have subcommands, you should have a separate manpage for each...
<supersandro2000> if the command is zfs-mount then the man page is zfs-mount
<supersandro2000> if it is zfs mound zfs-mount man page makes not that much sense
<supersandro2000> but man pages have tab completion so you will notice it
<supersandro2000> git does that, too
rajivr has joined #nixos-chat
<cole-h> I disagree that it doesn't make sense. I want focused information for a specific subcommand, not all subcommands where I have to guess if what I'm looking at is for the subcommand I'm interested in or not
<gchristensen> `man zfs mount` works
<cole-h> now it does
<samueldr> it defers to `$1-$2` when $1 is not a valid "topic"
<samueldr> >> By default, man will try to interpret pairs of manual page names given on the command line as equivalent to a single manual page name containing a hyphen or an underscore. This supports the common pattern of programs that implement a number of subcommands, allowing them to provide manual pages for each that can be accessed using similar syntax as would be used to invoke the subcommands themselves.
<samueldr> $1_$2 too!
<samueldr> I guess that's an extension, though, from the man in use
<supersandro2000> I think I found a good solution to keep track o PRs and which ones need to wait for feedback from maintainers etc
<supersandro2000> nextcloud tasks fits almost perfect. If I can get the automation to set the date automatically in a week I am happy
<samueldr> be mindful, if you're proposing changes to speak in #nixos-dev :)
<samueldr> ah
<samueldr> then you're not!
<supersandro2000> just something for me because people want me to wait a while but I will never look at the PR in a week or so
<supersandro2000> not without something that reminds me
<supersandro2000> I thought to suggest adding a github app for that (might anyway) but that spams the thread
<samueldr> no worries, I was preemptively writing but got proven wrong :)
<supersandro2000> no problem
<supersandro2000> I would still like to remember maintainers that never respond or have no problems when other people update their package
<gchristensen> that sounds like a good idea
<supersandro2000> well, GitHub should over something like that by default
<supersandro2000> for me personally that would be way more useful then paid vscode in the browser or package registries very little people use
<supersandro2000> also it shouldn't take that much to develop
<siraben> supersandro2000: oh nice, let me know how the new uutils-based stdenv goes
<lovesegfault> hm, do we have docs on packaging binary crap that deals with opengl?
<supersandro2000> siraben: I am currently trying to remove all references to coreutils-gnu
<supersandro2000> and I just realized that uutils-coreutils references coreutils-gnu so I need to rebuild the stdenv at least twice
<siraben> gomuks does look kinda bleh with a white background
<siraben> supersandro2000: I see
<supersandro2000> maybe I shouldn't try to make it pure for now
<gchristensen> I can't wait for apple to kill print drivers ffs
<supersandro2000> it is not very obvious that these are different stdenv.cc.bintools.expand-response-params != stdenv.cc.bintools.expandResponseParams
<siraben> * gchristensen: what's Apple doing about print drivers?
<lovesegfault> what's up with modern high-end GPUs only having one HDMI port :(
<samueldr> I assume it's about the proprietary airprint protocol?
<supersandro2000> ladies and gents, it is done: https://github.com/NixOS/nixpkgs/pull/116274
<{^_^}> #116274 (by SuperSandro2000, 2 minutes ago, open): stdenv: add uutils-coreutils stdenv
<lovesegfault> supersandro2000++
<{^_^}> supersandro2000's karma got increased to 36
<lovesegfault> Really cool
<supersandro2000> thanks
<supersandro2000> I tried compiling python which fails in configure ๐Ÿ˜ฅ
<colemickens> cc: siraben
<cole-h> lovesegfault: display port is the future
<cole-h> probably
<colemickens> supersandro2000++
<{^_^}> supersandro2000's karma got increased!
<siraben> ugh airprint
<siraben> supersandro2000++
<{^_^}> supersandro2000's karma got increased to 38
<supersandro2000> it seems like autoconf does not work under certain circumstances
<samueldr> oh no
<samueldr> I have two notifications "in 16 minutes"
<samueldr> timezones are hard
<cole-h> probably relies on some quirks of the implementation
<samueldr> cole-h: feature!
<cole-h> "feature"
<samueldr> not a quirk, a feature!
<lovesegfault> does anyone here know why home-manager makes the waybar config a list of submodule? O.o
<samueldr> (not a bug, a feature!)
<lovesegfault> really weird design choice
<cole-h> You can fix that ;)
ajs124 has quit [Quit: Bridge terminating on SIGTERM]
das_j has quit [Quit: Bridge terminating on SIGTERM]
<lovesegfault> I'm doing it right now :P
das_j has joined #nixos-chat
ajs124 has joined #nixos-chat
<supersandro2000> I think I just found a bug in uutils cat ๐Ÿ˜‚
<supersandro2000> no nvm
<lovesegfault> TIL about lib.flip
* cole-h searches it up
<lovesegfault> it serves to make the waybar nix code reaaaaaally confusing
<lovesegfault> Okay, I might just give up on it
<cole-h> haha
<lovesegfault> I do not understand this nix
<lovesegfault> oh, I got it!
<lovesegfault> I think
<lovesegfault> I just got rid of all the flips and that helped the good ole brain
<supersandro2000> and found the first real bug
<supersandro2000> mktemp -d
<supersandro2000> mktemp: No such file or directory (os error 2): /build
<supersandro2000> aka env-var hardcoded those to the sandbox path
<{^_^}> nix-community/home-manager#1861 (by lovesegfault, 33 seconds ago, open): waybar: make settings a submodule
<supersandro2000> escape sequences are hard https://github.com/uutils/coreutils/issues/1817
<{^_^}> uutils/coreutils#1817 (by SuperSandro2000, 20 seconds ago, open): tr does not handle escape sequences correct
<cole-h> s/$/ly/ that issue title ;)
<aaronjanse> supersandro2000: How can I try out your PR?
<lovesegfault> aaronjanse: o/
<lovesegfault> cole-h: do you know if there's some way to override a flake input?
<cole-h> `--override-input input-path flake-url`
<aaronjanse> Hello lovesegfault!
<lovesegfault> aaronjanse: did you catch my msg earlier?
<supersandro2000> aaronjanse: github has an open with on the right next to edit
<supersandro2000> and I'll add the command to the PR
<aaronjanse> I didn't... until now. No way!! I'm in San Jose right now, but I'd love to get some food some time!
<lovesegfault> Nice! My wife just graduated from UCB :)
<aaronjanse> That's great
<lovesegfault> Are the classes ever going back to in-person?
<aaronjanse> How long will you be in Berkeley? I might be willing to drive up there soon, but in a few months hopefully more people will be vaccinated, so covid-19 stuff will be less of an issue
<aaronjanse> Gosh, I hope so
<lovesegfault> Oh, idk for how long, I live here! :P
<aaronjanse> Heh
<lovesegfault> until my lease ends in ~10 months :D
<aaronjanse> Oh awesome. We definitely gotta get some food before then
<aaronjanse> I think we'll have some in-person classes next semester. It's unclear when large classes will be in-person
<lovesegfault> Me and a few folks from the rust community also do volunteer gardening in the berkeley hills trails on saturdays
<aaronjanse> Also, thank you supersandro2000
<lovesegfault> idk if you're a rustacean or not
<aaronjanse> Oooooh
<supersandro2000> aaronjanse: your welcome
<aaronjanse> I'm definitely a Rustacean https://github.com/nix-community/redoxpkgs
<lovesegfault> a few = me and two others; me, manishearth, and sunjay
<aaronjanse> Sounds fun
<cole-h> You get to hang with manish? That's cool!
* cole-h always read their handle as "man is earth" lol
<cole-h> *man is hearth
<lovesegfault> yeah, every saturday it's work-outside-time
<ashkitten> cole-h: i usually read it as "man is hearth"
<ashkitten> which is a nice sentiment
maljub01 has quit [Quit: maljub01]
<cole-h> yeah I typoed -- I do the same hehe
<aaronjanse> lovesegfault: I'd be down to join some time. Sounds great
<lovesegfault> aaronjanse: I'll PM you my phone no, feel free to hit me on signal if you're ever in Berkeley
<aaronjanse> Awesome, will do
<hexa-> Dhcpcd Will Need a New Maintainer - https://roy.marples.name/archives/dhcpcd-discuss/0003457.html
<hexa-> Awwhh fck
<lovesegfault> Oh damn :(
<lovesegfault> > As this list is shutting down, sadly so am I.
<{^_^}> error: syntax error, unexpected ',', expecting ')', at (string):489:30
<lovesegfault> this really hit me
maljub01 has joined #nixos-chat
njha[m] has joined #nixos-chat
<aaronjanse> Hello njha!
<njha[m]> Hello!
<aaronjanse> Yeah, and it really hurt to see that the dhcpcd maintainer was so hopeful at first
tomberek has joined #nixos-chat
slack1256 has quit [Ping timeout: 260 seconds]
<lovesegfault> cole-h: Are you using systemd-cat for sway?
<cole-h> lovesegfault: indeed I am
* cole-h pushes
<lovesegfault> is your config out-of-date? :P
<lovesegfault> I was looking just now
<lovesegfault> does this work for you at all?
<cole-h> idk, maybe it used to
<cole-h> Active: inactive (dead)
<cole-h> ah, that was from when I was on arch lol
<cole-h> (I can tell because of the LD_LIBRARY_PATH stuff I needed for opengl to work)
<lovesegfault> Ah :D
<lovesegfault> that's good b/c I couldn't get that to work
<cole-h> ;d
<lovesegfault> does this do what I think it does?
<cole-h> yes
<cole-h> it boots my win10 vm :P
<lovesegfault> Ah, nothing fancier like starting it in fullscreen mode on that tty or something like that
<cole-h> uh
<cole-h> not quite
<cole-h> I mean technically
<cole-h> I use gpu passthrough so I can game with near-native performance :P
<cole-h> (so, it unbinds my gpu from linux so it can be used by qemu / libvirtd)
<lovesegfault> Ah, I see
<lovesegfault> Nice
<lovesegfault> unfortunately this system only has one GPU
<cole-h> so does mine :)
<cole-h> that's why I do it from tty
<lovesegfault> huh
<cole-h> since I have to end all graphics stuff anyways
<lovesegfault> so you exit sway, swap to tty5 and that's windows
<cole-h> yeppers
<lovesegfault> then when you're done you... what? shutdown the system and you're back in the tty?
<cole-h> yep
<lovesegfault> that's... pretty effing cool
* lovesegfault steals it
<cole-h> when I'm around, I'll gladly answer questions; if I'm not on IRC, feel free to DM on birdsite
<lovesegfault> Will do :D
<veleiro> ok cole-h that's just insane talk, but high marks to you!
<cole-h> hehe
<cole-h> that was like 90% the reason I switched to linux lol
<cole-h> "I can game AND use Linux without rebooting?!"
<cole-h> (back when Linux gaming was meh)
<veleiro> well ive been fighting with wine for many years, its cool, proton definitely an upgrade
<veleiro> but man i'm so lazy at trying to solve the togetherness of these systems
<veleiro> rebooting to windows to play GMDXx10, homeworld remastered just sucks
<lovesegfault> IIRC someone unborked proton on NixOS recently?
<veleiro> lutris doesnt solve anything either, and thats a huge reason to why i migrated to nix about 2 years ago
<veleiro> i was writing yaml scripts to lutris, a few successful, and then i encountered free software versions of some games like VCMI, openxcom, openmw all decided to use different ways of packaging software
<veleiro> so lutris's way of solving it was just copy the .tar.gz release to their servers
<{^_^}> lutris/lutris#666 (by aszlig, 3 years ago, closed): Integrate Nix into Lutris
<veleiro> lovesegfault: honestly its still all a mess, and that's the core problem. no standard way to solve problems and once you solve them will they be solved forever?
<cole-h> Before heading to bed I just want to say: I hate DST. Losing an hour of sleep >:(
<veleiro> lol
<veleiro> just be forward all the time
<cole-h> I wish
<aaronjanse> Very cool cole-h
cole-h has quit [Ping timeout: 256 seconds]
<siraben> aaronjanse: are you still using gomuks?
<siraben> Maybe I need to customize it a bit more but there's some annoyances like
<siraben> join/leave msgs make the channel name appear as unread
<siraben> Hm E2E chats still don't load
<aaronjanse> You probably need to transfer e2e keys or somehow verify gomuks or something
<aaronjanse> For the moment I'm back to Element
waleee-cl has quit [Quit: Connection closed for inactivity]
<siraben> huh that reaction didn't appear correctly lol
<siraben> I guess /react ๐Ÿ‘ didn't do the right thing, but it means you can react any text?
<siraben> wild
<jD91mZM2> Hey, so remember a while ago I was asking for Firefox site-specific browsers? Well, I solved it: Make a new profile with userChrome.css that hides the navigation bar. Easily done with home-manager :D
<aaronjanse> Hello jD91mZM2!! It's been a while!
<aaronjanse> Ooooh. Is this for working around Firefox getting rid of SSBs?
patagonicus has quit [Ping timeout: 264 seconds]
<siraben> This is what I do:
Patagonicus-web has joined #nixos-chat
<Patagonicus-web> Interesting. My The Lounge installation lost its connection to Freenode and fails to reconnect. I didn't even touch that VM when it happend.
<aaronjanse> Ah, maybe I should start using home-manager again. Right now I'm doing almost all of my customization via wrappers. jD91mZM2 watched me slaughter my modular dotfiles, turning them into what they are now
<aaronjanse> Huh, that's weird. I haven't had that happen before on The Lounge
<Patagonicus-web> Ok, it's something with the networking, it's not just IRC that's broken. Something something virsh and nixos-rebuild?
patagonicus has joined #nixos-chat
<patagonicus> Rebooting the VM host helped, for whatever reason.
Patagonicus-web has quit [Quit: Connection closed]
<aaronjanse> Weird
patagonicus has quit [Quit: The Lounge - https://thelounge.chat]
patagonicus has joined #nixos-chat
<veleiro> home-manager is awesome but nixos+home-manager with a single rebuild is even better, who whats 2 different states of a system when you can share a single one?
<veleiro> s/who whats 2/ who wants 2
<aaronjanse> Oh ofc. When I used home-manager, I did it via a nixos module :-)
patagonicus has quit [Ping timeout: 260 seconds]
FRidh has joined #nixos-chat
patagonicus has joined #nixos-chat
<patagonicus> Fun. Seems to have been caused by a nixpkgs upgrade. But rebooting either to the old or the new system is fine.
<patagonicus> And now my ACME cert renewals are failing. Sigh.
<lovesegfault> it's funny to me how some things are really easy for me to express with nix, and then other, seemingly just-as-simple, things are super hard
<patagonicus> This is weird. The acme module is trying to chown the .well-known directory for the web challenges, but it's running as `acme`, not as `root`, so it's failing. Not really sure how that's supposed to work.
<{^_^}> #115976 (by bjornfor, 2 days ago, open): [20.09] nixos/acme regression: chown: Operation not permitted
<DigitalKiwi> lovesegfault: it's incredibly funny trying to explain that to people when something they think should take 2 minutes (and if you weren't using nix it would; but then you'd pay the time you 'saved' back later with dividends...) takes 2 hours lol :(
<lovesegfault> Yeah :/
<lovesegfault> DigitalKiwi: this was me subtexting my question in #home-manager btw
<DigitalKiwi> nix: causes all of my problems; also nix; solves all of them
<DigitalKiwi> my latest concoction is a bash script that searches through my logs for any invocations of ghcWithPackages, makes a list of all of the packages, filters out ones that don't work, adds in ones that were invoked with 'ghcWith.sh add pkg', and any that are 'ghcWith.sh pkg' are added for this run only
<siraben> lol
<patagonicus> Oh, haskell. I'm currently rewriting nix-diff so I don't need haskell on my armv7 machines, because compiling ghc alone takes 24h or so.
<aaronjanse> Uh oh. My laptop won't boot. "invalid configuration information - please run setup program"
<aaronjanse> I enabled plymouth then had to force-shutdown because I couldn't enter in my disk decryption password
<aaronjanse> If dell's recovery thing wipes my decryption keys...... I'm gonna be really bummed
<aaronjanse> > can't import zzroot: no such pool available
<{^_^}> error: syntax error, unexpected ':', expecting ')', at (string):489:20
<aaronjanse> Oh boy, now a kernel panic
<siraben> aaronjanse: is it working now?
<aaronjanse> Nope
<aaronjanse> A ubuntu live usb won't even show my disk
<aaronjanse> And I've tried a bunch of different nixos generations, with no success
<aaronjanse> My plan is to go to bed and debug in the morning. I hope this doesn't mean lost data, since I rewrote ~1k lines of Rust a couple days ago and haven't pushed to GitHub yet
<siraben> every day nixpkgs gets bigger and bigger
<ehmry> it makes we wonder if it is viable to split the toolchains into a lower repo and the applications and nixos into a higher repo, not unlike how we direct things to staging or master
<siraben> monorepos are sexy but they can be slow to work with sometimes
<siraben> how do you bisect a repo with submodules anyway? with nixpkgs I can easily run bisect over 15K commits like I did in #107358
<{^_^}> https://github.com/NixOS/nixpkgs/issues/107358 (by siraben, 11 weeks ago, closed): haskellPackages.apecs-gloss fails to build
<patagonicus> I'd bisect the main repo to figure out which submodule update caused the problem, then bisect the submodule individually. But it's more complicated than with a monorepo.
<patagonicus> I honestly like nixpkgs being a single repo, although it does mean that git can get slow sometimes.
LnL has joined #nixos-chat
<gchristensen> siraben: they're getting rid of them
<joepie91> samueldr: curiosity question... concretely speaking, what does "porting Linux to an Android phone involve" in the worst case? in terms of work that needs to be done, etc.
<siraben> gchristensen: who's getting rid of what?
<gchristensen> 02:45 <siraben> * gchristensen: what's Apple doing about print drivers?
<siraben> Ah. Is that a good thing?
<gchristensen> yes :)
<siraben> What would be used instead?
<siraben> CUPS drivers?
<gchristensen> nope, standard protocols
<siraben> Interesting. What's the situation on iOS?
<gchristensen> (CUPS is an Apple project)
<siraben> Dang I haven't anything in a while
<siraben> printed anything*
<gchristensen> yeah, so it pretty much just works
aminechikhaoui has joined #nixos-chat
<gchristensen> cups drivers were actually random executables you'd download from the internet and cups would execute
<gchristensen> surprise surprise, this is why it is so fruitful to pollute the "printer driver xxxmodel" keywords with fake drivers
<siraben> lol
<gchristensen> my neighbor decided to call me at 6:30 this morning, the morning of a time change where we lost 1h (feels like 5:30am) and ... :|
<patagonicus> For me that would already be weird at "my neighbor decided to call me". Or even just "decided to call me".
<andi-> It always tells me something then graham posts on IRC before I am out of bed.
<andi-> s/then/when/
<infinisil> Oh wow, I dreamed about Pi!
<infinisil> Needed the digits for something, so I went to the wiki page for it!
<infinisil> (This is amazing because today is Pi day!)
<DigitalKiwi> thanks for saying that because it's my best friends birthday and i wasn't looking at the calendar
<DigitalKiwi> i know what date his birthday is but i do not know what the current date is most of the time >.>
<infinisil> :D
<gchristensen> andi-: that we're both on a great timezone?
<andi-> haha
kraem1 has quit [Ping timeout: 245 seconds]
FRidh has quit [Ping timeout: 245 seconds]
FRidh has joined #nixos-chat
kraem1 has joined #nixos-chat
__monty__ has joined #nixos-chat
lunc has quit [Ping timeout: 260 seconds]
lunc has joined #nixos-chat
supersandro2000 has quit [Quit: Ping timeout (120 seconds)]
dottedmag has quit [Quit: QUIT]
dottedmag has joined #nixos-chat
dottedmag has joined #nixos-chat
dottedmag has quit [Changing host]
supersandro2000 has joined #nixos-chat
<patagonicus> Since someone mentioned how some stuff takes forever with nix: I just spent over an hour extracting the borgbackup jobs out of one machines config into a module. So far it does exactly what it did before, but now I can more easily set up backups to the same host on other machines. :)
julm has quit [Ping timeout: 260 seconds]
julm has joined #nixos-chat
julm has quit [Client Quit]
julm has joined #nixos-chat
patagonicus2 has joined #nixos-chat
patagonicus2 has quit [Client Quit]
patagonicus2 has joined #nixos-chat
patagonicus has quit [Ping timeout: 246 seconds]
<gchristensen> sigh. I got so close to reserving a vaccine, but then my tab reloader plugin reloaded and I lost it
<gchristensen> cursed by my own ingenuity!
patagonicus2 is now known as patagonicus
patagonicus has quit [Quit: The Lounge - https://thelounge.chat]
patagonicus has joined #nixos-chat
slack1256 has joined #nixos-chat
julm has quit [Ping timeout: 245 seconds]
julm has joined #nixos-chat
<patagonicus> I wonder if I'm doing something suboptimal because nix is using >800MB RAM to evaluate my system config.
<gchristensen> nixos just takes a lot of ram to evaluate :(
<patagonicus> Maybe I need to actually look at migrating to a better rented server so I can throw more RAM at the VMs. :D
<DigitalKiwi> can you throw more ram at my computer
<patagonicus> Oh, actually, zram might be a not-terrible solution for my problem.
<slack1256> I just let it swap onto a big swapfile.
<patagonicus> And of course NixOS has zram swap support built in. :)
<patagonicus> slack1256: That's slow on spinning disks and I don't have anything better on that machine.
<patagonicus> Oh. Ouch. I forgot an "-A" so it was evaluating all of <nixpkgs/nixos>, not just config.system.build.toplevel. The correct command uses almost as much RAM, but at least it's faster.
<gchristensen> ouch hehe
cole-h has joined #nixos-chat
<DigitalKiwi> i think we should make every developer use a 10 year old laptop with cooling issues, battery about to explode, and 4GB of ram, and everything they work on has to be built locally
<DigitalKiwi> we'll see how long it takes before they start writing programs that don't assume everyone has a different brand new 14k super computer that only runs one program at a time
<slack1256> patagonicus: It is slow but at least I can nixos-rebuild my system :-/
<DigitalKiwi> everyone always talks about how much power bitcoin miners use but i want some numbers on how making billions of devices run as shit as possible uses :/
<gchristensen> and the power consumption of 10 year old laptops with cooling issues
<FRidh> and the power consumption when rebuilding the stdenv for the 12th time in a weekend :(
<gchristensen> it isn't nothing
<gchristensen> FRidh: do you need a big server to work with?
<FRidh> gchristensen: thank you but no need for that.
<FRidh> its just slow because many parts cannot be build in parallel
<DigitalKiwi> gchristensen: they have to sit their laptop on their lap top so they'll know that it gets hot!
<DigitalKiwi> FRidh: but does your computer crash and lockup several hundred times this year :(
<FRidh> DigitalKiwi: no, but it does keep running out of file descriptors when building with nix, causing builds to cancel. The tmp builds are then not cancelled and then after a while builds cancel because tmp is full
<DigitalKiwi> of the 225 coredumps this year i have still looks like 13 of them are nix lol
<DigitalKiwi> and it'll lock up for like 10-20 minutes at a time i can't even ssh or switch ttys :/
<DigitalKiwi> "you're awful, i <3 you (nix)"
waleee-cl has joined #nixos-chat
<__monty__> I'd like stats on when the tipping point is of using old/less efficient hardware v. ecological impact of tossing it.
<siraben> how to flakeify my home-manager config?
<__monty__> DigitalKiwi: The only way I manage on really old hardware is by using slightly less old hardware as a remote builder. Though I've recently hit a roadblock.
<DigitalKiwi> i don't even have that old of hardware i think? lol
<DigitalKiwi> OWC Aura Pro X2 1TB NVMe SSD Upgrade for Mac Pro (Late 2013)
<DigitalKiwi> that's not even the least powerful or oldest compputer i use lol
<siraben> DigitalKiwi: fellow MBP user?
<siraben> late 2014 here
<gchristensen> 2x 2013's here, but one has a bum fan
<DigitalKiwi> and until like ...the beginning of this year it was working fine i think i just hit some kernel bugs and nix getting sloppy
FRidh has quit [Ping timeout: 246 seconds]
FRidh has joined #nixos-chat
<ehmry> aaronjanse: are you using julia+nixos?
rajivr has quit [Quit: Connection closed for inactivity]
<veleiro> its so funny that all of the nix generators for language package or project management exist
<veleiro> there are no nix2poetry
<ehmry> aaronjanse: I want some do some maths in a repl, but I'm not sure what is least painful, python, r, or julia
<gchristensen> veleiro: poetry2nix
<gchristensen> it is arguably one of the best tools for integrating nix + a language
<veleiro> really okay that's the second someone said that just now
<__monty__> How manual is the poetry2nix setup packaging side?
<__monty__> Does it simply support everything from PyPI?
<f0x> ehmry: there's also sagemath (and for basic stuff, qalc)
<FRidh> __monty__: it comes with a significant amount of overrides for the complicate packages (like in nixpkgs). Others work mostly just fine
<ehmry> f0x: I'm looking for something that does finance
<f0x> for what kind of calculations? qalc does do a bit of that
<ehmry> nothing too complicated, maybe qalc would do it
<f0x> (โ‚ฌ1 + $1) to eur
<f0x> (EUR ร— 1) + (USD ร— 1) โ‰ˆ โ‚ฌ1.838012235
<f0x> etc
<ehmry> I can python a bit so sagemath looks pretty good
<__monty__> FRidh: Thanks.
<supersandro2000> that moment when you are doing treewide changes and yacc is in a hash...
<supersandro2000> and that two times! What are the chances of that
<adisbladis> gchristensen: You're making me blush :)
<adisbladis> __monty__: Most packages should "just work"
<adisbladis> But you may need to add some overrides for things depending on native code
<samueldr> joepie91: in the worse case, writing every driver from scratch because no source code was made available (illegal!) by the OEM
<samueldr> so at that point you're better off porting to mainline rather than "rehydrate" a vendor kernel
<samueldr> though sometimes you can get 90% of the way there by spying at the device tree and searching for kernel modules in existing released kernel source trees
<samueldr> (apparently)
<samueldr> thouhg, with github search removing all "unpopular" repos, that's bound to stop being a thing that will be possible
<drakonis> https://nixos.org/explore.html the cartoon lion is so weird
<supersandro2000> at least his leg is behind the table now
<drakonis> the octopus is cool tho
aleph- has quit [Ping timeout: 276 seconds]
aleph- has joined #nixos-chat
<__monty__> adisbladis: And it only relies on your deps being on PyPI, right?
<adisbladis> __monty__: Yes (well, you can also install from git or whatever)
slack1256 has quit [Ping timeout: 256 seconds]
aleph- has quit [Ping timeout: 260 seconds]
aleph- has joined #nixos-chat
<__monty__> adisbladis: And such packages don't have to have a poetry file in the repo or anything? Nice.
FRidh has quit [Quit: Konversation terminated!]
<veleiro> oh nice, poetry to nix is flakey
<joepie91> samueldr: and how would one figure out how to write such a driver?
<Ke> hackerman theme intensifies
<samueldr> joepie91: the same way one would write a kernel driver normally
<samueldr> (not helpful!)
<joepie91> samueldr: right, I'm mainly wondering about the "figuring out how the fuck the hardware works" part :P
<Ke> ie. by opening the source file with ed, the standard editor
<samueldr> e.g. gather intelligence about the hardware, datasheets, existing drivers, RE them (clean room is a must!)
<joepie91> mm right
<joepie91> I was hoping for a magical shortcut :P
<samueldr> I don't know of any :(
<joepie91> alright, thanks :)
<samueldr> but sometimes a close cousin hardware thing has an existing driver
<joepie91> that makes sense
<samueldr> which may help, or not, depending :)
<samueldr> btw, I'm not really the best person to ask for kernel development (yet)
<samueldr> but I'm adjacent enough that I think my answers are all mostly right
<aleph-> Hmm neat, switching to kresd for dns somehow brought down my network...
<joepie91> samueldr: yeah hence the question, I tend to find $thing-adjacent answers more useful than $thing-expert answers since the latter tend to speak 50% jargon :P
<samueldr> I have a phone without a kernel tree, which is why I searched the topic already
<samueldr> and some mediatek-based kernel trees around are made the way I described, search compatible drivers from other kernels
<samueldr> and rehydrate from a kernel for a close enough device
<samueldr> though for my own, there were too many missing components when I last looked
<samueldr> so I threw the towel
<Ke> postmarketOS people seem to do things like these all the time
<samueldr> yeah, that's where I got that info
<samueldr> I had hoped for at least the display to have a driver, to have a good starting point
<samueldr> but IIRC there was nothing
<Ke> probably not very effective use of time
<samueldr> I guess it depends on luck
<samueldr> it would be nice to have a bit database of known kernel source trees
<samueldr> with drivers
<Ke> not sure, if we would have things like amdgpu without ineffective use of time
<samueldr> so you can plog a dtb, and it scans for plausible matches for drivers
<Ke> heh
<samueldr> even for trees from OEM it may be useful
<samueldr> e.g. look at the different foobar,baz kernel module implementations
<samueldr> maybe there are bug fixes!
<joepie91> samueldr: dtb?
<Ke> aren't OEM trees normally just plain GPL2
<samueldr> device tree binary
<joepie91> ah right
<samueldr> basically a description of hardware things
<samueldr> Ke: yers
<samueldr> yes*
<samueldr> they have to
<samueldr> because of the GPL
<joepie91> samueldr: where would the data for such a search originate from?
<samueldr> the issue is that each device generally gets it own unique tree
<samueldr> joepie91: "such a search" can you elaborate?
<Ke> sure
<joepie91> samueldr: the "plop in dtb, get likely matches" idea
<samueldr> ah
<samueldr> the dtb file would be part of the boot image, which is part of the rom file
<samueldr> that's the needle
<Ke> samueldr: I think he means the database of kernel trees
<joepie91> and the haystack?
<samueldr> was writing about the haystack :)
<Ke> or not, can only fail communications
<samueldr> the haystacks, would be in theory โˆž checkouts of OEM trees, finding the unique strings
<joepie91> (I'm asking because I'm working on a specialized search engine project and this seems like a potentially interesting thing to try out)
<samueldr> github, before they broke their search, was a haystack source
<joepie91> "unique strings" such as?
<samueldr> joepie91: can you give me like 10-15 minutes? I'll show an example
<joepie91> sure :)
<samueldr> I think I still have notes from that time
<joepie91> I'm not in a hurry :P was just asking questions to give direction to the question
<samueldr> I need to figure out on which computer it is
<Ke> anyway vendor tree code may be of very bad quality, if you want your forward port to be useful you should mainline it with a lot of work
<samueldr> Ke: even if bad quality, it's a known somewhat working starting point
<Ke> yes, it's a workable thing
<samueldr> and yes, generally it's not mainline-ready
<samueldr> you'll have to "translate" to a proper driver
<samueldr> the things I've seen in bad OEM trees
<Ke> it's not the bad quality, but what's funniest imo is the fact that many companies seem to think almost any hack is competitive advantage
<samueldr> oh, it's *also* the bad quality
<Ke> like the company that did not want to share busybox sources
<Ke> well sure
<samueldr> so, joepie91, there are two ways I found good results, there's the chaotic good, and lawful good methods
<Ke> I am having hard time imagine what sort of company loses competitive advantage with busybox source share
<Ke> and generally the industrial espionage does not seem to cover reading existing documentation for things
<joepie91> :')
<samueldr> reminds me of alcatel (TCL really) saying they don't ship software on their phones
<samueldr> oops
<samueldr> I won't have a good chaotic good way to show in the end
<samueldr> the strings file is too big for gist
<samueldr> the chaotic good method is to run `strings` against the (uncompressed) kernel
<joepie91> https://0x0.st/ ?
<samueldr> it'll be too big to be useful on any host :)
<samueldr> I should have been more precise, gist is fine
<joepie91> 512MB
<samueldr> browsers are bad at rendering too much text in my experience
<joepie91> right :P
<samueldr> (and strangely becoming worse)
<samueldr> so with `strings` you can find "useful" strings
<joepie91> but yeah, proceed :)
<samueldr> e.g. /home2/project2/o1/20190909_c223v37m_dfl/android/alps/kernel-3.18/drivers/misc/mediatek/sensors-1.0/magnetometer/mag_factory.c
<samueldr> 20190909_c223v37m_dfl <- here I assume/know c223v37m_dfl is the internal codename for the device
<samueldr> this gives me a path for *something*
<samueldr> I can search for this path and hopefully find plausible matche for the driver
<samueldr> similarly, I could run `dmesg` on the phone, or find strings in the binary
<joepie91> and that's for establishing the needle, right?
<samueldr> yes
<samueldr> that's the chaotic method
<samueldr> the more typos there are, the more unique the string is, the better the matches
<samueldr> the "lawful good" is to decompile the dtb, find "compatible" strings https://gist.github.com/samueldr/668c54e945f9e02165ffd585edf4e031#file-jellyprom-dts-L3810
<samueldr> find matching drivers
<joepie91> those are the formal driver names?
<samueldr> "compatible" is how the kernel matches up drivers to a device tree node
<samueldr> but sometimes the "compatible" names in vendor kernels could be generic for something that has a wildly different driver
<samueldr> so you have to guesstimate a lot
<joepie91> I see
<samueldr> something useful also is knowing the "origin" kernel version
<samueldr> e.g. here I know it's 3.18.79 "alps-mp-n0"
<samueldr> IIRC "alps" is something from mediatek
<samueldr> I don't remember what though
<joepie91> it feels like this search process is at least partly automatable
<samueldr> so yeah, ALPS is a bit like qualcomm's CAF maybe
<samueldr> CAF is Code Aurora Forums
<samueldr> CAF is where qualcomm puts their source for their SoCs
<samueldr> from there ODMs and OEMs start, and further customize / bastardize the kernel
<joepie91> right
<samueldr> and yes, with the right tooling it's highly possible there's lots more to do to help automate
<samueldr> it would be of some value
<samueldr> at least to ensure the phone people already owns can be made useful
<samueldr> the "chaotic good" method with strings, I was able to use with a phone for which I had a kernel dump without history
<samueldr> to synthesize a change log from the original CAF tag
<samueldr> I looked at the diff, searched through github for the strings being modified for other kernels, find an origin commit, `cherry-pick` it, rinse and repeat
<samueldr> if you look at the commits, on page2, there's a lot of cherryp-picked commits
<samueldr> doing so, in theory, should make it possible to transplant the changes strictly required for the device on a more up-to-date tag from the CAF release
<joepie91> samueldr: mainly what I'm thinking of here in terms of automation is "locating a relevant source tree", ie. indexing known kernel repositories and then letting you upload a dtb or whatever and it automagically producing a list of relevant kernel repos
<joepie91> for the different devicesa
<joepie91> devices*
<samueldr> joepie91: one big issue here would be we'd need to index all branches
<samueldr> which github doesn't do
<samueldr> and all forks
<joepie91> yes, I'm talking custom indexing architecture :P
<samueldr> e.g. any for of `torvalds/linux` isn't indexed :<
<joepie91> no dependency on github search
<samueldr> yeah, I was warning that we need more data :
<samueldr> :)*
<joepie91> samueldr: for aforementioned specialized-search-engine project I've been working on a scraping system/framework/thing of sorts that makes it very fast to build custom scrapers for this sort of thing, and index it all
<joepie91> so I'm interested in these sorts of usecases, which are poorly supported with current search tools
<joepie91> and which require custom indexing/scraping to be useful
<joepie91> so the actual "doing the indexing" is not likely to be the problem, the main challenge is finding a good way to enumerate data sources
<samueldr> likely you want all forks and all branches, maybe all tags, for everything where the origin repo has "Linux kernel release" in the start of their README?
<joepie91> yeah, probably, the main question is "how do I find all of those repos"
<joepie91> in particular those which are not forks
<samueldr> github search! oh wait
<joepie91> :)
<samueldr> ask me last year and it would be the answer!
<joepie91> nah, then your answer might've been "github works fine, no need for a custom thing"! :P
<samueldr> nothing except github indexes github
<samueldr> oh no
<samueldr> github didn't work fine
<samueldr> it was passable to give a good approximation
<joepie91> lol
<samueldr> but lacking branches and forks is not good
<joepie91> but yeah I might end up having to do a full user/project scrape of github
<samueldr> e.g. look at my repo
<samueldr> it's a fork!
<samueldr> it has branches1
<samueldr> how do you even do a full user scrape?
<joepie91> following user references in issues, commits, etc.
<joepie91> traversing the complete graph
<samueldr> yeesh, that will miss a lot of the big things unless you enumerate all github links
<samueldr> e.g. xiaomi open source does not participate in github
<samueldr> though I guess people forked them
<joepie91> yeah that would be one discovery vector
<samueldr> enumerate all github users using their incrementing user id?
<joepie91> wait, is that possible?
<samueldr> I don't know!
<samueldr> I was wondering the same
<samueldr> uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuh
<lovesegfault> Where do y'all get wallpapers from?
<joepie91> lol
<joepie91> well that answers that
<lovesegfault> I need some 4K ones
<joepie91> > Note: Pagination is powered exclusively by the since parameter. Use the Link header to get the URL for the next page of users.
<{^_^}> error: syntax error, unexpected ')', expecting ID or OR_KW or DOLLAR_CURLY or '"', at (string):490:1
<joepie91> I can work with that
<joepie91> that's basically what I've been doing for gitlab
<samueldr> joepie91: or else https://api.github.com/users/1
<joepie91> rate limits are gonna be a pain though
<samueldr> oh, no, /1 is not right
<samueldr> sorry
<samueldr> though yes, API limits are going to be fun!
<samueldr> octokit in ruby is nice because it has a nice pattern built-in to allow waiting
<joepie91> oh it's not the rate limiting that's a problem, I have that
<joepie91> it's the actual rate itself :P
<samueldr> yeah
<joepie91> enumerating 'all of github' is gonna take a whilke
<joepie91> while*
<samueldr> oh
<samueldr> start from one of those old dumps?
<joepie91> > For unauthenticated requests, the rate limit allows for up to 60 requests per hour. Unauthenticated requests are associated with the originating IP address, and not the user making requests.
<{^_^}> error: syntax error, unexpected ',', expecting ')', at (string):489:29
<joepie91> > For API requests using Basic Authentication or OAuth, you can make up to 5,000 requests per hour.
<{^_^}> error: syntax error, unexpected ',', expecting ')', at (string):489:53
<joepie91> samueldr: hmm, such as?
<joepie91> because I can definitely do that
<samueldr> the "github public dataset" in BigQuery?
<samueldr> I don't know enough about BigQuery
<samueldr> I don't know if it's still up to date
<joepie91> I also know nothing about bigquery :P
<joepie91> 100 users per page and 5000 requests per hour when authenticated, means I can at least discover about 500k users per hour
<joepie91> Last updated: 13/09/2019
<samueldr> that can give you important info, like how many github users there are
<samueldr> well, a lower bound
<ashkitten> it's unfortunate that it's only github, but eh idk how they'd do it otherwise
<joepie91> right
<samueldr> yeah, I believe that's github giving that info
<samueldr> but also yes, gitlab would need to be trawled through too
<samueldr> and I saw sourceforge holds alcatel's dumps as zips!
<samueldr> I know asus gives zips (not in a normalized manner) on their driver site
<samueldr> samsung has a weird site for kernels
<samueldr> motorola and xiaomi use github
<ashkitten> i wonder if it would be easier once there's a common federated git forge protocol
<samueldr> the google cloud console is completely broken for me, I cannot even start playing with the data :/
<samueldr> ashkitten: that'd leave out the data for existing non-federated repos :(
<joepie91> it's mostly just buggy for me
<samueldr> it continuously redirects me to the page to enable big query
<joepie91> wonder whether google will ever fix their totally broken account selector
<ashkitten> does "git forge" even make sense since git uses a toilet as its analogy?
<samueldr> but it's already enabled
<joepie91> anyway, thanks, might have a look at that
<samueldr> and yeah, as I was mostly saying, it'd need more than strictly github, and git repos
<joepie91> yep
<samueldr> razer ships their zips on a developer site
<joepie91> which just so happens to be what I designed my scraping thing for :D
<joepie91> ... which is currently broken, so
<joepie91> lol
<samueldr> joepie91: interesting bits of data to be able to filter for/against, optionally, would be the kernel release it's based on (e.g. 3.10)
<samueldr> because you might be interested to see if there's a newer release supporting the specific hardware
<samueldr> or want to match with the right release
<joepie91> samueldr: I'll definitely ping you if/when I decide to work on this, to discuss what features would be most useful :)
<joepie91> at this point it's mainly "is this viable"
<samueldr> I guess that would akin to adding metadata to the whole revision "datum"
<samueldr> would be akin to*
<joepie91> as a general rule, if data exists within the scraped object, I can index it
<joepie91> so if the kernel tree contains a version number in a predictable place then yep, I can make an extraction task for that and have some UI for filtering by it
<samueldr> would the project serve the data too? like make an archive of the datum (e.g. revisions)?
<joepie91> I guess that's a safe thing to do for GPL'd sources :P
<joepie91> so yes, probably will, if I can make it work out storage-wise
tomberek has quit [Ping timeout: 240 seconds]
<aaronjanse> ehmry: Yep, I'm still using Julia on NixOS. I highly recommend Julia
<aaronjanse> You can try out my Julia (with a pre-compiled sysimage) via `nix shell github:aaronjanse/dotfiles#julia`
<aaronjanse> Note that it takes a long time to build
<pie_> Why does archwiki limit viewin the edit history to logged in people? 0.o
<aaronjanse> Also ehmry : I recommend Julia because 1) its syntax is terse and good for math 2) it's pretty fast, meaning I can brute-force stuff I don't understand 3) it has great libraries for math and plotting 4) it has *great* interop with Python, translating between python and julia data structures without copying them in memory (because no translation happens at all; Julia understands the memory representation of Python data
<aaronjanse> structures)
<lovesegfault> julia is cool
<lovesegfault> the language is a bit weird
<lovesegfault> but it's cool
<aaronjanse> Some libraries to check out: Optim, HypothesisTests, Distributions, Plots, SymPy.jl https://mth229.github.io/symbolic.html
<pie_> random: did you know gdb can understand python too
<pie_> (well if you import the right thing IIRC)
<aaronjanse> Oooh, TIL
<aaronjanse> (side note, uh oh, do I show up as literal "random" on IRC?)
<pie_> and by that i mean can debug python with backtraces and stuff, thres also python support in gdb which is something else
<pie_> like, you can script it with python
<pie_> which is how gef works
<aaronjanse> Pretty cool
<{^_^}> #48809 (by CMCDragonkai, 2 years ago, open): Getting Python Extensions to GDB
<aaronjanse> Oooh
<aaronjanse> Btw lovesegfault I agree that the language can be weird. I have a short thing in my startup.jl that lets me do stuff like `1:10 |> map[x->x^2] |> filter[x->x%2 == 0]`. 1-indexing has been less weird than I expected
<aaronjanse> I'm in the process of setting up Julia as my default shell (instead of zsh)
<lovesegfault> honestly it's probably easier to set up julia as your shell than to learn how to write good shell code :P
<lovesegfault> so much annoying trickery
<aaronjanse> Ahahaha, yeah
<aaronjanse> I was gonna do Elvish/Fish/Nushell/etc but I think that if I want to process structured data, I should just use a normal programming language (e.g. julia, python)
<aaronjanse> 99% of my shell history is just `cargo run`, and maybe a few commands with pipes (especially piping to `wc -l`)
<__monty__> Fish's take on history completion is so good though.
<aaronjanse> Definitely. It parses man pages, right?
<__monty__> *History* completion.
<aaronjanse> (side note siraben: I managed to get my laptop working! My BIOS settings were somehow reset, putting my nvme into raid mode, which Linux cannot interface with for my drive)
<aaronjanse> Huh
<aaronjanse> Where can I read about this history completion
<aaronjanse> *?
<__monty__> It's not something you can understand by reading. I haven't found any article that does it justice.
<lovesegfault> Fish is amazing with completion
<lovesegfault> and it's a nicer language than bash
* lovesegfault ponders all the sunken cost he's put into bash
<aaronjanse> I currently have zsh setup to mimic fish. I'm mimicing the fish path shortening thing, and I have the thing where I press right arrow to complete a word/line from history. And fzf for fuzzy search
<aaronjanse> Fish is pretty cool
<__monty__> I looked into replicating fish's history completion in zsh, functionality wise not UI wise and did not succeed.
__monty__ has quit [Quit: leaving]
<ldlework> aaronjanse: I too emulate fish's completion and history with zsh
<ldlework> pretty sure the packages for that are even in nixpkgs
slack1256 has joined #nixos-chat
tomberek has joined #nixos-chat
* colemickens mutters something about crypto apps and electron :|
<abathur> not at all convinced crypto won't end up being the paperclip-maximizer
<joepie91> oof
<aaronjanse> "Machines terraform North America in a race to find an even lower sha1 hash"
<abathur> it won't even be like that
<samueldr> who knew the paperclip maximizer that would end us would be worse than the actual paperclip maximizer
<samueldr> at least with the paperclip maximizer, you have... paperclips...
<abathur> with an AI in charge of optimizing the position of your solar array, you have no sun
<abathur> well
<samueldr> dyson sphere!
<abathur> *we* have no sun
<aaronjanse> Solar panels have lots of sun
<abathur> indeed
<abathur> especially once the AI is able to order more solar panels from other AIs with crypto
<abathur> when we finally have the sense to recoil in horror, it'll just buy the dip
<joepie91> abathur: I wasn't planning on sleeping tonight anyway
<abathur> <3 joepie91
<{^_^}> joepie91's karma got increased to 22.00000000000001
<aaronjanse> This is why we shouldn't be using Rust. We're making ourselves vulnerable my writing memory-safe, resilient software
<joepie91> ๐Ÿคจ
<aaronjanse> Ooh I want 0.00000000000001 karma