<clever>
vaibhavsagar: some of them are only known at buildtime, via $out/nix-support
<clever>
adelbertc: oh, i think @1 in mtime, says its a raw unix timestamp, and to not try to parse it as a date/time
<clever>
ah, that makes sense
<clever>
Lears: i have heard of it, but havent tried it yet
<clever>
you can select which ones it needs
<clever>
i would make it such that you dont have to do EVERYTHING in one
<clever>
elvishjerricco: the summed cabal file will have all of the cabal projects in one shell, and `cabal build` will just treat it as one massive blob for incremental building
<clever>
djtyml: i'm not that familiar with what reflex-platform is doing with all of its nix files, they seem to be trying to automate a lot of the tricky stuff, but that also makes it harder to debug anything
<clever>
elvishjerricco: so you can nix-shell into that summed.cabal, and it will have all src and executables
<clever>
elvishjerricco: i have plans for a tool that will just sum together several cabal files
<clever>
elvishjerricco: and i properly define all modules in nix :P
<clever>
and just dont use new-build at all
<clever>
elvishjerricco: i prefer using the cabal library nix-shell provides, via Setup.hs
<clever>
djtyml: reflex platform is running callCabal2nix on every source directory you give it, to auto-generate nix files for each
<clever>
elvishjerricco: cabal shouldnt be installed on nixos, it tends to cause version conflicts down the road
<clever>
djtyml: oops, ^^^
<clever>
elvishjerricco: outside of nix-shell, what does `type cabal` print?
<clever>
elvishjerricco: aha, system() is to blame
<clever>
djtyml: you also shouldnt run the cabal binary, but Setup.hs
<clever>
all haskell must be done in nix-shell, and it will then have the same versions
<clever>
djtyml: in general, you shouldnt be installing any haskell things with nix-env
<clever>
djtyml: cabal2nix likely doesnt like being ran against a zip file, try just not listing heist in packages?
<clever>
and remove the jailbreak
<clever>
so you need to give it pkgs.haskellPackages.heist.src i think
<clever>
djtyml: but pkgs.haskellPackages.heist is a derivation, which contains the already compiled heist library
<clever>
djtyml: i think the problem is that reflex-platform expects packages.heist to be a path, and for the heist directory to contain a cabal file
<clever>
ah, differs from the one in the repo
<clever>
djtyml: its not clear yet where heist is coming from, the string doesnt appear in your repo
<clever>
builder for '/nix/store/04s6cca0b5q00n0qqp8h1kwzqrbiz1f5-cabal2nix-heist.drv' failed with exit code 1
<clever>
djtyml: you also generally want to add result to .gitignore after you remove it from git
<clever>
djtyml: can you also gist the full output from the error?
<clever>
djtyml: can you gist the nix expression?
<clever>
will the next process be 0?
<clever>
what if you just unset it entirely?
<clever>
wasnt sure if it would or not
<clever>
gui terminals then increment it once more in their shell, resulting in 3 for gui terminals
<clever>
xsession runs xinitrc (from xfce4), and the xinitrc bash script incremented it to 2, which is where all gui programs run
<clever>
elvishjerricco: so maybe SHLVL=-1 ?
<clever>
elvishjerricco: the problem, is that it gets incremented after this point, twice
<clever>
elvishjerricco: this is the xsession script from above, it has an SHLVL of 1, its child (xinitrc in xfce) is 2, and then the gui terminals are 3
<clever>
$SHLVL will read the current value and insert that into the export command, \$SHLVL will insert a literal $SHLVL into PS1, and then re-eval it again on each cmd
<clever>
it will dynamically read the current value on every printing
<clever>
elvishjerricco: yeah, just a \$SHLVL in PS1 is enough
<clever>
hmmm
<clever>
ive only noticed those when git-bash on windows hangs for 30 seconds after every cmd, because ntfs doesnt like `git status`
<clever>
there are also hooks to just run a command between every command
<clever>
SHLVL
<clever>
elvishjerricco: does PS1 have a flag for it, or will i need to run a command?
<clever>
nix-shell is too heavy, but nix run is too light and i dont even notice it
<clever>
i can see SHLVL being handy though, o keep nesting `nix run` by accident or just entirely forgetting to exit it
<clever>
so, several proccesses in the xorg startup are bumping SHLVL
<clever>
and since i manually launch screen on the laptop, its shells are 4
<clever>
and shell inside gui terminals being 3
<clever>
leading to all gui apps being in level 2
<clever>
so when xinitrc inside xfce ran xfce4-session, it got bumped again
<clever>
and 5065 is SHLVL=2!
<clever>
so xsession ran xinitrc, which bumped the level
<clever>
5053 is SHLVL=1!
<clever>
5065 ? Sl 2:15 xfce4-session
<clever>
5053 ? S 0:00 /nix/store/8zkg9ac4s4alzyf4a8kfrig1j73z66dw-bash-4.4-p23/bin/bash /nix/store/kqrl910lkvn8q1ybkmhv5x3834hj0mia-xfce4-session-4.12.1/etc/xdg/xfce4/xinitrc
<clever>
4957 ? S 0:00 /nix/store/8zkg9ac4s4alzyf4a8kfrig1j73z66dw-bash-4.4-p23/bin/bash /nix/store/qwa6a62r78mq0pnfad9q12pd0jzl414n-xsession xfce
<clever>
which is still 0
<clever>
which ran this after logging in
<clever>
4913 ? S 0:00 /nix/store/8zkg9ac4s4alzyf4a8kfrig1j73z66dw-bash-4.4-p23/bin/bash /nix/store/qwa6a62r78mq0pnfad9q12pd0jzl414n-xsession xfce
<clever>
tertle||eltret: ls -l /nix/var/nix/profiles/per-user/root/channels/
<clever>
tertle||eltret: sudo nix-channel --list
<clever>
what does `echo $NIX_PATH` say?
<clever>
$NIX_PATH is broken
<clever>
then you need to modify your program to be able to use rtkit
<clever>
tertle||eltret: if you set security.rtkit.enable = true; then pulseaudio is able to elevate itself to RT without having root
<clever>
tertle||eltret: what error does it fail with?
<clever>
tertle||eltret: run `id` and confirm your in the audio group
<clever>
sophiag: that could be inside the file you load with callPackage
<clever>
iqubic: efi booting requires GPT
<clever>
iqubic: also, do you want to boot with legacy or efi?
<clever>
iqubic: gpt tables have no limit
<clever>
iqubic: for dos partition tables, 4 primary, one of which can then contain many extended, but you should never really use dos partition tables anymore
<clever>
stdenv and requireFile are not in that set
<clever>
but configuration.nix ix a nixos module, and it has a different set of args it can accept
<clever>
so if you run callPackage on { stdenv }:, then it will pass you the value of pkgs.stdenv
<clever>
sophiag: for packages, pkgs.callPackage will inspect the arguments the file is asking for, and get defaults from pkgs.defaults
<clever>
but that was a single file in my imports section, so it was trivial to just comment out that, and downgrade the machine
<clever>
when i was testing 17.09 to check for the bug i previously mentioned with pie_, i ran into an issue where binfmt-misc didnt exist yet
<clever>
its easier to organize and manage if you have a new file for each thing and feature
<clever>
yes
<clever>
just let opam2nix = pkgs.callPackage ./path/to/default.nix {}; in ...
<clever>
but you are also free to just callPackage everything in a let block
<clever>
the main thing you gain from using packageOverrides is that it winds up inside the pkgs used by nixos, so you can just do pkgs.thing elsewhere, and you can overwrite the pkgs that other nixos modules is using
<clever>
you can then put it into either a let block, or packageOverrides
<clever>
and then load it with pkgs.callPackage ./path {}
<clever>
its better to keep that default.nix as its own default.nix file
<clever>
stdenv can only be used like that in a file being opened with callPackage
<clever>
that looks like you took a default.nix and a configuration.nix and jammed them together
<clever>
same for stdenv and requireFile, which should not be on line 1 of configuration.nix
<clever>
so you want pkgs.fetchFromGitHub
<clever>
that is an attribute of pkgs
<clever>
what error is it currently giving?
<clever>
sophiag: and then just import that into configuration.nix later, when it works
<clever>
sophiag: you can also use import to load other nix files, so you could make a simple nix file that just builds with nix-build
<clever>
sophiag: gist supports multiple files, which makes things easier to read
<clever>
iqubic: if your using EFI, it must be fat32 and tagged as the efi system partition
<clever>
and its getting a bit off topic so i'll switch rooms
<clever>
and after further research, those symptoms are how the hardware is supposed to work
<clever>
but that also confirmed, 17.09 was exibiting the same symptoms
<clever>
surprisingly, it was trivial to downgrade from nixos-unstable to 18.03, and then even 17.09
<clever>
so i had to rebuild the old versions from nixpkgs
<clever>
but i had GC'd everything :P
<clever>
just last week, i had the need to do a rollback of several months to test something
<clever>
but you can also just let nix-collect-garbage --delete-older-than nuke em all
<clever>
pie_: i prefer to manually delete certain system generations, based on the results of --query --roots
<clever>
and i prefer to avoid using -d, it can make it difficult to undo other mistakes later
<clever>
if ran with zero args, that doesnt matter
<clever>
pie_: run --query --roots on each, and pastebin all of the results
<clever>
if there are roots, what you do will depend on where the roots are
<clever>
and if there are no roots, nix-store --delete it
<clever>
pie_: once you find a ghc you dont like the look of, nix-store --query --roots it
<clever>
_d0t: so just make a derivation that unpacks this tar, copies some things to $out/share/whalebird, and then generates a bash script under $out/bin