jtojnar_ has joined joined #nixos-dev
jtojnar_ is now known as jtojnar
<ekleog> (nix-repl yells at me when I try a toString true or true)
<ekleog> that module seems full of wtf
<ekleog> like, multiple nested mkIf's, this thing, the fact that setting services.clamav.daemon.enable = true doesn't actually enable the daemon unless .updater.enable is also set to true... (the original issue causing this investigation)
<ekleog> fuck
<ekleog> this is lib.or
<ekleog> how does this even work
<ekleog> how did this even work at a single point in time
<ekleog> like, this is doing (mkIf daemon.enable or) updater.enable { /* actual set */ }
<ekleog> I don't even begin to understand what this is supposed to mean
<ekleog> would someone care to explain me before this wonder vanishes behind a “fix-the-world” commit?
mbrgm has quit [(Ping timeout: 255 seconds)]
mbrgm has joined joined #nixos-dev
<copumpkin> ekleog: figure it out? I don't think the nested mkIfs are necessarily bad
<copumpkin> gchristensen: nice, I'm seeing a few of those tags floating around now
<bgamari> man, libtool is terrible
<bgamari> does anyone know how to coerce libtool not to mangle --start-group/--end-group flags?
sivteck has joined joined #nixos-dev
sivteck has quit [(Ping timeout: 255 seconds)]
srodal has quit [(Ping timeout: 252 seconds)]
sivteck has joined joined #nixos-dev
sivteck has quit [(Quit: user missing.)]
srodal has joined joined #nixos-dev
cransom has quit [(Ping timeout: 240 seconds)]
cransom has joined joined #nixos-dev
sivteck has joined joined #nixos-dev
sivteck has quit [(Quit: user missing.)]
MichaelRaskin has quit [(Quit: MichaelRaskin)]
sivteck has joined joined #nixos-dev
JosW has joined joined #nixos-dev
sivteck has quit [(Quit: user missing.)]
sivteck has joined joined #nixos-dev
sivteck has quit [(Client Quit)]
sivteck has joined joined #nixos-dev
srodal has quit [(Quit: WeeChat 1.9.1)]
<rycee> ekleog: Are you sure that the `or` comes from `lib`? Looks like the "default operator" to me.
goibhniu has joined joined #nixos-dev
sivteck has quit [(Quit: user missing.)]
sivteck has joined joined #nixos-dev
FRidh has joined joined #nixos-dev
FRidh has quit [(Quit: Konversation terminated!)]
jtojnar has quit [(Read error: Connection reset by peer)]
sivteck has quit [(Quit: user missing.)]
sivteck has joined joined #nixos-dev
<ekleog> rycee: I don't really know, if I run `toString true or true` it's complaining that `or` is an undefined variable
<ekleog> so I guess it's a kind of either-a-keyword-or-a-variable depending on the syntax position
<ekleog> but then, apart if there is special handling for mkIf in nix, the statement reduces to (because the or keyword doesn't appear to bind stronger than function application for toString) (mkIf daemon.enable or) updater.enable { ... }
<ekleog> which would kind of explain the behaviour of enabling the daemon only when updater.enable is true, I think, if `or` was a kind of `optionalDict`?
<rycee> The `toString true or true` seems to fall under this: https://github.com/NixOS/nix/blob/master/src/libexpr/parser.y#L358-L361
<ekleog> but then as `or` is either a keyword (in which case I don't get how it's parsed) or a function (in which case it's defined as x: y: x || y, and true || {} = true and false || {} -> typing error), I don't get either way how it works
<ekleog> hmm, so `or` is some kind of syntax-dependent keyword indeed
<rycee> Well, as far as I can see the keyword or binds harder that function application.
sivteck has quit [(Quit: user missing.)]
<rycee> For example, `let foo = {}; in toString foo.bar or true` is interpreted as `let foo = {}; in toString (foo.bar or true)`
<ekleog> hmm, but then how does nix guess when `or` is a keyword and when it is the function? when I try `toString true or true 3` to replicate the `mkIf daemon.enable or updater.enable { ... }` I get an undefined variable `or`, which makes me believe it tries to parse it as the function?
<ekleog> uh
<ekleog> so that would mean the or keyword is selected if the previous variable is undefined?
<rycee> Yeah, it will interpret `or` as a keyword only if the left operand is an attribute path.
<ekleog> ._.
<ekleog> ok, I guess it kind of explains how this works, thanks! :)
<ekleog> (as the `updater` variable is always defined and defaults to false, unless it is set to true the attrset will never be defined)
<rycee> Yeah, if `cfg.updater.enable` always is defined then the default case would never happen.
sivteck has joined joined #nixos-dev
adisbladis has quit [(Read error: Connection reset by peer)]
FRidh has joined joined #nixos-dev
sivteck has quit [(Quit: user missing.)]
sivteck has joined joined #nixos-dev
adisbladis has joined joined #nixos-dev
adisbladis has quit [(Changing host)]
adisbladis has joined joined #nixos-dev
FRidh has quit [(Ping timeout: 240 seconds)]
sivteck has quit [(Quit: Buhbye)]
capisce has joined joined #nixos-dev
<capisce> when changing a package to point to a specific git revision instead of a tagged version, should I change the version tag of the package too?
<capisce> would something like: version = "git-2017-10-02"; make sense?
FRidh has joined joined #nixos-dev
<LnL> there's a section on versioning in the manual, it should start with a digit
tv has quit [(Ping timeout: 240 seconds)]
tv has joined joined #nixos-dev
<pierron> Don't expect me at the dinner place before 21:00, my hotel is nearby, and I intent to check-in and drop my stuff in the room first.
FRidh has quit [(Ping timeout: 240 seconds)]
FRidh has joined joined #nixos-dev
FRidh has quit [(Quit: Konversation terminated!)]
simpson has quit [(K-Lined)]
simpson has joined joined #nixos-dev
<globin> pierron: sure no problem
<pierron> globin: the conference place is on the north east of Munich, right?
<pierron> globin: far from the city center?
<globin> pierron: ~20-30min
<pierron> with the S8?
<globin> pierron: yep and then a 10 minute walk or bus
<pierron> Let's hope my gps will work :P
<copumpkin> you can ask google maps to download offline areas
<copumpkin> it doesn't have public transit info but is still pretty useful in my experience
<copumpkin> niksnut: does the S3 binary cache provider treat 403 as absence? Given S3's annoying behavior of 404 + no list access = 403?
<niksnut> HttpBinaryCacheStore does
<niksnut> I don't think S3BinaryCacheStore does
<copumpkin> hmm maybe that's my issue
MoreTea has joined joined #nixos-dev
MoreTea has quit [(Ping timeout: 240 seconds)]
<fpletz> there is also https://maps.me/download/ which uses openstreetmap data you can download via the app
taktoa has quit [(Remote host closed the connection)]
<rycee> capisce: The manual section: https://nixos.org/nixpkgs/manual/#sec-package-naming
<bgamari> hmm, this path seems slightly suspicious: /nix/store/jcdh2zk05dnkcp3hm07m9r7d72qwd8zq-arm-unknown-linux-gnueabihf-binutils-2.28.1/x86_64-unknown-linux-gnu/arm-unknown-linux-gnueabihf/include
<bgamari> are two prefixes to be expected?
goibhniu has quit [(Ping timeout: 248 seconds)]
FRidh has joined joined #nixos-dev
<gchristensen> someone suggested I rename grahamcofborg to queen of the borg, but I wonder if there is an appropriate term in FPto use, like some kind of combinator
nixer has joined joined #nixos-dev
jtojnar has joined joined #nixos-dev
<jtojnar> Could https://github.com/NixOS/nixpkgs/pull/30371 please get a hydra job?
<gchristensen> well it certainly should!
<gchristensen> I can set it up, but I can't set it up this evening (or maybe can, but not until late)
MichaelRaskin has joined joined #nixos-dev
FRidh has quit [(Ping timeout: 240 seconds)]
<fadenb> For those joining the dinner: Just ask the waitress for the NixOS reservation. Will direct you to our seats
goibhniu has joined joined #nixos-dev
taktoa has joined joined #nixos-dev
FRidh has joined joined #nixos-dev
MichaelRaskin has quit [(Ping timeout: 246 seconds)]
MichaelRaskin has joined joined #nixos-dev
JosW has quit [(Quit: Konversation terminated!)]
JosW has joined joined #nixos-dev
goibhniu has quit [(Ping timeout: 260 seconds)]
JosW has quit [(Quit: Konversation terminated!)]
nixer has quit [(Ping timeout: 260 seconds)]