zimbatm changed the topic of #nixcon to: NixCon is live! https://www.youtube.com/c/NixCon/ - 25-27 October 2018 - London - https://nixos2018.org , organisation is on https://trello.com/nixcon
clever has joined #nixcon
clever has quit [Quit: leaving]
clever has joined #nixcon
lassulus_ has joined #nixcon
lassulus has quit [Ping timeout: 252 seconds]
lassulus_ is now known as lassulus
clever_android has quit [Remote host closed the connection]
clever_android has joined #nixcon
LnL has quit [Ping timeout: 244 seconds]
LnL has joined #nixcon
worldofpeace has quit [Remote host closed the connection]
uli[m] has joined #nixcon
uli[m] has left #nixcon ["User left"]
clever_android has quit [Read error: Connection reset by peer]
clever_android has joined #nixcon
xeji_ has joined #nixcon
moredhel has quit [Quit: WeeChat 2.2]
clever_android has quit [Ping timeout: 240 seconds]
moredhel has joined #nixcon
clever_android has joined #nixcon
clever_android has quit [Ping timeout: 252 seconds]
clever_android has joined #nixcon
zzzzzzzzz has joined #nixcon
MoreTea has joined #nixcon
<clever> having a look at the minal iso
zarel has joined #nixcon
<shlevy> clever: So is fpletz
<shlevy> Oh you're in the room :D
<clever> yeah :P
<clever> i'm also working on wireshark plugin support
<moredhel> Thanks zimb
<clever> 551M -r--r--r-- 1 root root 559M Dec 31 1969 nixos-minimal-19.03pre130979.gfedcba-x86_64-linux.iso
<clever> this is what i'm starting at
<clever> 27M /nix/store/m7mkpgh50qlb4ssyg6xzd4lrnfg6px7h-grub-2.02
<clever> 28M /nix/store/20byqhs3nkiz816ck2arjq7d4yw75rsw-grub-2.02
<clever> fpletz: i notice there are 2 grubs in the iso!
<jasongrossman> (I won't be at the hackathon but) ooh I love the idea of using it to improve documentation.
<clever> one is pc, the other is efi
zzzzzzzzz has quit [Ping timeout: 256 seconds]
<clever> both are in system-path!
<clever> fpletz: there is no way this is intended
<Dezgeg> probably it just includes both so that the user doesn't have to download them
<clever> 486 environment.systemPackages = [ pkgs.grub2 pkgs.grub2_efi pkgs.syslinux ];
<clever> Dezgeg: must be, since they are on the same line, it looks less like a mistake
<yorick> adisbladis: check out the SASS_BINARY_PATH env variable ;). node-sass installer uses it instead of going to network
<yorick> for electron you'd have to use ELECTRON_CONFIG_CACHE :/
<yorick> shlevy: is require.nix code anywhere?
<infinisil> yorick: Also wondered about that
<infinisil> Couldn't findit
<gchristensen> adisbladis[m]1: adisbladis root@147.75.82.107
<gchristensen> CPU(s): 56, Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz ... 376G free ... 100G of disk... go build binutils :)
jasongro` has joined #nixcon
jasongrossman has quit [Ping timeout: 252 seconds]
<shlevy> yorick: infinisil: Doing some design/bikeshedding discussion currently then will clean up what I have and post it over the next few days
<shlevy> Speaking of... We're currently involved in a discussion on what to call "packages" and "modules" since obviously those names are non-starters. Suggestions welcome :D
<shlevy> Current front-runner is a nix "flake" for the packages :D
<yorick> shlevy: it's good to note that the nodejs guy does not really like the npm model and made 'deno' instead
<yorick> so who is on the nix core team?
<yorick> (deno just allows heavily cached url imports https://github.com/denoland/deno)
<clever> niksnut: thanks! :)
<gchristensen> clever++
<domenkozar> morning
<niksnut> thank gchristensen :-)
<gchristensen> thank samueldr :-)
<yorick> we could really use a review of https://github.com/NixOS/nix/pull/2409 from someone on the core team :)
stammon has joined #nixcon
jasongro` has quit [Quit: ERC (IRC client for Emacs 26.1)]
<yorick> is there an easy way to get the path of a package from the derivation for nix-shell debugging?
<yorick> (pkg.override { stdenv = null; }).meta.license :P
<clever> yorick: then stdenv.mkDerivation { meta = ...; } will fail
<clever> you would have better luck replacing stdenv with identity
<yorick> clever: yes, and I get the package path in the error message ;)
<clever> that works, lol
<clever> > hello.meta.position
<clever> thats also an option
<yorick> thanks!
<clever> and also
<yorick> that's a better solution :)
<clever> > builtins.unsafeGetAttrPos "hello" pkgs
<clever> this tells you where pkgs.hello was defined
<clever> { column = 3; file = "/nix/store/hszx567ximyymqr7qpf76ns6b06npn0j-nixos-18.09pre150708.083220867c7/nixos/pkgs/top-level/all-packages.nix"; line = 16829; }
<clever> infinisil: oh, no nixbot in this room
<shlevy> niksnut: Going to have imports accessible via _.《 in the hacky version :D
<infinisil> clever: :(
<yorick> domenkozar: I can do `nix copy` without being a trusted user if the signatures validate, and --substituters also works if there is a trusted substituter set. Why did you need to add to trustedusers?
<fpletz> clever: oh wow… maybe the efi and legacy versions of grub?
<clever> fpletz: yep, and thats caused by environment.systemPackages = [ pkgs.grub2 pkgs.grub2_efi pkgs.syslinux ];
<fpletz> hrm, but we probably want both of them actually
<fpletz> at least for x86
<clever> stderr and stdout of the build both go to worker.hook->fromHook.readSide
<clever> infinisil: and nix_log_fd is stderr currently
<clever> so it detects those hooks on both stdout and stderr
<shlevy> clever: We definitely shouldn't assume that
<shlevy> NIX_LOG_FD env var
<fpletz> turns out gtk isn't included in recent minimal isos anymore, maybe somebody already fixed it :)
<clever> shlevy: yeah, i can see how the idea is to have a dedicated pipe() in the future
<clever> shlevy: and it just happens to currently use stderr, which is also stdout
<niksnut> fpletz: oh yeah, that was probably me
<niksnut> or maybe not
<niksnut> I disabled udisks in the EC2 image
<Dezgeg> udisks is already disabled in installers
<fpletz> yup, also noticed that right now
basvandijk has joined #nixcon
<Dezgeg> I am currently trying to slim down spidermonkey_52
<nh2> basvandijk: `import (fetchTarball https://github.com/NixOS/nixpkgs/archive/a2845aa0.tar.gz) {};`
<fpletz> has anybody tried to split up the kernel modules?
<fpletz> we build lots of modules most people won't need
* gchristensen watches on excitedly
<fpletz> oh, and the nonfree firmware of course
<shlevy> fpletz: It's in principle doable, but you have to keep around the kernel source tree
<niksnut> reducing kernel modules is hard because you can't really predict what modules people will need
<shlevy> niksnut: you can configure for all of them but only build the used ones
<shlevy> Each in its own derivation
<shlevy> But unpacking the tarball is too slow for that
<niksnut> yeah but I think we're talking about the installer media here
<shlevy> Oh right
<shlevy> Sorry, was thinking about build process
<fpletz> due to depmod? can't we just build all the modules and put them into different outputs and link them together in nixos?
<shlevy> fpletz: but you want hte installer to Just Work on everyone's machine
<shlevy> We could provide a smaller module closure easily
<fpletz> shlevy: sure, but you won't need stuff like dvb/video stuff for instance
<shlevy> Sure. That's technically straightforward once we have the list to omit
<basvandijk> nh2: I added some code here: https://github.com/LumiGuide/nixpkgs/tree/activate-net-test
<snajpa> please guys, how can I test for existence of an attribute in another attrset, when defining the first said attrset? I have a file https://paste.vpsfree.cz/5DNyQUGl/ - documentation.nixos.enable didn't exist in 18.03, but it does in 18.09, so I'd like to set it if it's avail (I want to do that with documentation.enable as well, which is were I started)
<snajpa> I got as far as here, but I'm hitting infinite recursion at hasAttrByPath: https://paste.vpsfree.cz/ByFm4F-t/
<snajpa> how can this be done properly?
<clever> snajpa: have you tried documentation.nixos ? enable
<clever> it should return a bool
<clever> you may need to check under options.documentation.nixos ? enable
<snajpa> a ha, didn't occur to me that I can try to ask if documentation.nixos has enable
<snajpa> will try
<clever> infinisil: the wireshark PR from earlier allows https://github.com/cleverca22/tox_decoder to be compiled a lot more easily
<snajpa> but the section after "in", doesn't let any "IF" in
<snajpa> that one I have commented out, there apparently can't be any conditional like that...
<clever> snajpa: you also need an else clause
<snajpa> https://paste.vpsfree.cz/hVmo7T99/ -> infinite recursion encountered, at /nix/store/ag7pjmzkd1hmfvl64428qfym92wpxqx8-nixos-18.09-small.tar.gz/lib/modules.nix:163:28
<clever> if <bool> then <value> else <value>
<snajpa> there's else { }
<clever> an if must always have all 3
<snajpa> yep, I've already figured that one out :D
<clever> https://paste.vpsfree.cz/ByFm4F-t/#L-26 is lacking an else in the comment
<clever> you also cant put an if inside a set like that
<clever> a set if a list of key=value; pairs
<clever> and an if statement is a value
<snajpa> oh yeah, I didn't touch the comment, once I figured that out
<clever> so you want something more like mkIf
<snajpa> so I tried to put that on let section and then merge it at the end
<clever> documentation.nixos = lib.mkIf (bool) { enable = true; };
<snajpa> but if I reference pkgs.anything in the let section, I'm at inf recursion
<snajpa> clever: that would return an error for 18.03, documentation.nixos isn't there I think
<snajpa> which is the point of this, set it only if it's available to be set
<clever> documentation = lib.mkIf (bool) { nixos.enable = true; };
<snajpa> ok will try, thx
goibhniu has joined #nixcon
xeji has joined #nixcon
<xeji> gchristensen: now i'm online :)
<LnL> disasm: yeah, I've seen that before but I'm not sure where to go from there, kind of depends what people want
<yorick> is there a mkRenamedOptionModule for submodules?
<edef> excited to see what'll come of the hack day, but unfortunately not doing super well today - i hope everyone has fun!
FPtje has joined #nixcon
<gchristensen> edef: head sick?
<gchristensen> I have a head cold :(
<edef> this biological system apparently cannot handle a single glass of cider properly in its current configuration
<gchristensen> OH! :) I'm sorry, I hope it passes!
<edef> and thus both my nightrest and my morning were Bad
<edef> i don't even have a proper hangover, it's just an odd sense of being .. disrupted in some fashion
FPtje has quit [Ping timeout: 245 seconds]
<snajpa> clever: ...this is actually exactly what I needed: https://nixos.wiki/wiki/NixOS_Modules#Compatibility_Issues_with_Different_Nixpkgs_Versions I just didn't know how to ask
<clever> snajpa: ah, didnt think an answer was already in the wiki
<snajpa> the wiki is awesome!
FPtje has joined #nixcon
<snajpa> clever: yet that won't let me test if config.documentation exists, because I have to assign to documentation =, so that I can use // to expand it conditionally...
<snajpa> I tried to add // at the very end, but ended up with the same recursion as when I did it in the let
<snajpa> this is what I'm trying what leads to the recursion:
<snajpa> in 18.03 there is no documentation to assign to in the first place :(
<srk> proly options instead of config
<srk> hmm
<clever> snajpa: try testing options ? documentation.nixos.enable
<clever> snajpa: thats in a seperate tree, so it wont depend on what you assign to config
<snajpa> infinite recursion encountered, at /nix/store/ag7pjmzkd1hmfvl64428qfym92wpxqx8-nixos-18.09-small.tar.gz/lib/modules.nix:62:71
<snajpa> :'(
<snajpa> the test looks like this now:
<snajpa> if builtins.hasAttr "enable" (builtins.head options.documentation.type.getSubModules).submodule.options
<snajpa> ? documentation.enable # is about the same
<snajpa> also inf. recursion
<clever> snajpa: what about documentation = lib.mkIf (options ? documentation.nixos.enable) { nixos.enable = true; };
<snajpa> there's no documentation = to assign to in 18.03
<snajpa> that's precisely what I'm trying to conditionally do - assign to documentation.anything only if documentation.* exists at all
<clever> config = mkIf (options ? documentation.nixos.enable) { documentation.nixos.enable = true; };
<snajpa> aha that didn't cross my mind to try
<snajpa> sec
FPtje has quit [Ping timeout: 246 seconds]
<clever> just note, that if you assign config, you must put all config in config
<clever> so any other attrs in the file may become invalid
<snajpa> just noticed
<clever> do you need to, config = lib.mkMerge [ (lib.mkIf ..) { services.foo.enable = true; } ];
<clever> mkMerge can take several configs and merge them together
<snajpa> \o/
basvandijk has quit [Read error: Connection reset by peer]
gilligan_ has joined #nixcon
basvandijk has joined #nixcon
<shlevy> Have a roadmap for flake.nix (new name of require.nix) up at https://github.com/orgs/nix-community/projects/1. I have a bunch of tickets with "Help Wanted" there, plus all of the "notes" could easily be picked up by others.
<shlevy> I'm next working on finalizing the bootstrapping code so people can start playing around with it.
<niksnut> how does nix-community/projects relate to rfcs?
<shlevy> If anyone is interested in participating in any fashion, even just code rview, please let me know!
<shlevy> niksnut: I think nix-community is intentionally more of a wild-west
<shlevy> IMO we should use the NixOS git org for "official" projects that span more than one repo
<shlevy> but I'll defer to zimbatm here :)
<zimbatm> niksnut: nix-community is a project incubator that works in parallel of the NixOS org
<zimbatm> it's useful to community-maintained projects that don't necessarily make it upstream
jasongrossman has joined #nixcon
<yorick> funfact: the local network seems to be stripping out AAAA responses from dns packets?
<disasm> yorick: I wouldn't know, my DNS is coming across the VPN :)
<clever> yorick: i can confirm, `dig foo AAAA` returns nothing, for a domain that definitely has ipv6
disasm has quit [Quit: WeeChat 2.0]
disasm has joined #nixcon
<clever> https://github.com/NixOS/nixpkgs/pull/49202 is what brought cake to my attention
disasm has quit [Client Quit]
disasm has joined #nixcon
<clever> disasm: new message for the phone!
disasm has quit [Client Quit]
disasm has joined #nixcon
<nh2> > our infrastructure rejects any Ethernet packets that are not addressed to the gateway address
disasm has quit [Quit: WeeChat 2.0]
disasm has joined #nixcon
<fpletz> nh2: hetzner… then why do they make you configure subnets at all? %)
<clever> disasm: ping
zarel has quit [Remote host closed the connection]
<nh2> fpletz basvandijk: Currently investigating the `local_commands` involved; originally added by aszlig in https://github.com/NixOS/nixops/commit/2fd8815692fbe7b94323c130b7d8dbfcd96fd49d#diff-7259d5ab65f159f2ab8a41642cc9b669R396 -- that certainly shows the same intent as we have here but does it with a route change
<nh2> aszlig: you aren't over here are you?
disasm has quit [Quit: WeeChat 2.0]
disasm has joined #nixcon
disasm has quit [Quit: WeeChat 2.0]
disasm has joined #nixcon
disasm has quit [Client Quit]
disasm has joined #nixcon
gilligan_ has quit [Ping timeout: 246 seconds]
goibhniu has quit [Ping timeout: 252 seconds]
<clever> infinisil: and +1 to issues! https://github.com/NixOS/nixpkgs/issues/49287
basvandijk has quit [Ping timeout: 245 seconds]
<clever> infinisil: +1 to PR's https://github.com/NixOS/nixpkgs/pull/49291
xeji has quit [Quit: WeeChat 2.2]
<domenkozar> my hackathon result (it works!): https://github.com/domenkozar/hnix-lsp
<sphalerite> domenkozar++
<disasm> domenkozar++
<tazjin> domenkozar: awesome!! Did you make sure that it crashes every 10 seconds, in line with LSP-backend tradition? :P
<tazjin> my hackathon result: https://github.com/NixOS/nixpkgs/pull/49275
<domenkozar> tazjin: it doesn't crash
<domenkozar> but it takes long to format 12k lines of code :P
clever_android has quit [Ping timeout: 272 seconds]
clever_android has joined #nixcon
clever_android has quit [Read error: Connection reset by peer]
clever_android has joined #nixcon
clever_android has quit [Read error: Connection reset by peer]
clever_android has joined #nixcon
drakonis1 has joined #nixcon
<drakonis1> okay so today's the hacking day
clever_android has quit [Ping timeout: 252 seconds]
clever_android has joined #nixcon
clever_android has quit [Ping timeout: 240 seconds]
clever_android has joined #nixcon
vcunat has joined #nixcon
<vcunat> BTW, in case some of you are flying tomorrow from Southend, note that the train doesn't go, so the route is a bit different and takes significantly longer time. That's the reason why I didn't come even for a while today.
<vcunat> (To be clear, only weekends are supposed to be affected.)
<infinisil> domenkozar++
<aszlig> nh2: unfortunately i'm not :-/
<aszlig> nh2: i have refactored exactly that already
<aszlig> nh2: but didn't have a chance to test it
<clever> vcunat: i have a flight at ~6am monday morning, how will that effect me?
<aszlig> nh2: i'll send you the diff once i'm properly awake
<vcunat> clever: Monday trains shouldn't be affected, according to my source: https://southendairport.com/getting-to-and-from/trains
<clever> vcunat: i think thats seperate from hearthrow?
<vcunat> clever: what I wrote only considers the Southend airport
<vcunat> (London has quite a bunch of airports nearby)
<clever> yeah
<clever> ah, i forgot to mention hearthrow in the initial question, thought i did
<vcunat> yorick: stripping AAAA from DNS seems relatively common practice for networks that don't support IPv6. Sometimes they even intercept packets, e.g. I've had ping to 8.8.8.8 less than 1 ms on a hotel WiFi.
zarel has joined #nixcon
<vcunat> (That was actually when I was for the previous NixCon.)
<clever> vcunat: ive also seen some hotels that allow udp 53, even if you dont accept the captive portal
<vcunat> I understand the optimizing intention, but modifying DNS can be troublesome.
<clever> vcunat: and if you make a vpn over udp 53 ....
<vcunat> Yes, even tunnelling over DNS protocol exists because of that.
<lassulus> nh2: if you are interested in the progress of nix-writers: https://github.com/NixOS/nixpkgs/pull/49290
vcunat has quit [Quit: Leaving.]
worldofpeace has joined #nixcon
zarel has quit [Quit: Leaving]
worldofpeace has left #nixcon [#nixcon]
<nh2> lassulus: I am! Unfortunately our own project at fixing network disconnects didn't go as quickly as expected so I couldn't come over and look during the conference
clever_android has quit [Ping timeout: 240 seconds]
jasongro` has joined #nixcon
jasongro` has quit [Remote host closed the connection]
jasongrossman has quit [Ping timeout: 252 seconds]
jasongrossman has joined #nixcon
drakonis1 has quit [Quit: WeeChat 2.2]
<domenkozar> aszlig: too bad you didn't make it this year :)
<aszlig> domenkozar: yeah :-(
<aszlig> although i intend to at least to go to fosdem
<aszlig> however, i will have to watch all the talks during the next few days :-D