<clever>
Turion: its meant to track what version you originally installed, so non-compatible changes in nixos can be worked around
<clever>
Turion: it must never be changed
<clever>
Turion: that would break the very thing its meant to fix
<clever>
Guest29: when did you last do a nix-channel --update as root?
<clever>
Guest29: ive been setting it to nix.package = pkgs.nixUnstable; but there should also be a nixStable2 now
<clever>
and the channels refuse to update when certain important things are broken
<clever>
Turion: unstable is based on master, where every single pr goes, and it will break more often
<clever>
Turion: 18.03 is a branch that will only be receiving fixes and important upgrades, so it breaks less often
<clever>
you would need to import an unpatched nixpkgs, then use a derivation to apply the patch to a copy of nixpkgs, then import-from-derivation that result
<clever>
jluttine: if you add .patch to a URL for a commit, github gives it to you in patch form, but applying that patch to nixpkgs isnt so simple
<clever>
Turion: all users inherit roots nix-env packages, but systemd doesnt
<clever>
postgresql has 2 different incompatible changes it has gone thru
<clever>
Turion: it would only work for root
<clever>
Turion: you need to set the nix.package entry in configuration.nix to properly update it
<clever>
Turion: that still wont change the daemon that systemd runs
<clever>
Guest29: never
<clever>
yeah
<clever>
and if the process running has +w to /nix/store, it just bypasses the daemon and forks out the same worker the daemon would have made
<clever>
elvishjerricco: then nix-store -r asks the daemon to build those drv files
<clever>
elvishjerricco: nearly everything nix-instantiate does is client side, and it generates a tree of .drv files (which it has to forward to the daemon to put in the store)
<clever>
elvishjerricco: and also, some of the 2.0 features need a 2.0 daemon, and fail with weird errors
<clever>
elvishjerricco: it also causes other fun problems, somebody in here has 1.11 installed with nix-env, but 2.0 as the daemon, so NIX_REMOTE was no longer setup, which broke the 1.11 nix
<clever>
elvishjerricco: right
<clever>
you must change it via nix.package in configuration.nix, and any attempt at installing it with nix-env will just cause problems
<clever>
Turion: nix-env cant change the nix version on nixos
<clever>
oh, i see, different suffix depending on the prefix
<clever>
check to see if it has an env var to configure it to look elsewhere
<clever>
yeah, nix-env manages .nix-profile
<clever>
ahh
<clever>
and if you nix-env -i it, what path does it try to open?
<clever>
which path is it trying to open?
<clever>
yep
<clever>
rotaerk: strace, and other debug logs may explain that
<clever>
that can work even if the profile is in the wrong place
<clever>
its possible that your .nix-profile had never been right, and this is the first time you did a GC?
<clever>
that can be done with just nix-env -iA nixpkgs.nixStable2 i believe
<clever>
Tritlo: also, scripts exist that just auto-install and configure everything
<clever>
Tritlo: try using nix-channel --remove and --add to remove that nixpkgs-18.03-darwin channel, then re-add it with just the name nixpkgs, then --update
<clever>
and then inside each of those?
<clever>
what do you have in ~/.nix-defexpr/ ?
<clever>
that means you need to add a channel
<clever>
Tritlo: the profile link is supposed to point to a numbered profile link, which then points into the store
<clever>
Tritlo: thats not what it should have been pointing to
<clever>
Tritlo: what does .nix-profile point to?
<clever>
rotaerk: can you gist your full default.nix file?
<clever>
rotaerk: or add it to your buildInputs
<clever>
rotaerk: nix-shell -p vulkan-loader
<clever>
samueldr: i would expect at least nix itself to eval, so it can upgrade, but he used -i, which tries to eval everything
<clever>
Tritlo: ^^^
<clever>
!-A
2018-04-01
<clever>
tomberek: you would need to make a custom derivation that builds only the dtb's, and then modify the area of nixos that copies them into /boot/
<clever>
depends heavily on how much duplicates you have in the files
<clever>
it will hash every single file in the store, and hardlink the duplicates to eachother
<clever>
you can also delete just a single generation
<clever>
but it can only delete system generations if its ran as root
<clever>
-d will delete all unused generations for profiles you can write to
<clever>
freeman42x]NixOS: by default, nix-collect-garbage wont delete old profiles
<clever>
freeman42x]NixOS: run nix-store --query --roots on each one, and see what refers to them all
<clever>
freeman42x]NixOS: --query --roots lets you see why it cant be deleted, and --delete lets you delete just that, without having a GC randomly delete other un-rooted things
<clever>
freeman42x]NixOS: mostly
<clever>
freeman42x]NixOS: ncdu -x /nix/store/, then try to nix-store --delete and nix-store --query --roots any fat paths
<clever>
but you can also just give it a path to a file
<clever>
if you give callPackage a path to a directory, it loads the default.nix within
<clever>
whatever works for you
<clever>
`with pkgs;` may have priority, but you can just give it some other name
<clever>
yeah
<clever>
and youll want to switch to pkgs.haskellPackages
<clever>
{ config, pkgs, ... }: let psc-package = haskell.lib.justStaticExecutables haskellPackages.callPackage foo {}; in { ....
<clever>
put the let near the top of the file, before the 2nd {
<clever>
let psc-package = haskell.lib.justStaticExecutables haskellPackages.callPackage ../development/compilers/purescript/psc-package { } in ...
<clever>
also, that let block is completely wrong
<clever>
you have to give the right path to your copy of the file
<clever>
in a let block near where you want to use it
<clever>
but you can use the nix i pasted to load another version of it
<clever>
it will use whatever version is specified in that version of the file for your current nixpkgs
<clever>
i-am-the-slime: its already in all-packages.nix, so you can just do pkgs.psc-package
<clever>
nix1 and nix2 also handle NIX_REMOTE very differently
<clever>
it might
<clever>
which may fail further down the line
<clever>
and treat "" as a valid value
<clever>
some programs only check if its null to see if its set or not
<clever>
while the second unsets it, causing the getenv() call in c to return null
<clever>
the first sets it to an empty string
<clever>
puffnfresh: NIX_REMOTE= and unset NIX_REMOTE can behave very differently
<clever>
so it may only be needed for things 1.11 downloaded
<clever>
yorick: i suspect copy-sigs may happen on any path realized with 2.0, but i havent confirmed it
<clever>
yorick: copy-sigs also helps, to copy signatures from cache.nixos.org
<clever>
yorick: and you need sign-paths to sign things that where made prior to the config being set right
<clever>
yorick: if this is correctly set, nix-daemon will sign everything for you, and then the signatures live in /nix/var/nix/db/db.sqlite
<clever>
secret-key-files = /etc/nix/signing.sec
2018-03-31
<clever>
yorick: nix-serve isnt aware of 2.0 keeping signatures in the database, so that wont help any
<clever>
yorick: all i did was look at the /etc/nix/nix.conf on my main machine, which runs 2.0
<clever>
krey: all build-time tools are only used in nix-shell
<clever>
lostman: the option was renamed to trusted-public-keys in 2.0
<clever>
Lisanna: that also works
<clever>
krey: id always do that inside a nix-shell -p python
<clever>
lostman: the cache must be in nix.conf or you must be root to specify custom ones
<clever>
lostman: non-root users cant specify their own binary caches
<clever>
krey: why are you installing python?
<clever>
krey: so just move things to another point in the list
<clever>
krey: if your using -p, you cant set the priority that easily, but the priority is based on the order as well
<clever>
krey: just dont install the things that cause it to duplicate up
<clever>
krey: then its down to the priority, i also try to avoid causing duplicates like that
<clever>
krey: are all of them installed?
<clever>
Lisanna: is /boot correctly mounted when you do the nixops deploy?
<clever>
Lisanna: the nixos generation menu is the bootloader
<clever>
Lisanna: and then the bootloader scripts in nixos deal with copying it to /boot/
<clever>
Lisanna: nix builds the bzimage, it would wind up in a place like /run/current-system/kernel
<clever>
Lisanna: yeah, nixops is a bit of a pain when your not dealing with uniform install conditions
<clever>
yeah
<clever>
Guest57550: the .iso file was already a valid usb image, it just has to be written without any changes
<clever>
Guest57550: that breaks the image
<clever>
Guest57550: how did you make the usb disk bootable?
<clever>
LnL: which config is that in?
<clever>
__monty__: and i think it already relied on nscd in nixos, to get them loaded right
<clever>
__monty__: ah, outside of nixos, not sure, the nix ld.so doesnt look in places like /usr/lib so the nss modules that the host os setup wont be found so easily
<clever>
bbl
<clever>
__monty__: i think it also relies on nscd
<clever>
andrewrk: youll need to GC some old system profiles with nix-collect-garbage --delete-older-than, manually delete a few kernels from /boot, and re-run nixos-rebuild switch/boot
<clever>
andrewrk: grub or systemd-boot?
<clever>
Lisanna: i think nix just assumes the local machine supports all features
<clever>
Lisanna: ive also seen it deadlock that way, thats why i dont use localhost as a remote system
<clever>
python is already packaged in nix
<clever>
what exactly are you trying to build?, and how is it trying to detect zlib?
<clever>
what is the error it has?
<clever>
nix-shell handles dev stuff automatically
<clever>
yep
<clever>
nix-build ../default.nix
<clever>
but you can also give nix-build and nix-shell a path
<clever>
nope
<clever>
in the current directory
<clever>
nix-build will internally do similar things while building things for you
<clever>
so no mess left behind
<clever>
and once you leave that shell, they are effectively gone
<clever>
yep
<clever>
and any nix tools will refuse to use those libraries
<clever>
its not supposed to work like that, and will only work part of the time
<clever>
ah, singular
<clever>
!library
<clever>
try this: ls -l /lib /bin /usr /usr/bin
<clever>
nixos also doesnt have /lib
<clever>
monokrome: nixos doesnt have a /usr/lib/
<clever>
monokrome: and also, why are you trying to compile python?
<clever>
monokrome: i cant rmember the right keyword for the bot, but installing libraries wont fix compile problems, nix doesnt work like that
<clever>
!librarys
<clever>
!libraries
2018-03-30
<clever>
and if i accept, and try to reconnect, it just fails later with ls: cannot access 'phone': Transport endpoint is not connected
<clever>
zybell_: mine fails like this when the phone asks for confirmation
<clever>
LIBMTP_Get_Storage() failed:-1
<clever>
and in my case, the phone popped up a confirmation to allow/deny the instant i plugged it in
<clever>
ThatPako: it may need root to open the usb node
<clever>
well, that explains why it doesnt accept any flags, lol