<clever>
viric: i think the cause was somebody changing how nixpkgs works, and they didnt test pkgs = import <nixpkgs> { platform = pkgs.platforms.foo; }
<clever>
ndowens08: no idea, would need to know more context first
<clever>
srk: there is also a nixos module that already does this
<clever>
srk: nixos creates /etc on bootup
<clever>
srk: and that will copy it current value to the right folder, if ran on bootup
<clever>
srk: you can do ''cp -vi ${./configuration.nix} /etc/nixos/configuration.nix''; in a configuration.nix file
<clever>
srk: so either append to $PATH, or add more things you use to the buildEnv
<clever>
srk: line 17 may need some tweaking, i went the ultra-pure route, so $PATH only has exactly what you reference, and nothing from the host can leak in
<clever>
or load app2.nix and reference it from app1
<clever>
you can also use imports in config.nix, and make your config as fun as you want it
<clever>
in theory, it will even work on darwin
<clever>
but your not making any use of nixos modules
<clever>
and that bash script has full use of the entire options/config framework that powers nixos
<clever>
srk: and if you then nix-build -A config.system.build.app1, it will compile the bash script on line 15
<clever>
srk: and then config.nix is where you put the actual config, just like configuration.nix
<clever>
srk: default.nix and common.nix are just support framework to glue it together
<clever>
srk: and it generates a script on line 15, that will setup env variables and execute the app, possibly referencing a config file also built by nix
<clever>
srk: app1.nix is where you define all of the options for your app, exactly as you would in a normal nixos module
<clever>
smw_: and u-boot has to load the right dtb, to tell it what hardware exists
<clever>
smw_: ah, not sure about that one, it may need some dtb files to enable that hardware
<clever>
NickHu: i believe it should be
<clever>
smw_: did you enable the bcm usb stack in "make menuconfig" ?
<clever>
but if your building your own, just enable what you want, directly in the kernel config
<clever>
the main point of the initrd, is so you can make a really tiny kernel, and then load the optional things that this exact user wants
<clever>
smw_: but if you link that into the kernel at build time, you dont need the initrd
<clever>
smw_: the initrd allows i to load modules after booting, to gain the ability to mount the rootfs
<clever>
smw_: and if your building the kernel, you can just make everything you want built in, that eliminates the entire need for the initrd
<clever>
smw_: i believe they also have a link to a pre-built arm gcc for linux
<clever>
smw_: ah, thats much simpler
<clever>
ndowens08: you want $out/bin/
<clever>
ndowens08: line 33 is your problem, you are trying to reference your own return value
<clever>
smw_: i usualy go the route of a "native" arm build, under qemu-user
<clever>
smw_: so you wind up having to build everything twice, natively and cross
<clever>
smw_: proper cross-compiling is tricky with nixpkgs, it considers it a different build, so native nix-env -iA will refuse to use the cross-built glibc and so on
<clever>
ndowens08: can you gist that file?
<clever>
NickHu: i have nixos-unstable on 3 systems, and 16.09 on 2 i think
<clever>
srk: ah, looks like your setting nix.package, which is different from what i was asking
<clever>
srk: was the infinite recursion related to setting nixpkgs.config.platform?
<clever>
smw_: you can also use a desktop or even a virtualbox vm in bridge mode
<clever>
srk: platform?
<clever>
mitchty: what happens if you just manualy run curl on the same URL as near the error msg?
<clever>
srk: ive been following them in #raspberrypi-internals
<clever>
Criena[m]: systemd.services.nginx.path = [ pkgs.python ]; should add python to $PATH for the nginx service
<clever>
t
<clever>
there are still some bugs the rpi foundation is ironing ou
<clever>
smw_: when i was doing it, the uSD had to contain only bootcode.bin and no other files
<clever>
that would allow you to boot the rpi3 over the network from a dir containing ~6 files
<clever>
then you could in theory, configure network booting for the rpi
<clever>
one crazy route we could take, disable the dhcp in the router, then setup your own dhcpd in nixos, that still says to use the router as a gateway
<clever>
advance stuff that no home router gives you control over
<clever>
smw_: do you have control of the DHCP server?
<clever>
nope
<clever>
smw_: yes
<clever>
that will give you a shell with those 3 things available, without having to install them globally
<clever>
lezed1: just run nix-shell -p eigen ncurses pkgconfig
<clever>
lezed1: and the same for ncurses, dev is the default output
<clever>
lezed1: just put eigen into the buildInputs
<clever>
and when that string gets compiled, it will turn into a storepath
<clever>
zetok: and because the vim config is in a nix string, i could include ${./foo.cfg}
<clever>
zetok: i think its just boot.kernelParams
<clever>
c74d: as long as nix can figure out the key names within your .config attrset, it can compute which module to route into, and lazy its way around the problem
<clever>
c74d: so you are getting your own return value as an argument
<clever>
c74d: the config argument passed to every module, is the result of inteligently merging the .config attribute RETURNED by every module
<clever>
ndowens08: i put my vim config into configuration.nix, so it always gets restored to the identical setup
<clever>
c74d: but by chance, i noticed it had an ipv6 link-local ip, and was able to get in
<clever>
c74d: only to discover, VM's get zero dhcp, and it had no routable v4 ip
<clever>
c74d: so i configured my vpn to connect out on bootup, using the private ip from dhcp
<clever>
c74d: with past experiments on a dedicated box, i found that the dhcp gives a private ip with NAT to the web, and you must configure a static public ip manualy to be open to the web
<clever>
that datacenter was also a "fun" test of kexec
<clever>
i gave it a 5 minute delay so i could always shutdown -c if i forgot
<clever>
or i had no way to remotely stop nixos
<clever>
so i had to correctly configure the network perfectly
<clever>
i was last using it in a datacenter that lacked DHCP
<clever>
c74d: and you can stop it with "systemctl stop autoreboot.timer"
<clever>
c74d: if you cant get into it, it will reboot back to the previous os
<clever>
devoid: and the error said exactly the same thing, "warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible"
<clever>
devoid: and if you want to boot with EFI, there must be an unencrypted fat32 for the bootloader
<clever>
devoid: if you want to boot via legacy with GPT, you must create a 1mb partition with the type set to "bios boot partition"
<clever>
devoid: is this a gpt drive?
<clever>
devoid: the config you gave doesnt enable efi
<clever>
but that wont affect grub install
<clever>
devoid: only other major difference i can see vs my config, is that i set it to open the luks before lvm