gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
aanderse has quit [Ping timeout: 252 seconds]
aanderse has joined #nixos-chat
<ajs124> have you met my friend "infinite recursion encountered, at undefined position"? every time I meet him, I feel like I did something very wrong :'(
<gchristensen> he and I go way back
<gchristensen> I couldn't even tell you where I first met him.
<ajs124> I'm sure you met him in some undefined location. As one does.
<ashkitten> spoopy
<ashkitten> also ugh, nix should be able to tell you more about what's wrong in the trace
<gchristensen> if you can minimize the expression causing the problem and report a bug, that would be really good
* ashkitten thinks about trying guix again
<samueldr> there's this one that's a good head scratcher
<samueldr> > (a: a) 1
<{^_^}> error: syntax error, unexpected $undefined, expecting ')', at (string):255:7
<gchristensen> O.o
<ajs124> gchristensen: maybe later. What I did was basically try to build a system with system = x86_64-linux-musl, which is apparently not a good idea.
<ashkitten> it should be a good idea
<gchristensen> it is certainly a cute idea, I'm not sure about a good idea :P
<ajs124> :P I just wanted to see what would happen. https://gist.github.com/ajs124/3f146b413dc83735298186c6d2cdad99
<ajs124> I assumed it would fail to compile more or less instantly, but I expected it to evaluate, for some reason.
jasongrossman has joined #nixos-chat
jasongrossman has quit [Remote host closed the connection]
jasongrossman has joined #nixos-chat
buckley310 has quit [Quit: leaving]
buckley310 has joined #nixos-chat
webster23 has quit [Ping timeout: 250 seconds]
Guanin has quit [Remote host closed the connection]
jasongrossman has quit [Ping timeout: 245 seconds]
jasongrossman has joined #nixos-chat
magnetophon has joined #nixos-chat
<ashkitten> nix can't build things with distcc, can it?
endformationage has quit [Quit: WeeChat 2.5]
<sphalerite> ashkitten: not usefully, since network access requires the derivations to be fixed-output
<sphalerite> ashkitten: well, you could disable the sandbox, but that allows a whole new nasty set of impurities so you probably don't want to do that.
jasongrossman has quit [Ping timeout: 248 seconds]
* etu is testing some zfs locally with image files as devices
<etu> this is a cool filesystem
<etu> I'm starting to grasp why people like it
Drakonis has quit [Quit: WeeChat 2.4]
jasongrossman has joined #nixos-chat
<ashkitten> sphalerite: we're gonna have a compile cluster with 480 threads but i'm not sure we can get nix-daemon working on it because it'll be composed of a bunch of intel pcie cards running a weird embedded linux
<ashkitten> i wonder if gchristensen would know
<ashkitten> hmm
<ashkitten> how could i get a persistent container for another distro?
<sphalerite> ashkitten: what do you mean?
<sphalerite> A container running a different distro on top of nixos?
<ashkitten> yeah
<sphalerite> for debian-likes, using debootstrap
<sphalerite> you can boot it using systemd-nspawn
<ashkitten> hmm
<ashkitten> how about arch?
<sphalerite> idk, how do you install arch on hardware?
<sphalerite> after partitioning
<ashkitten> lol idk i havent done it in years
<ashkitten> this isnt super critical anyways so whatev
<andi-> there is pacstrap IIRC which is the deboostrap equivalent of arch
<sphalerite> oh yeah that sounds familiar
<sphalerite> not that I've ever installed arch, I went straight from debian to nixos :p
magnetophon has quit [Ping timeout: 246 seconds]
magnetophon has joined #nixos-chat
__monty__ has joined #nixos-chat
jasongrossman has quit [Quit: ERC (IRC client for Emacs 26.2)]
<ashkitten> finally looked into why my zpool is so unreasonably big. apparently i had a 851GiB .local/share/Trash i had no idea existed? unfortunately due to snapshots i have to wait a year for that space to be reclaimed
<sphalerite> ouch
<gchristensen> ashkitten: oh man, a machineloaded up with those heptaconta phis?
<ashkitten> idk what they're called, my gf is looking into them
<ashkitten> i really wanna get nix-daemon running on it
<ashkitten> but she says it might not even support the syscalls i need...
Guanin has joined #nixos-chat
magnetophon has quit [Ping timeout: 248 seconds]
webster23 has joined #nixos-chat
pie_ has quit [Ping timeout: 276 seconds]
pie_ has joined #nixos-chat
pie_ has quit [Remote host closed the connection]
pie_ has joined #nixos-chat
pie_ has quit [Remote host closed the connection]
pie_ has joined #nixos-chat
__monty__ has quit [Ping timeout: 248 seconds]
magnetophon has joined #nixos-chat
__monty__ has joined #nixos-chat
<__monty__> Looking for more opinions on translating config files into nix or just having nix/home-manager put dotfiles in place?
magnetophon has quit [Read error: Connection reset by peer]
magnetophon has joined #nixos-chat
jasongrossman has joined #nixos-chat
aminechikhaoui has quit [Quit: The Lounge - https://thelounge.github.io]
aminechikhaoui has joined #nixos-chat
magnetophon has quit [Ping timeout: 246 seconds]
<kraem> ashkitten: i'm currently trying to figure out why my zfs pool is full even though i deleted files from the filesystem. is that because of, like you said, that the snapshots are holding the deleted data?
<kraem> nvm - that was the exact problem - fixed by removing some snapshots :)
Drakonis has joined #nixos-chat
waleee-cl has joined #nixos-chat
__monty__ has quit [Ping timeout: 245 seconds]
__monty__ has joined #nixos-chat
magnetophon has joined #nixos-chat
magnetophon has quit [Ping timeout: 244 seconds]
magnetophon has joined #nixos-chat
endformationage has joined #nixos-chat
<infinisil> ,ping
<{^_^}> pong
__monty__ has quit [Ping timeout: 245 seconds]
__monty__ has joined #nixos-chat
<kraem> hey i've been wondering how some distributions can ship with zfs support built in when it is said that the GPLv2 and CDDL can't be combined?
clever has quit [Ping timeout: 272 seconds]
<samueldr> AFAIUI one of the reason it happens is because there is no case *against* doing it, and law AFAIUI works on precedents being set
<samueldr> and then the other reason AFAIUI is not that CDDL forbids it, but the GPLv2 is incompatible with the CDDL, not sure though what it means in the end
<samueldr> so, the ZFS project, and even Oracle, don't have any beef with this, which I guess would be the likely litigious party?
<kraem> ah i thought that could be one reason. some distros are just more willing to try and see the outcome..
<samueldr> AFAIK one reason nixos does it is because of the precedent set by ubuntu doing it
<kraem> i think that they are incompatible in the way that CDDL does not necessarily require to modified versions must be under the same license as GPL requires that?
<kraem> yeah makes sense - so cool nixos is willing to be avant garde and offer zfs though :)
<__monty__> samueldr: That's a very US/UK-centric view of law.
<samueldr> yes definitely
<samueldr> I was answering with the existing knowledge on the situation
<samueldr> and global law is hard
<samueldr> (with _my_ existing knowledge)
<samueldr> at least we're not stuck with galaxy or universal law yet
<samueldr> also note that both licenses AFAIK were written by american entities, which may or may not be relevant for interpretation
<samueldr> (FSF, Sun)
<kraem> in what other ways would law work? just curios
<adisbladis> samueldr: [re precendets] That's a feature of common law. Not civil law.
<adisbladis> It's mostly old commonwealth countries having common law
<samueldr> right
<gchristensen> kraem: one of the restriction of the GPL requires that anything that comes with it must have exact versions ,source, and build instructions available
<gchristensen> kraem: there is a lot of debate about the specifics, and I'm no lawyer. but every NixOS install image comes with exactly all of the instructions needed to build *everythingg*, so we can ship it and remaining compliant is automatic.
<gchristensen> this is as far I understood it, anyway, from the discussions of when we turned it on.
<adisbladis> I think we're in the wrong turning it on but IANAL
<gchristensen> samueldr: wow, I didn't know the oceans were under Jewish law
<kraem> gchristensen: ah interesting
<samueldr> shouldn't it be the law of the sea?
<gchristensen> Jewish Law is white *shrug*
<samueldr> yes :)
<samueldr> I understood the joke
<kraem> that's cool - didn't know about the distinction between common and civil law
<gchristensen> oh)
* kraem finds another internet rabbit hole
<__monty__> How can a map be so EU centrict as to incept it?
<gchristensen> I very badly need to configure one of my servers as a 0.0.0/0 wireguard VPN
<kraem> ah now i get why i was confused by common vs civil law and was wondering what the difference was between them. in sweden we have civil law *with* case law (from common) apparently.
Jackneill has joined #nixos-chat
<__monty__> Hmm, what is 0.0.0.0 again?
<gchristensen> 0.0.0.0/0 is a CIDR address with a mask of 0, meaning the entire IPv4 network space
<__monty__> But what would it achieve? Route all global traffic through your vpn?
<gchristensen> yes
<__monty__> Hmm, this sounds like a sensible argument to me: https://blog.hansenpartnership.com/are-gplv2-and-cddl-incompatible/
<__monty__> TLDR, if you adhere to GPLv2 compliance they're not incompatible.
<gchristensen> mixing the CDDL and GPL does not violate the CDDL, the concern is around violating the GPL
<__monty__> Yep, but it doesn't if you comply to GPLv2 for all the code.
<gchristensen> and build instructions
<samueldr> https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/ the SFC thinks that there might be a difference between source and binary distribution
<__monty__> Which in a distro you would since you provide all the build instructions, presumably. Which is the missing bit for CDDL code to be considered GPLv2, right?
<__monty__> The build instructions ARE part of the GPLv2 compliance. That's the point.
<samueldr> (tell that to android and embedded OEMs *grumbles*)
<__monty__> samueldr: Well, they're free to violate any license they want if they feel it outweighs the risk.
<samueldr> yeah
<__monty__> Don't like it either though.
Jackneill has quit [Remote host closed the connection]
waleee-cl has quit [Quit: Connection closed for inactivity]
<gchristensen> this is so cool. when I started using NixOS, googling / ddg was not helpful for a lot. look at all these links! https://duckduckgo.com/?q=nixos+wireguard+vpn
<eyJhb> I am so, so dead. Anyone thinking about kayaking, be flexible.. Do yoga.. Else it will hurt, a lot
<joepie91> heh
<eyJhb> 16 hours for the certification, and soooo many rescue situation. I am so dead
<kraem> i can imagine :)
<elvishjerricco> Is there a more convenient way to sudo pipe to a file? I usually just do `| sudo tee foo > /dev/null`
<__monty__> eyJhb: Is it because of the twisting you need to do when you keel over?
<gchristensen> elvishjerricco: I often use sponge for that in moreutils
<gchristensen> but, eh, I don't think so :)
<__monty__> gchristensen: Would the 0.0.0.0 vpn just be a single exit for your LAN?
<__monty__> +1 for moreutils
<gchristensen> I don't understand
<eyJhb> __monty__: you basically need to somewhat keep your arms/elbows as static as possible, so that you don't tire out your arms, but instead use you bigger muscles in the back (so you need to be able to twist). Besides this, you need to sit in a L position, which. I simple cannot do unless I bend my knees more than I can do in the kayak
<elvishjerricco> Ooh moreutils seems nice
<eyJhb> So I basically agreed to go first on each rescue exercise, so that I could stretch my legs :p
<gchristensen> sponge is great for `cat < foo > foo` cases
<__monty__> cat a file into itself?
<gchristensen> `jq . < foo > foo`
<__monty__> What's the .?
<__monty__> JSONify the current dir into foo?
<gchristensen> I invite you to try it out and experiment :)
<__monty__> What's with the <?
<__monty__> What would I put in foo?
<joepie91> __monty__: it's a "reformat this JSON file" command
<gchristensen> { "foo": "bar" }
<joepie91> __monty__: jq pretty-prints its output, `.` basically 'navigates' the document to its root (ie. produces the same output as its input)
<__monty__> It erased my file.
<gchristensen> yes
<gchristensen> sponge is great for `cat < foo > foo` cases
<joepie91> thus, badly formatted JSON goes in, reformatted JSON comes out
<joepie91> hm, isn't <foo >foo supposed to work?
<gchristensen> no
<joepie91> oh wait, >foo doesn't create a new inode
<__monty__> I guess an empty file *is* technically properly formatted JSON. *This* is why we need dependent types!
<joepie91> lol
<gchristensen> lol
<joepie91> __monty__: allow me to spoil your joke
<gchristensen> this is why you need to not truncate your file before reading
<joepie91> an empty file is, in fact, one of the few things that is not valid JSON :P
<infinisil> ^^
<gchristensen> joepie91: gotta parse it with a yaml parser first, then export to json
* gchristensen should walk around a bit before my next flight
* joepie91 twitch
<joepie91> gchristensen: please tell me that does not work
<__monty__> What's you guys' opinion on translating your configs into nix vs having nix put your dotfiles in place? I kinda like the higher shareability of dotfiles and the possibility to migrate to another distro easily.
<__monty__> gchristensen: Coming over to the old world?
<elvishjerricco> __monty__: What do you do with the nix expressions that you translate your configs into?
<ashkitten> joepie91: an empty file is valid yaml, and json is a subset of valid yaml
<samueldr> __monty__: WIP, but I'm making my "personal configs" system configs
<__monty__> elvishjerricco: What do you mean? Primarily they'd serve as my setup, but the other part is I make them available if people want them.
<samueldr> meaning basically putting them in /etc/ at the right location, and patching leaf software to use /etc/ first if it doesn't already
<__monty__> samueldr: Rather than a home-manager approach?
<samueldr> yeah
<elvishjerricco> __monty__: So if a service needs a json config file, you put the json in your dotfiles, read it into nix, then have nix deploy it to /etc/foo?
<elvishjerricco> Isn't that just `etc.foo.source = ./foo.json;`?
Drakonis has quit [Quit: WeeChat 2.4]
<__monty__> elvishjerricco: I'm not yet doing anything really. But the idea would be having a dotfiles repo and then putting things in place using home-manager's home.file
Drakonis has joined #nixos-chat
<elvishjerricco> Seems like a normal thing to do.
<__monty__> Yeah but you could use home-manager's various program.whatever = { config = {...}; }
<elvishjerricco> Ah. I'm a fan of doing it in Nix, so that if I need to reuse parts of the config in another instance, I don't have to duplicate the code.
<elvishjerricco> But I don't care about other people so I'm not worried about giving them my configs :P
<__monty__> One thing I've considered is maybe I'd want a config to depend on the platform, linux v. darwin. But other than that I just want the same dotfiles everywhere.
<__monty__> So I don't seem to gain much from translating everything into nix.
<elvishjerricco> __monty__: You could share the autogenerated files somehow
<__monty__> I guess, but I lose the ability to insert comment blocks and order things logically.
<gchristensen> __monty__: california
<elvishjerricco> Just read all the manpages in moreutils. Yep, I'm installing that permanently. Could have used several of those many times.
<__monty__> vidir's pretty nice.
<gchristensen> lckdo is so goo
<elvishjerricco> vipe seems sweet
<elvishjerricco> gchristensen: lckdo says it's deprecated in favor of flock
<gchristensen> numutils!
<elvishjerricco> gchristensen: `nix search numutils` no results
<gchristensen> ah.
<ldlework> All my dotfiles are managed by nix on both darwin and nixos
<ldlework> most of the dotfiles and nix are shared, but there's obviously a lot of darwin specific stuff
<ldlework> well, home-manager manages them more accurately
<__monty__> ldlework: You mean you use programs.*, rather than home.file.*.source = ~/src/dotfiles/*?
<ldlework> nah I use the later
<ldlework> but things which have declarative nixos modules for configuration are great
<ldlework> (or home-manager modules, urgh can we merge those already?)
waleee-cl has joined #nixos-chat
<elvishjerricco> I share like 90% of my darwin config with nixos thanks to nix-darwin. The nixos config is much larger and more complicated though :P
<elvishjerricco> home-manager helps a ton too
<ldlework> I try to have as much of my system managed by home-manager as possible so as to get as much reusable across platforms as possible
<elvishjerricco> ldlework: nix-darwin purposefully names a lot of options the same as nixos so as to make configs reusable between them.
<ldlework> My nixos configuration is basically like "get a minimally usable environment up, and setup some systemd stuff. But I'd say 90% of the software I use is in my home-manager configuration.
<ldlework> (or naked in my nix-env :( :( :( :( )
<ldlework> elvishjerricco: that's cool
<elvishjerricco> Unrelated, it'd be cool (though completely unnecessary) if Nix had some kind of user quota thing. Like "this use can only cause 10min of build cpu time" or "this user can only be the sole owner of roots of up to 10GB worth of paths".
<__monty__> Oh, yeah, that *would* be cool.
ajs124 has quit [Quit: Gateway shutdown]
<gchristensen> 10GB unique to them I assume
<elvishjerricco> gchristensen: Right, hence "sole owner of roots of"
<elvishjerricco> I can't imagine a legitimate use for the idea, other than if anyone actually shares a Nix machine with other humans. But it's a cool idea
<elvishjerricco> I guess you could use it to make sure there's always space for an automated builder by putting a quota on yourself.
<gchristensen> or opposite, space for your user by putting a quota on the automation
<gchristensen> as far as I can tell this horrible airport cafe doesn't actually want money
drakonis_ has joined #nixos-chat
Drakonis has quit [Ping timeout: 250 seconds]
Drakonis has joined #nixos-chat
__monty__ has quit [Quit: leaving]
ajs124 has joined #nixos-chat
<gchristensen> I should write a blog post on this next flight.
<kraem> gchristensen: alot of businesses at airports feels alot like they're there for marketing purposes only
<gchristensen> yeah
<gchristensen> this cafe isn't really going to get much out of marketing, of course :)
<gchristensen> it is a wine bar, and it ran out of wine glasses... so it was pouring pints of wine.
<kraem> that doesn't sound negative though ;)
<gchristensen> multiple people ditched their bill because they didn't take cash, and also the servers couldn't remember to bring the bill
<elvishjerricco> So my apartment building does this annoying thing where we're all behind a building-wide NAT (so we can't forward ports to the internet). I found a few IPs I can ping. Anything I can do to maybe figure out what they are?
<gchristensen> you can whois them
<ashkitten> the skill gap between me and actual good tetris players is so high >,,<
<gchristensen> also: that is very strange. internet provided by the building?
<elvishjerricco> gchristensen: Internet provided by a small local-ish (services from Louisville to Chicago). The building wide NAT is there *I think* so they can manage the pre-installed routers in the apartments.
<elvishjerricco> When I was setting internet up, it didn't work at first and they told me to screenshare with them to troubleshoot, which obviously wasn't possible since my internet wasn't working. So they said they could attach me to a neighbor's wifi.....
<elvishjerricco> Yea it's a horrible ISP
<elvishjerricco> I happen to know they store account passwords in plaintext
<elvishjerricco> gchristensen: Anyway, I don't know anything about whois, and `whois <IP>` is just giving me generic info about the 10.0.0.0/8 address range.
<andi-> that sounds like a terrible design decision. There is TR096 for configuring CPEs
<elvishjerricco> andi-: Yea I have no idea why they did it this way but there's been a bunch of sketchy stuff with this provider. I've told the building they need to switch several times.
<andi-> maybe try talking to the tech guys at the provider. Most small ISPs are approachable
<andi-> Send them a proper email with your issues and add enough detail to escape the first levels of support hell.
webster23 has quit [Ping timeout: 250 seconds]
<elvishjerricco> Ah. I've found a bunch of different IPs across different subnets. Must be the routers in the units here.
<infinisil> Wow
<infinisil> Just wow
<infinisil> I'm usually blocking all google tracker stuff
<infinisil> But earlier today I had to enable it because I thought it was needed for a site
<infinisil> And now when I tried to watch a youtube video I get this nice box: https://paste.infinisil.com/hNAS6bpgSw.png
<infinisil> "Our systems have detected unusual traffic from your computer network. This page checks to see if it's really you sending the requests, and not a robot. Why did this happen?"
<infinisil> This site forces me to enable google's scripts again, just so I can see the captcha on that page
<infinisil> The hell is this crap Google, this is how you get me to never ever unlock your shitty trackers ever again
<infinisil> I wonder if they even let me block them again, because they apparently have the capability to just deny me from their sites just from what just happened
<elvishjerricco> Ooh some of them respond to SSH
<andi-> my old ISP used to have BGP open from customers on residential DSL lines. Never got a session up tho :/