<clever>
its very rare that it comes up at the start of a sentence
<clever>
lol
<clever>
so that spam bot did noting to my client
<clever>
hyper_ch: mine only does that if the mention is at the very start, like i did you for
<clever>
and he gave up
<clever>
eddyb: neat
<clever>
morning
<clever>
well, at least he is getting the admins attention for us, lol
2017-06-07
<clever>
jgedarovich: you can sometimes edit /etc/nixos/configuration.nix right from the installer, and "nixos-rebuild test" the installer env
<clever>
and that nix will then be used to do a proper nix build of everything (gcc, glibc, nix)
<clever>
jefdaj: i think the copy of nix in ~/nix-boot/ will be linked against the host libs
<clever>
jefdaj: you may need -L/lib64/
<clever>
to find a subset, the runtime deps
<clever>
nix knows the storepaths of the build-time inputs, and will then grep the output for those paths
<clever>
that happens afterwards
<clever>
unsafeDiscardStringContext just discards all of that, turning it into a plain string
<clever>
and the context carries over after any string manipulation
<clever>
danharaj: and if those strings are used in the creation of a new derivation, it will magically know what the build-time dependencies are
<clever>
danharaj: internally, every string in nix has context invisible attached to it, a list of derivations that string depends on
<clever>
danharaj: the derivation on line 110-116 contains the storepath of the system.build.toplevel derivation, but doesnt depend on it at build-time (or runtime), and it wont be made available inside the build sandbox
<clever>
danharaj: for small scale things, there is builtins.unsafeDiscardStringContext, but i cant see how that would be used against an entire disk image
<clever>
so it would have normally ignored yours, or overwritten the erlang ones, but they modified it to play nicely
<clever>
gleber_: ah, lines 57 and 63 are inserting the prepatch/postpatch you pass to erland, into its own pre/post hooks
<clever>
gleber_: depends on what context they are being set in, can you gist an example?
<clever>
gleber_: there is an autoreconfHook, just add it to your buildInputs, and it will do everything for you
<clever>
sphalerite: my brain works in weird ways, ive memorized a large chunk of the nixpkgs source, yet i cant remember when i last ate
<clever>
sphalerite: you will need to populate installer.cloneConfigIncludes with a list of nixos modules, all of them land in the imports section of the generated configuration.nix
<clever>
danharaj: yeah, ive noticed the same problem with all disk images, the only solution ive seen is to run some compression over it so the paths are not readable by nix
<clever>
you cant, only option i can see is to compress the image
<clever>
Sonarpulse: ive used it for a few things before
<clever>
internally, nixos-rebuild just calls that for you, on the result of nix-build
<clever>
you could have also done ./result/bin/switch-to-configuration boot
<clever>
you can also "--argstr system x86_64-linux" to force 64bit without having to set it inside the configuration.nix file
<clever>
[0x4A6F]: how about this command? /nix/store/py2rbw8840758zmpvniniq4h1i27d06i-nix-1.11.9/bin/nix-build '<nixpkgs/nixos>' -A config.system.toplevel
<clever>
[0x4A6F]: did you add the new nix's bin folder to the start of $PATH and run nixos-rebuild with _NIXOS_REBUILD_REEXEC=1?
<clever>
sphalerite: check my qemu args in the insane.nix for an example
<clever>
since it will be in the cache
<clever>
oh, you might also be able to do that directly on your end
<clever>
so my patches are absent from that hash
<clever>
[0x4A6F]: this forces my nix to build a 64bit version of nix, and ignore everything in config.nix
<clever>
nixos will also default to the arch that nix was built for, so the nixpkgs.system probably isnt required
<clever>
and run _NIXOS_REBUILD_REEXEC=1 nixos-rebuild boot
<clever>
then add it's /bin to the start of $PATH
<clever>
that will download it from the binary cache
<clever>
like /nix/store/sgvy8zr5zx8qp0j22ws5szykki4aw6yv-nix-1.11.9
<clever>
[0x4A6F]: you will need to run "nix-store -r" on the storepath for a recent 64bit build of nix
<clever>
[0x4A6F]: is the kernel 64bit capable?, what does uname -a say?
<clever>
sphalerite: what expression did you use?, i could build it and have a look
<clever>
though nix isnt aware of sparse files, and will still serialize it as a crap-ton of nulls
<clever>
sphalerite: there is also the truncate command, which will just set the size, potentialy making it sparse
<clever>
sphalerite: you can then dd that to a usb stick and it will boot like a normal nixos install, with full generations and nixos-rebuild support
<clever>
sphalerite: make-disk-image will do what it says on the tin, it has a wide range of options, and it basicaly does nixos-install into a .img file
<clever>
sphalerite: though another better option, is to skip the read-only squashfs entirely, let me find that expression
<clever>
sphalerite: then it would always consume the entire usb stick, rather then having a fixed size that has to be extended
<clever>
sphalerite: i just had a thought, what if, instead of creating an extra partition in the disk image at buildtime, what if you created it at boot time, from stage-1?
<clever>
so i mutated it into 32bit nixos (oops, didnt notice the arch!), then mutated it again into 64bit nixos
<clever>
but the gentoo still booted, and had a /nix/store that "worked"
<clever>
i was in the middle of moving it to a backup server when i had to leave, and that left it without a /usr/bin and stuff
<clever>
i had to go thru the 32->64bit conversion because i was on xmas vacation with half a gentoo install
<clever>
danbst: ive also made a kexec trick that can potentialy be used on any cloud provider with >1gig of ram and MBR booting
<clever>
danbst: and the 32bit nix still thinks the kernel is 32bit only
<clever>
danbst: yeah, but when you change nixpkgs.system, your using a 32bit nix to build a 64bit nixos
<clever>
and you cant run the 64bit stuff on a 32bit kernel
<clever>
and until you manualy force nix to be 64bit, it wont let you do 64bit builds
<clever>
danbst: the example in your gist only upgrades the kernel
<clever>
but if you nix-store -r a 64bit nix, you can add that to $PATH temporarily to unlock 64bit builds
<clever>
danbst: the 32bit build of nix believes the host to be 32bits, and will refuse to run a 64bit gcc
<clever>
danbst: hmmm, yeah, that just might work, but nix will need a bit more convicing afterwards
<clever>
gleber_: the build-chroot-dirs is the only part that may need more explaining, it contains the path that gets symlinked to /bin/sh, and the closure of /bin/sh, the one of the few impuritys that nix inject into the sandbox
<clever>
gleber_: i just manualy copy how i see it setup on nixos, look at the nix.conf file and setup build-chroot-dirs, build-users-group, build-use-chroot, and also create some build users in the nixbld group, and run nix-daemon as root
<clever>
preferably on the local network
<clever>
[0x4A6F]: it can be any linux 64bit machine with nix installed
<clever>
drakonis_: what does "ls -l /dev/vboxnetctl" say exactly?
<clever>
[0x4A6F]: i then had to read the result/bin/switch-to-configuration script, find the install-grub script, which is #!'d to the 64bit perl, and manualy run the 32bit perl against it
<clever>
[0x4A6F]: that will create a 64bit instance of nixos
<clever>
[0x4A6F]: if you add a 64bit build slave, you can do this: nix-build '<nixpkgs/nixos>' -A config.system.toplevel --argstr system "linux-x86_64", i believe
<clever>
drakonis_: does the "id" command say your in the right user?
<clever>
yeah, if you just run nixos-install without formating, it will reuse the current config
<clever>
[0x4A6F]: to start with, you need a 64bit build slave configured in configuration.nix, so it can do a 64bit build of the os
<clever>
[0x4A6F]: ive done it once before
<clever>
music mode also turned off the mic
<clever>
and the music mode had support for stereo, and resent lost packets
<clever>
i'm not sure, but i think the phone quality mode sounded worse, but allowed packet loss?
<clever>
and its "tethering" was ppp over bluetooth serial
<clever>
oh, that phone didnt even have wifi
<clever>
it was back from the era when a "smartphone" ran palmos
<clever>
part of my problem might have been from me using the oldest bluetooth headset possible, lol
<clever>
and the description says you can just set package to pulseaudioFull
<clever>
and also, the description, you probably dont even need an override
<clever>
sphalerite: which attribute did you override?
<clever>
i saw an issue a few weeks back about nixos loading the overlays (it would fail if the overlay had a syntax error), but ignoring them entirely
<clever>
most of its features just work out of the box of nixos, but you cant reprogram the buttons, and the low battery warning is gone
<clever>
sphalerite: logitech g930
<clever>
sphalerite: i have since switched to a wireless headset with a proprietary RF protocol (the dongle claims to be a usb sound card + usb HID)
<clever>
sphalerite: the range was horid, it had constant dropouts, and it buffered any lost packets, causing the latency to get worse every time it had a dropout
<clever>
sphalerite: i dont remember the exact config i used, but i believe i had it working in nixos a year or 2 ago
<clever>
yeah, just jobs = import ./jobs.nix { usesStableNixpkgs = true; } in nix-repl and then you can tab-complete on jobs.
<clever>
joko: you can either pass that machine list directly in via an argument, or throw in an if statement to change the file
<clever>
joko: ah, line 18, your currently reading a machines file
<clever>
joko: you can add arguments to the jobs.nix file like any other file, so { usesStableNixpkgs ? false }:, and then in hydra, you can set that as a nix expression
<clever>
aloiscochard: mesa should contain the opengl headsers/libs
<clever>
and if you run the same query commands on the result that nix-build makes, you can see the runtime closure
<clever>
ij: that will show the entire build-time closure
<clever>
ij: run nix-instantiate on the nix file, then nix-store --query --tree or nix-store -qR
<clever>
nix uses lazy evaluation, and will only eval the parts of pkgs that you reference, and only the derivations you reference directly become part of your closure
<clever>
only the things listed inside the derivation become a dependency
<clever>
you just brought the pkgs variable into scope
<clever>
ij: inherit (nixpkgs) pkgs;, this gives you access to the pkgs attribute
<clever>
ij: ooohh, yeah, 'git' inside a with haskellPackages; gives you the haskell package called git
<clever>
goibhniu: yep, that was part of the plan, you can either use it for servers, or localhost it for new users
<clever>
it will then serialize out to a configuration.nix file
<clever>
this shows the full tree of options, with descriptions, and you can paste them into a tree of config
<clever>
tanonym: i started something similiar that would allow full config of nixos
<clever>
lol
<clever>
sphalerite: :D
<clever>
so i could walk up to that car, guess the wpa password in ~200 tries, then dbus root your radio
<clever>
the wifi is also always on, and gives you access to the dbus
<clever>
so the seed is the uptime
<clever>
before ntp has had a chance to do its thing
<clever>
oh, and the wpa passphrase on the wifi hotspot is seeded with the unix timestamp at bootup
<clever>
the captive portal just wont let you thru until you pay
<clever>
even if your not paying for it
<clever>
the issue in that car, is that the 3d is always on
<clever>
and then just turn off the safetys they had put in the CAN bridge
<clever>
so you can remotely reflash the entire radio
<clever>
however, they ran a shell script from writable media, while in flashing mode
<clever>
and you had to reboot the radio into flashing mode to reprogram that second processor
<clever>
so you couldnt directly fiddle with the ECU
<clever>
there was also a dedicated cpu acting as a bridge between the main OS cpu, and the CAN bus
<clever>
which means, malware in one car is free to spread to all other cars, but the big bad internet cant get in :P
<clever>
in that case, the port was firewalled off at the teleco, so it could only be accessed by other cellular users on the same telco
<clever>
avn: i have also seen horribly done dbus services, there was a car entertainment center that had dbus running over bare tcp, on the internet, and it had a method to run a command as root
<clever>
aloiscochard: ah, its cmakeConfigurePhase