gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
tilpner_ has joined #nixos-chat
Twey has quit [Ping timeout: 268 seconds]
tilpner has quit [Ping timeout: 244 seconds]
Twey has joined #nixos-chat
thonkpod has quit [Ping timeout: 264 seconds]
thonkpod has joined #nixos-chat
mog has quit [Ping timeout: 276 seconds]
mog has joined #nixos-chat
endformationage has quit [Ping timeout: 245 seconds]
Jackneill has joined #nixos-chat
Lukas4452 has joined #nixos-chat
pie_ has quit [Ping timeout: 250 seconds]
Lukas4452 has quit [Ping timeout: 246 seconds]
<manveru> tazjin++
<{^_^}> tazjin's karma got increased to 9
<manveru> just needs a port of the search from https://nixos.org/nixos/options.html (though fulltext would be nice too)
<manveru> i take that back, the search already works :D
<manveru> it's not clear what nixpkgs version this refers to, although the URLs look like you can link to exact versions of individual pages that never expire?
<manveru> and i wonder if there's an option that makes the right side an iframe so the navigation doesn't always reset on every page load
<manveru> anyway, seems like a very cool foundation, now we can just copy stuff from the manual into the header of those modules?
Lukas4452 has joined #nixos-chat
Lukas4452 has quit [Ping timeout: 245 seconds]
jtojnar has quit [Quit: jtojnar]
jtojnar has joined #nixos-chat
Lukas4452 has joined #nixos-chat
spacekookie has quit [Quit: **agressive swooshing**]
spacekookie has joined #nixos-chat
<tazjin> manveru: well, for now this is a demo, lets not quite make a call to action yet :)
<tazjin> I'm not sure if the exact versions are sensible yet, either
<tazjin> I don't think linking to old docs will have much of a use-case that would not otherwise be fulfilled by linking to a commit on github
<manveru> tazjin: well, in that case the URLs should probably be without the hashes
<tazjin> that's what I'm thinking
<manveru> but yeah, i understand it's just a demo, just tried to give some first impression before i get used to it :P
Lukas4452 has quit [Ping timeout: 272 seconds]
Lukas4452 has joined #nixos-chat
psyanticy has joined #nixos-chat
<infinisil> Today is a breaky day: Trying to shut down my PC it doesn't want to, have to force kill it. Go in the train, train trash bin breaks on me (these trains are cheap..). Want to start laptop.. "Internet recovery", apparently it couldn't see the disk that's inside itself..
<infinisil> I think my SSD doesn't like cold weather, this is the second time that I've seen it do that after having been in colder weather
<infinisil> Fortunately it started working again after a couple minutes of warming up in the train :)
__monty__ has joined #nixos-chat
pie_ has joined #nixos-chat
Lukas4452 has quit [Ping timeout: 244 seconds]
Lukas4452 has joined #nixos-chat
Lukas4452 has quit [Ping timeout: 272 seconds]
Lukas4452 has joined #nixos-chat
<ajs124> this https://gist.github.com/ajs124/5a1ccaf629685339f4c03ed00dec05ef is why I hate shitty proprietary (32bit!) software -.-
<gchristensen> nope don't like that
<yorick> never displaylink
<pie_> i..wh...LOL
Lukas4452 has quit [Ping timeout: 272 seconds]
Lukas4452 has joined #nixos-chat
<ajs124> steam has actually been suffering from the same issue for years. they use a 32bit syscall to check free disk space, which overflows over 2TB. It's ridiculous.
<joepie91> rofl
pie_ has quit [Ping timeout: 252 seconds]
<manveru> so that's why steam survey has a max of 1TB?
drakonis has joined #nixos-chat
<eyJhb> _never_ displaylink
<eyJhb> ajs124: didn't know there was anybody else using Displaylink tbh.
Lukas4452 has quit [Ping timeout: 245 seconds]
Lukas4452 has joined #nixos-chat
<adisbladis> samueldr: Could you add another channel to your logger? #nixos-emacs
<samueldr> sure
{`-`} has joined #nixos-chat
<adisbladis> Thanks <3
<joepie91> eyjhb: aren't those asus zenscreens doing displaylink over USB
<joepie91> or somesuch
<joepie91> they're pretty neat but the driver/kernel pain has kept me from buying one so far
__monty__ has quit [Remote host closed the connection]
<eyJhb> joepie91: NO clue :| BUT
<eyJhb> Anyone here a GDB addict?
endformationage has joined #nixos-chat
__monty__ has joined #nixos-chat
<gchristensen> colemickens: I got a 0.0.0.0/0 vpn to work
<gchristensen> with wg-quick, anyway. I didn't try it with the nixos options yet. (one step at a time.)
<ajs124> gchristensen: the nixos options are kind of broken on stable anyways. especially since someone decided to set the unit to auto-restart...
<gchristensen> that sounds like me
<gchristensen> they're broken? they work for me
<gchristensen> if they're broken, and regressed in stable, that should be an issue and the offending commit should be rolled back. have you reported a bug?
<ajs124> I don't think I have, no. The main problem is that the unit fails to start for reasons like "can't find my key" or "can't find a psk" and just infinitely retries.
<gchristensen> the original version would just fail, delete the wg0 interface, and not try again
<gchristensen> so is that a regression?
<ajs124> Well, the service doesn't fail anymore and the interface never gets configured properly. I expect systemd units to fail, if a configuration is broken.
<gchristensen> I see
<gchristensen> well, if you could open an issue and describe why it is a regression, that'd be helpful
<gchristensen> it is not very helpful to just say they're broken and they regressed, because then it just stays broken
<ajs124> True. The unterlying issue was always my config/secrets being broken, so I just fixed that, instead.
<gchristensen> I'm not sure there is a regression, then
<gchristensen> and I'm also not sure the options are "kind of broken"?
<ajs124> We might have to agree to disagree, then. I would say a service not failing on a broken config is a regression.
<gchristensen> then please open an issue :)
<ajs124> Ok, soon. One question, when looking through the git history. What does WG_ENDPOINT_RESOLUTION_RETRIES do? Where is it documented?
<gchristensen> probably in the wireguard repo
<gchristensen> (also, this chat is offtopic for -chat, let's go to #nixos?)
<ajs124> ok
<manveru> so here's your daily random link: https://mynoise.net
drakonis has quit [Read error: Connection reset by peer]
drakonis has joined #nixos-chat
<manveru> and also https://cheats.rs/ for tazjin :)
<manveru> really would love that for nix
<tazjin> nix-1p is intended to be something like that
<tazjin> not exactly the same format though
<gchristensen> tazjin: would you mind if we incorporated that in to the manual?
<gchristensen> it looks great
__monty__ has quit [Ping timeout: 258 seconds]
<tazjin> gchristensen: I don't mind it being incorporated, but I don't really want to convert this to docbook (for all the reasons I was laying out on Discourse)
<gchristensen> yeah thats fine, I could do that
<gchristensen> looks like ~30min of work
<tazjin> it's also missing a section on operators which I've been wanting to add
<gchristensen> what is this abbreviation column? this is great!
<tazjin> joepie91: almost the same as https://nixos.org/nix/manual/#sec-language-operators ?
<joepie91> gchristensen: internal parser names iirc
<joepie91> tazjin: I recall that being incomplete
<joepie91> dunno, maybe that's been fixed
<gchristensen> cool
<joepie91> I ended up just picking apart the parser code myself :P
<tazjin> hesitant to include precedence values and associativity, nix-1p is supposed to be gentle ... hmm
<joepie91> tazjin: link was meant as a reference, not necessarily as a copypastable thing :)
<joepie91> feel free to modify/strip down as needed
<joepie91> fwiw, I've found https://medium.com/@MrJamesFisher/nix-by-example-a0063a1a4c55 to be a very good gentle introduction to the language
<joepie91> lengthy but still pretty accessible
<tazjin> does anyone actually use `->`?
<gchristensen> yeah
* joepie91 has yet to find an intuitive use for it
<gchristensen> it is pretty much exclusively used in asserts
anrgistan has joined #nixos-chat
__monty__ has joined #nixos-chat
<{^_^}> tazjin/nix-1p#2 (by tazjin, 10 minutes ago, open): Add table with most important Nix operators
<tazjin> what's a NixOS module with nested options? (e.g. `services.xyztool.something.nestedThing`)
<tazjin> I know there are some, but currently at a loss for how to find one without writing code
<gchristensen> wireguard
<joepie91> tazjin: nginx?
<tazjin> also systemd
<joepie91> actually I can do you one better
<tazjin> systemd is pretty intense
<joepie91> matomo seems to alias a copy of the nginx module?
<joepie91> or something
<tazjin> I'm wondering how to best display those nested things
<tazjin> also it's not been clear to me before how few modules actually have any sort of module documentation at the top
<tazjin> or docs that aren't particularly helpful (a la "Function `doTheThing()` does the thing")
<infinisil> joepie91: Ugh, looking at the matomo module, it could definitely use a bunch of improvements..
<infinisil> I kinda wish I could just go through all NixOs modules and make them nicer without worrying about backwards compatibility
<tazjin> infinisil: my favourite module thing from recently is the one I fixed here - https://github.com/tazjin/nixpkgs/commit/df160ad943343f1d43d4d5ccd655838f62d824fc
<tazjin> this was the *one* module that broke my documentation generator
<tazjin> and it did that to avoid copying a single tiny string 😛
<tazjin> at work we have a process of code reviews sort of being split into multiple different parts
<tazjin> and I think that would make sense in the Nix world too
<infinisil> Oh interesting, what broke with the previous version?
<tazjin> there's a domain review, a review by the owner of the codepath and - crucially - a readability review for the language
<infinisil> Or like, why did it break rather
<tazjin> 1 & 2 are often the same person
<tazjin> infinisil: it broke because the doc generator calls modules with dummy arguments and not actually an evaluated NixOS config
<tazjin> because I just want to get the options structure
<infinisil> That's quite a bunch of review, nice
<infinisil> Oh hm..
<tazjin> but yeah the point to make with those reviews is that it might make sense to separate Nix readability out
<tazjin> doesn't mean they *must* be done by different people, but it'd be good for significant new code contributions (such as a module) to have someone make sure that it adheres to certain best practices
<tazjin> not just review that it works
<infinisil> Yeah, every time I review a module i go through it pretty thoroughly
<infinisil> Because NixOS modules are like an API
<infinisil> Shitty initial API and you're stuck with it
<tazjin> Nix the language has the unfortunate effect of making it very easy to do clever things
<infinisil> Such as?
<infinisil> I'd say this doc example of yours is just because of NixOS module specific shenanigans
<tazjin> I was reviewing a module some time ago that wrapped a service which can be extended with custom python packages
<tazjin> those python packages need some python dependencies
<tazjin> the module did some really clever thing with fixed points and internal variables to inject those dependencies into derivations that were passed as closures over something else
<tazjin> it ended with that stuff just being removed to expose a builder function for a python module, and an option that took a list of derivations built with that
<infinisil> I see
<infinisil> I sometimes wish the module system was more function-oriented
<gchristensen> you're not the only one
anrgistan has quit [Ping timeout: 252 seconds]
<infinisil> I've been thinking, it would be really neat to use something NixOS-module-like for everything in nixpkgs
<infinisil> Because those give you type checks and nice errors
<tazjin> yeah it'd be nice to have that concept be pluggable
<infinisil> So we could e.g. declare mkDerivations `patches` as `patches = mkOption { type = listOf path; }`
<tazjin> I'd like something like it for private repos in Nixery
<das_j> oh yes, that would keep me from mistyping postPathc
<infinisil> And this would also serve as a way to document all those functions in nixpkgs
<tazjin> there should be a law like "Every sufficiently large project will eventually discover that dynamic types don't work"
<infinisil> Hehe
<das_j> hah, ask the node people
<tazjin> and then it can put a type-system into its bug ridden, informally specified, ad-hoc lisp implementation ;-)
<infinisil> Where's that proposal of niksnut to make modules a built-in nix feature
<infinisil> ,nix++
<infinisil> ,nixlang++
<infinisil> Yeah that one
<Taneb> (the NixCon talk from last year describing I think this)
<das_j> is there no RFC draft yet?
<Taneb> It'd be a huuuuuge change
<infinisil> I guess flakes is higher on the priority list
<tazjin> sort of related: the config language we have at work generates protobuf data, which is strongly typed. The language itself is dynamic though
<tazjin> so it effectively has "type-checking at the edges" (wherever a conversion to proto happens), which actually works reasonably well
<tazjin> it'd be interesting to have a notion of something like that which isn't necessarily tied to a module system, i.e. a static struct definition thingie. This could even already be written *in* Nix using something like what `lib.types` is doing
<tazjin> hmm 🤔
<Taneb> tazjin: I'd like to nominate the law you suggested earlier be called "tazjin's law"
<tazjin> Taneb: I've already got a law (in some circles), it's "every large system not controlled by reconciliation loops will get out of sync from the intended state"
<Taneb> tazjin's second law
<tazjin> I just caught myself thinking "it'd be nice to have global declarations for this"
<tazjin> help
<tazjin> (not laws, but something like a namespace of struct definitions)
<infinisil> tazjin: I once thought about how Nix could have a proper type system, with inference and stuff, be implemented in nix itself
<Taneb> samueldr: in 3 years they'll regret not having a unit on the number printed on the card there
<samueldr> "meh" lol, the interesting bit is that toshiba also announced something "like microSD, but not SD" recently
<infinisil> The gist of it is that you'd have to write all code in an introspectable way, so instead of `1 + 2` it would be `add 1 2`
<tazjin> Taneb: if we have 256TB memory cards in 3 years, does that mean that the singularity is just around the corner now?
<infinisil> Where add can propagate up its arguments and do fancy stuff
<tazjin> infinisil: Greenspun's tenth rule
<samueldr> the ufs one is maybe more interesting because of how SOCs would have built-in support for it, rather than the NVMe one from toshiba
<Taneb> tazjin: idk, probably
<infinisil> tazjin: Hehe yes, which leads me to https://github.com/Infinisil/nixlisp again
<Taneb> Google can already turn electricty enough to power my hometown for a year into a machine for playing Starcraft at better than human levels in 2 weeks
<tazjin> I'm not sure what emotion to feel about that
<tazjin> (the nixlisp, not AlphaGo)
<tazjin> (AlphaStar, rather)
<infinisil> I'm planning to combine nixlisp with https://github.com/infinisil/nix-rts
<infinisil> Then you can write programs in lisp that are being executed by nix :P
<infinisil> (or mostly nix)
<infinisil> Wait, is this what Guix is doing, hmm.....
<drakonis> ding ding ding
drakonis has quit [Quit: WeeChat 2.4]
drakonis_ has joined #nixos-chat
<drakonis_> library integration is a huge boon
<drakonis_> infinisil: its the real language features
<das_j> > This is built as a kernel module and therefore, no DKMS is involved.
<{^_^}> error: syntax error, unexpected ',', expecting ')', at (string):256:47
<das_j> but isn't DKMS a module building framework?
drakonis has joined #nixos-chat
<ajs124> TIL: DKMS is a DELL project https://github.com/dell/dkms
psyanticy has quit [Quit: Connection closed for inactivity]
<infinisil> Damn, twitch web devs screwed up with something
<infinisil> They made the scroll bar on the right have like 1 pixel of spacing to the right side of the window
<infinisil> Meaning when you just go all the way to the right, you can't move it. Gotta first go 1 pixel to the left again
<samueldr> the trick is to use a macbook for development, where scrollbars don't exist
<samueldr> that way all issues with scrollbars disappear
<samueldr> (once you realize it, you can see a bunch of issues stemming from that, like the tags picker in gitlab)
<samueldr> oh, they cleaned it since
<infinisil> Hehe yeah, but still, there's like some law in interface design that things in corners/edges are very easy to navigate to, so you should put important stuff there
<infinisil> I think this has a name but I can't remember it
<samueldr> fitts's law
<samueldr> on the edge (and corners) makes them infinitely huge
<infinisil> Ahh yes thanks
<etu> Hmm, now I should build myself a kiosk system using that kiosk browser module I made :D
<etu> To replace my debian kiosk in my home :)
pie_ has joined #nixos-chat
Lukas4452 has quit [Ping timeout: 248 seconds]
Lukas4452 has joined #nixos-chat
<joepie91> etu: you have a kiosk in your home?
<etu> joepie91: kiosk as i kiosk browser to display things on. Not a kiosk that sells things :)
<joepie91> etu: right, I get that, but what does it display :P
<etu> joepie91: It shows departures of subways, time, calendar, news headlines and weather :)
<joepie91> etu: interesting. what do you use for that?
<etu> The subway data is nice because I live 100m from the subway and use the subway quite a lot, so I can see when they depart and if they have delays or so
<etu> Calendar is nice because it's a shared calendar with my wife that we put common things in, like birthdays of common friends so we can easily see it in the hallway
<etu> I'm gonna build a pollen module some day to show the pollen levels
<joepie91> etu: nono, I really do mean "what do you use *for* that", as in, what software :)
<etu> joepie91: oh, missread you there. I run the magicmirror docker container on another system and just need the kiosk browser on a raspberry
<joepie91> ah, right
<etu> I should really package it up properly for nixos, but it's a messy piece of javascript combined with some electron dependency for its own built in browser solution
<etu> But for my raspberry with my (only) debian system I run surf-display to show it, so yeah, I made a module for that that is in unstable now. So I should migrate that raspberry to nixos and use the module instead
drakonis_ has quit [Ping timeout: 250 seconds]
Jackneill has quit [Remote host closed the connection]
Lukas4452 has quit [Ping timeout: 246 seconds]
Lukas4452 has joined #nixos-chat
<aanderse> etu: i want to see a picture of this kiosk in your house :)
vesper11 has quit [Ping timeout: 258 seconds]
<joepie91> ++
Lukas4452 has quit [Ping timeout: 244 seconds]
Lukas4452 has joined #nixos-chat
Lukas4452 has quit [Client Quit]
<etu> joepie91: ^
<joepie91> fancy :p
<etu> I covered every calendar event except of one of the most important ones -- the camp :D
<gchristensen> that is cool
jtojnar has quit [Ping timeout: 272 seconds]
drakonis has quit [Ping timeout: 245 seconds]
<aleph-> Nifty
<adisbladis> <3 pythonix
<adisbladis> Such a great tool
vesper11 has joined #nixos-chat
Jackneill has joined #nixos-chat
Jackneill has quit [Read error: Connection reset by peer]
<averell> oh god finally. in a few years nvidia drivers might not suck!
<aleph-> heh
drakonis_ has joined #nixos-chat
endformationage has quit [Quit: WeeChat 2.5]
<ajs124> huh, so where on scale between "fuck you nvidia"™ and "I guess you're ok" is this?
<ashkitten> joepie91: was it you who responded about websockets in firefox? i just turned off network.websocket.delay-failed-reconnects and restarted the browser and it seems to work...
<joepie91> ashkitten: yes, was me
<ashkitten> 👍
<joepie91> ashkitten: interesting, did not know that setting existed
<ashkitten> me either!
<joepie91> set it to false
<joepie91> let's see what happens
<joepie91> :p
<joepie91> thanks!
<ashkitten> np
<joepie91> (the option name does suggest that it matches my problem hypothesis)
<ashkitten> i should look into why it's being triggered in the first place
<samueldr> I might have missed the problem, what is it?
<ashkitten> websockets take increasingly long to connect
<samueldr> ah, some kind of backoff on failure to connect?
<ashkitten> to the point where i open a page and wait like 10 minutes for it to connect
<ashkitten> yeah, but it appears to be global?
<samueldr> oof
<joepie91> ashkitten: I wonder if it's meant as a DoS mitigation feature
<infinisil> Hehe, gotta love `pass`. How do I get back an old password? `pass git checkout HEAD~10`
<ashkitten> it is nice
<ashkitten> sadly the android app hasn't been updated in a very long time
<ashkitten> it works okayish tho
<ajs124> I really like thie bitwarden android app. Although bitwarden does not have the convenience of going back in history with git (at least not as far as I know).
drakonis has joined #nixos-chat
drakonis_ has quit [Read error: Connection reset by peer]
<gchristensen> colemickens: https://github.com/NixOS/nixpkgs/pull/66300 testers wanted =)
<{^_^}> #66300 (by grahamc, 30 seconds ago, open): wireguard: allow whole-internet VPN configuration
__monty__ has quit [Ping timeout: 248 seconds]
__monty__ has joined #nixos-chat
<ivan> NixOS manual doesn't cover the essential rm -rf /root/.cache/nix
<gchristensen> hrm I don't think I've ever done that
<ivan> woah
<ivan> I keep having to do it because I get outdated "not present" results
<ivan> from my nix-serves
<gchristensen> oh nix-serve
<gchristensen> I've also never done that
<ivan> you just serve from your hydra?
<ivan> I guess I encounter this because I use nixpkgs from git and have it ahead of any successful channel build
<gchristensen> I don't have a hydra either :)
<ivan> convenient
<adisbladis> gchristensen: I'd really like your bot in some channels. Can we arrange that somehow?
<gchristensen> yes
* gchristensen moves this to the top of his to-do list
<gchristensen> adisbladis: can you send me a list?
<adisbladis> Sure
__monty__ has quit [Quit: leaving]
<infinisil> Hah, when I try to use google search on my mac where I have never signed in, it shows that I first have to agree to some data protection shenanigans
<infinisil> That alone tells me that they collect data on users, even when they're not logged in
<colemickens> infinisil: as I've been in europe (rather than the US) I've been seeing more of that sort of behavior from Google and others, and realizing how much the EU does seem to actually force some better behavior.
<infinisil> Switched to duckduckgo, where I'm greeted with "We don't store your personal info. We don't follow you around with ads. We don't track you, ever."
<colemickens> infinisil: for example, Google has also suspended some of their voice-transcription-outsourcing stuff in Europe, as I understand it. Implicitly, that means they continue to do it in the US, despite objections, because they're legally allowed to.
<infinisil> colemickens: Ohh yeah the EU thing, damn
<infinisil> It was never this easy to not choose google
<infinisil> Apparently google would rather not have users use its services than not being able to track them
<infinisil> I think I literally cannot even use google search without agreeing to this crap
<gchristensen> you can't
<colemickens> infinisil: I still get freaked out when I use YT from a non-Google-firefox-container-tab and it says "You're signed out of YouTube". As if they're somehow fingerprinting me, and telling me, "hey, you're not signed in like normal". But I'm telling myself they just tell that to anyone that visits youtube.com manually and isn't signed in? Who knows.
<infinisil> Hehe yeah
<infinisil> I just wish I wasn't so dependent on youtube
<gchristensen> theres peertube if you want handicam rips from youtube :P
<infinisil> Lol
<infinisil> I really wonder how the technological landscape is going to look in 5-10 years
<colemickens> I hope it looks a lot like stuff built on ipfs/ipld or similar technology. But I thought it would be further along than it is. I think there's not money in building better, decentralized tech and so it will be hard.
<colemickens> At least [certain communities] seem to be coming around to the realization that tech (in the US?) has been fully coopted by capitalism and is just about extracting every last dollar possible, rather than solving problems. Then again, I'm a bit pessimistic.
<infinisil> I am hopeful that federated networks will become the de-facto standard, such that any company wanting to do some centralized crap will be helpless
<infinisil> A monopoly, but a federated one
<ashkitten> where should i put things like disk images in a derivation that'll provide a script to use the disk image in an emulator?
<ashkitten> should i just drop it in $out/rp0 or something?
<ashkitten> or make a separate derivation for the disk image and the runner
<infinisil> ashkitten: That sounds offtopic for the offtopic channel :)
<ashkitten> oh dangit i keep going here by habit
<ashkitten> #nixos is big and scary
<ashkitten> :p