samueldr changed the topic of #nixos-dev to: #nixos-dev NixOS Development (#nixos for questions) | NixOS 19.09 is released! https://discourse.nixos.org/t/nixos-19-09-release/4306 | https://hydra.nixos.org/jobset/nixos/trunk-combined https://channels.nix.gsc.io/graph.html | https://r13y.com | 19.09 RMs: disasm, sphalerite | https://logs.nix.samueldr.com/nixos-dev
ryantm has quit [Remote host closed the connection]
rnhmjoj has joined #nixos-dev
niksnut has quit [Ping timeout: 265 seconds]
drakonis has joined #nixos-dev
<simpson> installer++ for offering copytoram.
evanjs has quit [Quit: ZNC 1.7.4 - https://znc.in]
evanjs has joined #nixos-dev
evanjs has quit [Quit: ZNC 1.7.4 - https://znc.in]
evanjs has joined #nixos-dev
justanotheruser has quit [Ping timeout: 276 seconds]
orivej has joined #nixos-dev
evanjs has quit [Quit: ZNC 1.7.4 - https://znc.in]
evanjs has joined #nixos-dev
drakonis has quit [Quit: WeeChat 2.6]
janneke_ has quit [Ping timeout: 250 seconds]
etu has quit [Ping timeout: 276 seconds]
emily has quit [Ping timeout: 276 seconds]
yorick has quit [Ping timeout: 276 seconds]
etu has joined #nixos-dev
etu has joined #nixos-dev
etu has quit [Changing host]
yorick has joined #nixos-dev
orivej has quit [Ping timeout: 252 seconds]
phreedom has quit [Remote host closed the connection]
phreedom has joined #nixos-dev
orivej has joined #nixos-dev
__monty__ has joined #nixos-dev
niksnut has joined #nixos-dev
emily has joined #nixos-dev
<srhb> I want to add something like `types.jsonnable = oneOf [ (listOf jsonnable) (attrsOf jsonnable) (nullOr (oneOf [ bool int float str ])) ]`. We're using ad-hoc methods for json merging with lots of shallow-merge all over the place, and this seems to me to get rid of an entire class of those bugs by just imposing module semanticsf in the obvious way. Anyone foresee any issues with that?
<edef> that sounds interesting
<edef> do we have some examples of where this is happening?
<edef> i'm guessing there are also some places where module merging semantics are not appropriate
<srhb> I think every module that has a config file that's written out as builtins.toJSON of types.attrs is susceptible to users hitting this -- I've seen it a lot at work recently.
<srhb> You may be right that module merging semantics is wrong in some cases, but I feel like it's usually less wrong than `foo.bar.baz = 42;` silently nuking `bar`
<edef> i'd rather it conflict, probably?
<srhb> That would also be valid, but then you need some more complicated ergonomics for "adding baz to bar"
<srhb> This just makes the usual NixOS logic apply to JSON config structures.
<srhb> Which I feel is intuitive, at least, but maybe that's Stockholm syndrome :-P
<srhb> The alternative solution is probably making all these types functions over the final attr fixpoint and forcing the user to merge manually. That doesn't sound very nice to me.
<srhb> I think my main grief is actually the existence of types.attrs. It's almost always wrong.
<srhb> types.mergingAttrs is what people tend to think they're getting, but it's not.
<srhb> Of course, the RFC infinisil wrote up already touches on exactly this.. :)
<srhb> (And the need for lazyAttrsOf which I totally neglected mentioning. :-P)
mmlb has quit [Ping timeout: 276 seconds]
justanotheruser has joined #nixos-dev
orivej has quit [Ping timeout: 250 seconds]
<aanderse> lol @ srhb comment on Stockholm syndrome
<aanderse> that's always the concern, right? we've all drank the nix kool aid and don't realize how insane we are ;-)
<srhb> Yes :P
<dtz> Haha, for a relevant chuckle: https://twitter.com/wm/status/7206700352
<gchristensen> people don't realize how insane they are for doing all this terrifying mutation of their system state
<MichaelRaskin> It's a natural human drive to have a global mutable state, see also: NixOS module system
<dtz> Haha yep! And crazy is in the eye of the beholder or something. But naturally I very much agree with that statement, gchristensen :). Or wouldn't be here!
<MichaelRaskin> Even if functional programming is irrelevant as a tool, it allows you to filter for people who have to had changed their approach to writing code at some point in life
<aanderse> MichaelRaskin: you vaguely mention your opinions on nixos once in a long while. I'm still curious what the better option is.
<gchristensen> you should see MichaelRaskin's init system ...
<MichaelRaskin> What init system?
<MichaelRaskin> There is jus a bog-standard trivially-reconfigured
<MichaelRaskin> sinit
<gchristensen> ohI thought it was lisp-based, or is that something else?
<dtz> Lmao clever <3
<clever> :D
<MichaelRaskin> There is a ton of Lisp, just on another level
<MichaelRaskin> sinit starts a shell script which spawns a Common Lisp daemon that serves requests for privileged operations and also brings up some stuff
<MichaelRaskin> Like starts the CUPS shell script and PostgreSQL launcher shell script
<qyliss> IIRC the guix model is to just define services, which sounds nice
<MichaelRaskin> My opinion is that Nixpkgs is a better structure than NixOS
<MichaelRaskin> I liked that Sander van der Burg's recent post (find it in NixOS weekly)
<MichaelRaskin> I didn't find much new for me there, but I endorse the approach
<MichaelRaskin> (my system is structured closer to Nixpkgs with overrides than to NixOS with modules)
<aanderse> MichaelRaskin: yeah it was a neat post
<aanderse> i enjoyed reading
<MichaelRaskin> A bit obvious and long. But that's probably because I already have thought all of these thoughts before
nurelin has quit [Quit: WeeChat 2.4]
orivej has joined #nixos-dev
<infinisil> globin, niksnut, roberth, fpletz: Here's a doodle poll for RFC 42 to find a time: https://doodle.com/poll/ccvvwppn5pepzxu2
<infinisil> Profpatsch: Thanks for the doodle suggestion :) (knew about it before but didn't occur to me to use it)
<Profpatsch> haha, np
<qyliss> infinisil: further suggestion: https://dudle.inf.tu-dresden.de/ is free software and has more features :)
<infinisil> Ohhh Profpatsch said "dudle" I thought he meant "doodle", didn't know dudle was a thing!
<infinisil> rycee: For you as well: https://doodle.com/poll/ccvvwppn5pepzxu2
<infinisil> globin: You previously pinged the other roberth, who isn't in the shepherd team btw
ris has quit [Ping timeout: 250 seconds]
genesis has quit [Quit: Leaving]
<rycee> Sure, added myself. 11 hour meeting sounds a bit tough, though :-)
ris has joined #nixos-dev
<infinisil> Ohh whoops!
<infinisil> Didn't know I was supposed to put each time in separately :/
<MichaelRaskin> Nobody leaves until a consensus is reached, I guess
<infinisil> Hm maybe I should create a new one, but that's gonna be painful to put 1h slots everywhere
<MichaelRaskin> Maybe dudle or whenwemeet automates this?
<infinisil> Also what about times I have 2.5 hours free, I can't put 2.5 1-hour slots in there
<infinisil> I'll check out dudle
<infinisil> Ehhh, everything is html links, and the website is kind of slow :/
<infinisil> Can't select ranges
<infinisil> And with when2meet you can't select individual times, just the cross product of a set of days and times
<infinisil> Hold on maybe it's not so bad..
<infinisil> Oh and you need an account to even participate, nope
<infinisil> Guess I'll create a new doodle..
<infinisil> Oh but with doodle it's really painful to choose from many options :/
<infinisil> Ah no it's not, they have a calendar view
janneke has joined #nixos-dev
<infinisil> Entering many times is actually pretty easy with doodle, I think doodle is the way to go
<infinisil> globin: niksnut: rycee: fpletz: New doodle poll with more granular times: https://doodle.com/poll/qkei8v3ug4sg7f9y
<MichaelRaskin> infinisil: I think I answered when2meet survey for RFC46 without actually creating an account
drakonis has joined #nixos-dev
<rycee> infinisil: Nice, added myself again.
drakonis has quit [Quit: WeeChat 2.6]
<globin> infinisil: I've added the next week, the one after I'll add if nothing works this week
<infinisil> Sounds good
yorick has quit [*.net *.split]
tilpner has quit [*.net *.split]
Nyanloutre[m] has quit [*.net *.split]
lassulus has quit [*.net *.split]
octe has quit [*.net *.split]
mjsir911 has quit [*.net *.split]
hexa- has quit [*.net *.split]
kgz has quit [*.net *.split]
callahad87 has quit [*.net *.split]
aria has quit [*.net *.split]
sdier has quit [*.net *.split]
fpletz has quit [*.net *.split]
Profpatsch has quit [*.net *.split]
chaker has quit [*.net *.split]
rajivr___ has quit [*.net *.split]
fuzen has quit [*.net *.split]
nwspk has quit [*.net *.split]
primeos has quit [*.net *.split]
johanot has quit [*.net *.split]
dmj` has quit [*.net *.split]
davidtwco has quit [*.net *.split]
vdemeester has quit [*.net *.split]
teozkr has quit [*.net *.split]
tazjin has quit [*.net *.split]
zimbatm has quit [*.net *.split]
tilpner has joined #nixos-dev
kgz has joined #nixos-dev
hexa- has joined #nixos-dev
mjsir911 has joined #nixos-dev
octe has joined #nixos-dev
fpletz has joined #nixos-dev
aria has joined #nixos-dev
lassulus has joined #nixos-dev
Profpatsch has joined #nixos-dev
callahad87 has joined #nixos-dev
rajivr___ has joined #nixos-dev
Nyanloutre[m] has joined #nixos-dev
chaker has joined #nixos-dev
nwspk has joined #nixos-dev
fuzen has joined #nixos-dev
yorick has joined #nixos-dev
sdier has joined #nixos-dev
primeos has joined #nixos-dev
vdemeester has joined #nixos-dev
teozkr has joined #nixos-dev
tazjin has joined #nixos-dev
dmj` has joined #nixos-dev
davidtwco has joined #nixos-dev
johanot has joined #nixos-dev
zimbatm has joined #nixos-dev
dmj` has quit [Max SendQ exceeded]
hexa- has quit [Max SendQ exceeded]
kgz has quit [Max SendQ exceeded]
dmj` has joined #nixos-dev
hexa- has joined #nixos-dev
drakonis has joined #nixos-dev
kgz has joined #nixos-dev
hexa- has quit [Quit: WeeChat 2.6]
hexa- has joined #nixos-dev
__monty__ has quit [Quit: leaving]
john67556 has joined #nixos-dev
drakonis has quit [Ping timeout: 276 seconds]
drakonis has joined #nixos-dev
john67556 has left #nixos-dev [#nixos-dev]
ryantm has joined #nixos-dev