<clever>
fresheyeball: the installPhase for pytorch may not copy the right files
<clever>
EdLin: `rm result` not `rm result/`
<clever>
which gets worse if i cross a cabal file boundary
<clever>
main problem i run into, is when i'm editing a library, and want to repl an executable
<clever>
and this lets you run ghcid against cabal projects
<clever>
ghcid -c "runhaskell Setup.hs repl"
<clever>
so you could just point it towards a testcase, and let it rip
<clever>
ghcid can also be configured to run an `IO` thing after all warnings are gone
<clever>
fresheyeball: nope
<clever>
zeta_0: but youcompleteme in vim will auto-complete any "word" present in any open buffer, and i usually have those open for cross-referencing, or they are already used nearby
<clever>
zeta_0: about the only thing my workflow is missing (vim + ghcid) is context aware auto-completion
<clever>
CMCDragonkai: if you name it shell.nix, then you can just `nix-shell`
<clever>
CMCDragonkai: only way to make it shorter, is to put that string into a .nix file, and run `nix-shell thatfile.nix`
<clever>
with ghcid, you dont really need an IDE
<clever>
so you can see the most recent warnings/errors
<clever>
a program that runs ghci, and then does :r every time you modify a file
<clever>
you give it a string, it runs the string, end of story, lol
<clever>
keithy[m]: i would use hydra to automate that testing
<clever>
keithy[m]: and with rollbacks, you can undo any upgrade (though autoUpgrade will keep going fowards, undoing a rollback)
<clever>
keithy[m]: you wont really notice the problems if your not activating the config
<clever>
and i believe it has an option to set the interval
<clever>
autoUpgrade is already a systemd timer
<clever>
kvda: thats how all derivations work
<clever>
kvda: pkgs.hello is a variable that has the path of the hello package
<clever>
but if the users dont exist, things will fail
<clever>
its fairly simple to generate .service files
<clever>
drakonis: i have found ways to reuse systemd.services outside of nixos
<clever>
i think it was the unpack channels drv, got turned into rust
<clever>
so you have a fully opensource and nix managed os, that can run some darwin binaries
<clever>
another thing ive been interested in, is building the xnu kernel, and a very basic xnu userland os, using nix
<clever>
and all of the closed-source ELF files
<clever>
:D
<clever>
fZNxeka75: every time you make any changes to configuration.nix, it will create a new entry in grub, so you can go backwards to any previous state
<clever>
selfsymmetric-mu: ive mostly seen peti pushing the generated files, not sure how automated he has it
<clever>
fZNxeka75: the hash at the start makes it faster to tab complete
<clever>
fZNxeka75: the point of the hash being at the start, is that there is only going to be one path starting with 94n64, but there is going to be 20 paths starting with glibc-2.19
<clever>
selfsymmetric-mu: run hackage2nix to update the entire haskellPackages at once
<clever>
fZNxeka75: 95% of those contents are symlinks to /nix/store that get updated on every boot (or rebuild switch)
<clever>
fZNxeka75: if /etc is missing, nixos will recreate all of the contents on bootup, based on the configured settings
<clever>
yep
<clever>
kenshinCH: what does `which --all nvim` report?
<clever>
lovesegfault: which file did you find it in?
<clever>
> lib.flag
<clever>
lovesegfault: is there a `flag =` in the same file?
<clever>
some may want aarch32 || aarch64
<clever>
rather then printing the drv itself
<clever>
i think the problem is that `nix eval` on a drv, will eval every attr of the drv
<clever>
ah
<clever>
infinisil: nix-instantiate --strict
<clever>
lordcirth_: --arg config '{}' to exclude it
<clever>
lordcirth_: config.nix
<clever>
lordcirth_: x86_64-linux
<clever>
pikajude_: substituteAll and its related things
<clever>
aanderse: that tells nixos to update the /boot files
<clever>
aanderse: NIXOS_INSTALL_BOOTLOADER=1
<clever>
aanderse: correct, you have to run `switch-to-configuration boot`, possibly with the magic env var set...
<clever>
aanderse: thats also where kexec can come in handy
<clever>
aanderse: then you can just wipe the whole /boot, all files and dirs
<clever>
aanderse: has nixos already booted once?
<clever>
aanderse: dont have the same issues as needing /bin to shutdown
<clever>
aanderse: it would be simpler to just nuke /boot before you nixos-install
<clever>
yorick: and the c2.large.arm has been available since the very start of me monitoring capacity, it must have happened between trying to test it, and setting up monitoring
<clever>
in 5 regions
<clever>
yorick: i see signs that c2.large.arm is now available
<clever>
angerman: though, i also have stuff graphing the packet.net capacity, and it seems to be available now
<clever>
also, last time i tried to get aarch64 from packet, they where out of capacity
<clever>
angerman: i believe the aarch64 community box is in packet.net
<clever>
lovesegfault: and its 4am, was just on my way to bed
<clever>
lovesegfault: hence, why i always recomend wrapProgram
<clever>
lovesegfault: so, every time you try to login, it fails, and drops you back to the login screen
<clever>
lovesegfault: worse still, if you nix-env -iA any qt package, then later nixos-rebuild --upgrade, and your using KDE, the ENTIRE BLOODY KDE will break upon login
<clever>
lovesegfault: propagated-user-env-packages will then put one of those into ~/.nix-profile, breaking whichever package didnt get what it wanted
<clever>
lovesegfault: if you install wpa_gui, and wireshark, from different nixpkgs revs, they request conflicting versions of QT
<clever>
lovesegfault: it also silently collides, and causes all kinds of conflicts (exactly what nix is supposed to prevent)
<clever>
lovesegfault: but that will instantly fail when you do nix-build && ./result/bin/foo, and it hasnt been installed by nix-env
<clever>
lovesegfault: there is also propagatedUserEnvPkgs (or is it propagatedUserEnvPackages), which will force nix-env to install other things along side your thing
<clever>
angerman: this will rename $p (lets call it foo), to .foo-wrapped, then generate a bash script called foo, which prefixes PATH, then runs .foo-wrapped
<clever>
lovesegfault: it will then look for a $x/nix-support/propagaed-something file, and if present, it will behave as-if the paths within it where already in $buildInputs, and repeat the above
<clever>
lovesegfault: it will then add -I$x/include to the cflags, -L$x/lib to the LDFLAGS
<clever>
lovesegfault: when the stdenv is starting up, it will loop over every path in $buildInputs, sort of like: for x in $buildInputs; do
<clever>
angerman: i would just use wrapProgram to prefix PATH
<clever>
so things can leak out into runtime, if you choose to
<clever>
angerman: but in some cases (python), it will be used to populate PYTHONPATH (at build time), and then that PYTHONPATH value may get baked into scripts
<clever>
angerman: propagatedBuildInputs is only at build time, as far as the stdenv is concerned
<clever>
CMCDragonkai: if that happens to be a regular string, then it will wind up impurely pointing to something nix wasnt managing, like /srv/!
<clever>
CMCDragonkai: the setup-etc.pl script, expects "${source}" to mutate into a /nix/store path, and will just blindly symlink /etc/ssh/ssh_host_rsa_key to "${source}"
<clever>
CMCDragonkai: i think you can do "ssh/ssh_host_rsa_key" = { mode = "0600"; source = "/srv/something"; };
<clever>
CMCDragonkai: one min
<clever>
CMCDragonkai: another option is to modify the netboot stuff, so it has a persistent local partition mounted to /, for state
<clever>
nix-shell adds it to PATH without installing it
<clever>
nix-env adds them to your profile
<clever>
correct, nix-build just builds things
<clever>
keithy[m]: ls -l result
<clever>
id say thats a bug
<clever>
nix-build -p shouldnt even try to build it
<clever>
keithy[m]: then nix-build '<nixpkgs>' -A git
<clever>
keithy[m]: thats invalid, you want `nix-shell -p git`
<clever>
keithy[m]: what command did you run?
<clever>
i could rename the files some, others have had the same issue
<clever>
keithy[m]: just clone that repo, cd into kexec, add your ssh pubkey to the existing configuration.nix, and run the commands you see in `session.md`
<clever>
that 1st configuration.nix, is the config for the kexec system