<clever>
christianbundy: and nix will reuse anything that hasnt been changed
<clever>
christianbundy: each phase mocks out fewer ones, until everything has been rebuilt from source, as defined in nixpkgs
<clever>
christianbundy: then when the code in lines 183-214 builds any attribute (other then binutils/libc/perl), it will use those mocked versions, while building the real gcc/coreutils and so on
<clever>
christianbundy: lines 142-180 then create a dummy pkgs tree, with libc, gcc, binutils, coreutils, and gnugrep mocked out, to use the bootstrap-tools
<clever>
christianbundy: everything starts with a naked static busybox binary, and a tar containing gcc+libc and some very basic utils (cp and stuff)
<clever>
ogkloo: does eth0 have ip ip? is it up or down? does `tcpdump -i eth0 -n` show packets going in both directions? does `ifconfig` show non-zero counters for both directions?
<clever>
lsusb? `ip link` ?
<clever>
ogkloo: got a usb keyboard to login with?
<clever>
ogkloo: does the hdmi at least show something?
2020-08-01
<clever>
there is a default priority for when you dont set one, mkDefault/mkForce then just set things to be lower/higher then that main default
<clever>
Henson: yep
<clever>
Henson: so if you set it 3 times, to [1], mkForce [2], and mkForce [3], you will get [2 3] out at the end
<clever>
Henson: if you use mkForce, then it will still merge, but it will only merge the values you used mkForce on
<clever>
exarkun: and 8-11, will respect virtualisation.virtualbox.host.package if you want to change the versions
<clever>
exarkun: line 13-15 will grab the kernel virtualbox from your chosen kernel, and use .override to force it to use the virtualbox from line 8
<clever>
exarkun: line 90 puts the right version into systemPackages, and line 89 puts the kernel modules into extraModulePackages
<clever>
balsoft: the filename looks like chromium/electron to me
<clever>
balsoft: dont have source for what?
<clever>
balsoft: i think the working dir needs to be within the source, so that relative path exists
2020-07-31
<clever>
that only functions if you set it to relaxed
<clever>
KarlJoad: there is a special attr you can add to a derivation, to request the sandbox to be off
<clever>
srhb: and i think it even reaches to <nix/fetchurl.nix>
<clever>
srhb: its hidden in the util function for downloading, so it even affects builtins.fetchTarball
<clever>
srhb: there is even `nix-env -f channels:nixos-unstable` to generate that url automatically
<clever>
,pr dminuoso
<clever>
yeah, since you where already declarative, you could re-create everything with 1 command
<clever>
it often gets corrupt if you have an improper shutdown
<clever>
so when you do `nix-env -i`, it knows what you had before
<clever>
manifest.nix is how nix-env tracks imperative package management
<clever>
`nix-env --list-generations` should show that
<clever>
and if the target is missing, it will create an empty generation to start with, and begin again at 1
<clever>
~/.nix-profile says which profile to use
<clever>
yep
<clever>
you can gc after its fixed
<clever>
if you gc'd, you would loose the home-manager binary
<clever>
and then you would be even more stuck
<clever>
you need to look in `ls -l /nix/store/*/bin/home-manager` to find the old home-manager binary
<clever>
no need to gc, just home-manager switch
<clever>
ah, should be fine then
<clever>
`rm /nix/var/nix/profiles/per-user/little-dude/profile /nix/var/nix/profiles/per-user/little-dude/profile-32-link` will fix the problem, but remove everything you have installed in nix-env
<clever>
moet: you can use a haskell overlay to mutate the mkDerivation function that everything goes thru
<clever>
Guest79686: you can use overrideCabal to append to it, like you do with overrideAttrs
<clever>
but you can replace it with a chroot, if you know what $PATH should be
<clever>
bqv: nixos-enter does the chroot for you
<clever>
sdisavona: i also find tab-completing under `nix repl '<nixpkgs>'` to be a far faster way of searching, and you can also read other info on the package, like wireshark.meta.description or wireshark.meta.homepage
<clever>
(which i hadnt seen before, thats new)
<clever>
and it also has a comment saying dont use wireshark-gtk
<clever>
19725 # The GTK UI is deprecated by upstream. You probably want the QT version.
<clever>
19726 wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead.";
<clever>
sdisavona: if i then open that file, and read it, i can see its the other way around, wireshark-qt is the alias
<clever>
sdisavona: yeah, they are the same package, just different names
<clever>
> pkgs.wireshark == pkgs.wireshark-qt
<clever>
sdisavona: wireshark is just an alias, for people that dont know about wireshark-qt and wireshark-gtk
<clever>
,-A sdisavona
<clever>
sdisavona: its often faster to just assume the package name is obvious
<clever>
sdisavona: `nix-env -qa` will often hide any errors it encounters, so you dont get 3000's errors about every unfree package when unfree is blocked
<clever>
karantan: which process is using it all when it fails?
<clever>
karantan: it can sometimes happen if you have infinite recursion in your nix file, which proess is consuming all of the ram?
<clever>
terribleArtist: you want myHsPkgs = haskellPackages.extend overlay; then use myHsPkgs.lens-family and so on
<clever>
terribleArtist: lines 23-26 are using the old version, without the overlay
<clever>
sdisavona: what about `nix-env -iA nixpkgs.wireshark` ?
<clever>
> pkgs.haskell.lib.dontCheck
<clever>
cabal2nix can also be used to use a non-official fork
<clever>
terribleArtist: that changes the versions for datadog and buffer-builder, and disables testcases for both