<clever>
tbenst: environment.etc, in the nixos manual
<clever>
and default itself, is another symlink
<clever>
yep
<clever>
is a symlink into /nix/
<clever>
catern: and the symlinks made by result will only work on one machine
<clever>
catern: it should work fine, once you install nix on both machines, but they will have different things things in nix-env
<clever>
bsima: i try to avoid runAsRoot, because it harms performance, even more if you lack access to /dev/kvm
<clever>
bsima: the only way to get root is to run the entire command in a qemu vm
<clever>
o1lo01ol1o: its usually a list, so swapDevices = [ { device = "/var/lib/swap1"; size = 2048; } ];
<clever>
o1lo01ol1o: if you point device to a file (which can not exist), and also set size, then nixos will generate a file for you, of that size
<clever>
swapDevices.*.device
<clever>
swapDevices.*.size
<clever>
o1lo01ol1o: and with only 500mb available, i can see how hydra might OOM
<clever>
o1lo01ol1o: what does free -m report?
<clever>
o1lo01ol1o: those are disk free, not ram free
<clever>
o1lo01ol1o: `free -m` ?
<clever>
o1lo01ol1o: anything in dmesg?
<clever>
o1lo01ol1o: did you use sudo -i or plain sudo hydra-eval-jobset?
<clever>
o1lo01ol1o: did it return to the hydra shell or the root shell?
<clever>
then you can see the full eval output, without it getting mixed into other unrelated logs
<clever>
o1lo01ol1o: as the hydra user, run hydra-eval-jobset <project> <jobset>
<clever>
dmj`: but its difficult to confirm if your censoring all of the code!
<clever>
dmj`: thats what i suspected, when i asked the very first question
<clever>
dmj`: 2019-12-04 14:00:19 < clever> dmj`: is it a deployment file or nixos file?
<clever>
dmj`: can you pastebin the whole `--show-trace` ?
<clever>
dmj`: what is the exact error it gives?
<clever>
dmj`: there is no { optimizations ? false }: anywhere in that example
<clever>
dmj`: can you pastebin that file?
<clever>
dmj`: is it a deployment file or nixos file?
<clever>
and prevents such issues
<clever>
builtins.path takes both a name and a filter
<clever>
because the original hash1-foo and hash2-foo didnt match
<clever>
Taneb: and when you filtered in hash2-foo, it copied&filtered, to hash4-hash2-foo
<clever>
Taneb: when you did ./., in /nix/store/hash1-foo, it copied&filtered, to /nix/store/hash2-hash1-foo
<clever>
Taneb: the names of the 2 inputs dont match, you must use builtins.path
<clever>
Taneb: can you pastebin the output from nix-diff?
<clever>
Taneb: can you paste a link to the hydra in question?
<clever>
Taneb: try using nix-copy-closure to pull the .drv from hydra, and use nix-diff to compare to a local one?
<clever>
Taneb: and are you looking at the src for the derivation hydra is building?
<clever>
deni: did you use ${ like in my example?
<clever>
Taneb: if its excluded, you wont see it in the nix store
<clever>
then you may need to exclude .gitignore too
<clever>
Taneb: are you using filterSource?
<clever>
Taneb: what is nix-diff saying the difference is?
<clever>
Taneb: you want builtins.path if you need to ensure ./. has the same name
<clever>
but if you where, you would use passAsFile
<clever>
deni: in your case, your not even editing the file, so you can just use cat or even cp
<clever>
deni: '${dev_key}' will blow up the instant you have a ' in the json
<clever>
bash chews up the json
<clever>
deni: '' echo ${dev_key} > /some/path/key.json'' just generates: 'echo {"key":"value"} > /some/path/key.json'' and then
<clever>
deni: nix is generating a bash script, and bash then runs that to produce the result
<clever>
{key:value}
<clever>
$ echo {"key":"value"}
<clever>
deni: basically, try just doing `echo <json>` in a terminal, without any extra quoting
<clever>
deni: you want just `cat ${./path/to/key.json} > /some/path/key.json` without the echo of readFile
<clever>
deni: bash parsed all of the quotes in that and chewed it up
<clever>
syzygyzer: so once its being read, its too late to change which nixpkgs your using
<clever>
syzygyzer: the nixpkgs in the channel is what reads configuration.nix
<clever>
syzygyzer: you usually dont want channels on the non-root user, only use channels on root
<clever>
,stateVersion Shoubit
<clever>
jboy: `nix-env --profile /nix/var/nix/profiles/system --set /nix/store/something` will ask nix to just make a given build current
<clever>
jboy: if you `ls -l /nix/var/nix/profiles` you can see what every generation is pointing to, and the main `system` symlink points to the current one
<clever>
jboy: rollback doesnt delete generationd
<clever>
that also applies to using sed
<clever>
let PATH do things for you
<clever>
just replace /usr/bin/gcc with plain old gcc
<clever>
stdenv puts gcc in PATH
<clever>
oh wait no
<clever>
ah right, ack!
<clever>
but sed is probably simpler
<clever>
then use patches = [ ./foo.patch ];
<clever>
Henson: if you are making a patch, edit the makefile, and use diff -u to generate a patch
<clever>
Henson: patch the makefile, with either sed or a .patch file
<clever>
zeta_0: though i notice, you have 2 ihaskell's in there, that will cause problems
<clever>
zeta_0: looks fine
<clever>
zeta_0: you dont need line 8, the pkgs on line 5 already gives you nixos unstable
2019-12-03
<clever>
nh2: i think they are only meant for bootstrapping
<clever>
zeta_0: { config, pkgs, lib, ... }:
<clever>
zeta_0: which piece of code? for what?
<clever>
siraben: probably fine
<clever>
zeta_0: looks good
<clever>
which would likely lead to more confusion
<clever>
which is pointless
<clever>
tilpner: both nixos and nixos-unstable map to nixos-unstable
<clever>
zeta_0: you want to delete the duplicate nixos-unstable
<clever>
siraben: id say you should also print that your own timeout triggered, when it triggers
<clever>
that will do it
<clever>
oh
<clever>
tilpner: it failed in 56 seconds, that doesnt look like a timeout?
<clever>
zeta_0: nixos-unstable or nixos-19.09
<clever>
siraben: does /nix/store/dfcag0m309w32f9a2cgs3k5d3qj7slzf-mini-haskell.drv exist locally?
<clever>
zeta_0: any channel
<clever>
,locate
<clever>
,locate bin/nix-locate
<clever>
zeta_0: you must give both a name and url, the man page says which order they go in
<clever>
Thra11: nix-locate and the ,locate command on {^_^}
<clever>
zeta_0: use --add again, the man page says how to specify a name
<clever>
tilpner: the default $NIX_PATH assumes its named nixos, and will complain if it isnt
<clever>
zeta_0: one of them must be named "nixos" in the left column, and nixos-rebuild will use that
<clever>
zeta_0: you dont have a channel with a name of "nixos" anymore, so its failing to find "nixos"
<clever>
zeta_0: does `nix-channel --list` show a nixos channel?
<clever>
zeta_0: pretty much
<clever>
zeta_0: it still explains how to run software from a channel your not on
<clever>
zeta_0: just swap the names in the directions
<clever>
,unstable zeta_0
<clever>
mananamenos: if you want to access it as your own user, you need to use roles or similar, to grant yourself permission to another user
<clever>
mananamenos: i think you have to run that as the linux user postgres
<clever>
exceptions lead to it not creating $out
<clever>
zeta_0: 35/36 will then do something with those variables, and in this case, the result is a binary "it worked" or "it failed", so it just always writes "done" to $out
<clever>
zeta_0: this will grab a ghc that has cardano-sl-util, cardano-sl-infra, and split in scope, then compile lines 25-55, then it will execute the compiled haskell code, with the 2 env vars from lines 8&15
<clever>
zeta_0: and here is an example of it in use, you execute runHaskell, pass it a name, a set of haskell packages to get things from, a list of haskell deps, an attribute set, and a string containing haskell code