<clever>
joebobjoe: the sandbox is basically a container, it changes what / maps to, so you cant search!
<clever>
joebobjoe: there is also the optional sandbox, which basically builds things in a container, so you cant even be naughty and look in /nix/store/*/ yourself
<clever>
joebobjoe: because X is at /nix/store/hash-x, you cant auto-detect it without nix giving you the whole path to it
<clever>
joebobjoe: correct
<clever>
joebobjoe: and then when i remove X, the package breaks hard
<clever>
joebobjoe: when i was on gentoo, some packages would enable featues i didnt say to enable, because it auto-detected X installed, and enabled support for X
<clever>
joebobjoe: and sometimes you may run into issues where you have to update 20 things just to remove 1 thing
<clever>
joebobjoe: but to apply that new package file, you need to atomicly update everything listed in it
<clever>
or `nix-env -e python3` to remove it temporarily, without also updating everything else at the same time
<clever>
so you can temporarily ignore this advice, and `nix-env -iA nixpkgs.python38` to update just one thing, rather then updating it all at once
<clever>
1 just tells nix-env to install each thing seperately
<clever>
2 creates a single massive package in nix-env, and you must update it all at once
<clever>
i also prefer 1 over 2
<clever>
joebobjoe: 1 is directly part of nix, 2 make use of nixpkgs (you almost never use nix without nixpkgs), 3 is a 3rd party extension
<clever>
iqubic: single quotes stop ~ from doing its job
<clever>
iqubic: use that path instead lf <home-manager>
<clever>
iqubic: is home-manager in there?
<clever>
iqubic: [clever@amd-nixos:~]$ ls ~/.nix-defexpr/channels/
<clever>
joebobjoe: thats why nixos doesnt use /bin and /lib at all
<clever>
srhb: *eyes go*
<clever>
FRidh: and if it was already installed, then it updates to whatever the expr gave
<clever>
FRidh: -u will always use names, but if you -i a list/set, it will install just the things in that list/set
<clever>
iqubic: you need to relog the first time you add a non-root channel
<clever>
legacy code i'm guessing
<clever>
srhb: -u matching by name
<clever>
srhb: thats what i suspected
<clever>
srhb: does guix even work on darwin?
<clever>
joebobjoe: unstable is the latest version of master to pass a set of tests
<clever>
joebobjoe: youll also want to look at that line of all-packages.nix
<clever>
joebobjoe: what does `ls -lh /nix/var/nix/profiles/default` report?
<clever>
joebobjoe: you just uninstalled nix!
<clever>
joebobjoe: as i said, nix itself is in roots profile
<clever>
,howoldis joebobjoe
<clever>
joebobjoe: the stable channels are named after the year and month of release
<clever>
joebobjoe: -add will overwrite if the name collides
<clever>
joebobjoe: you could use both at once, but you said switch
<clever>
then --update to apply the changes
<clever>
joebobjoe: you can confirm what has happened with --list, there should just be a single entry named nixpkgs
<clever>
joebobjoe: run `nix-channel --add` with the right params, as root
<clever>
joebobjoe: always, but most linux distros only give you a single libc, but nixos gives you many
<clever>
joebobjoe: nix just applies those same basic rules to every single dependency, so it doesnt care what the host OS is
<clever>
joebobjoe: nix hashes every single dependency
<clever>
joebobjoe: but now, if the store isnt in /nix/store, the binary breaks, same if you try to use it outside of nix
<clever>
joebobjoe: nix sovles that by loading libc from /nix/store/hash-libc/lib/libc.so
<clever>
joebobjoe: but now upgrading libc can break things
<clever>
joebobjoe: normal linux binaries load libc from /lib/libc.so
<clever>
joebobjoe: its the changes nix makes to give you every benefit of nix
<clever>
joebobjoe: changing that path will upset the offset of every other value in the binary and just make it corrupt
<clever>
joebobjoe: the length of the path is in compiled binaries
<clever>
joebobjoe: and darwin doesnt really support chroot or namespaces, so the linux work-arounds dont help
<clever>
joebobjoe: changing the directory of /nix/store requires rebuilding every single package from source
<clever>
joebobjoe: if you dont own /nix then it will use sudo to make you own it
<clever>
iqubic: yes
<clever>
joebobjoe: if you own an empty /nix/, the single-user install can act without sudo
<clever>
iqubic: they are identical
<clever>
iqubic: the order of arguments doesnt matter when its a set
<clever>
joebobjoe: but on a single-user, you can just edit anything you want
<clever>
joebobjoe: on a multi-user setup, you must go thru nix-daemon to modify it, and that enforces the rules
<clever>
joebobjoe: multi-user setup still protects /nix/store from corruption
<clever>
iqubic: 2019-08-03 01:40:00 < clever> iqubic: the ... makes it ignore any other arguments it doesnt want
<clever>
joebobjoe: but if you do have root, that feature causes confusion, because users tend to wind up with duplicate copies of the channel setup
<clever>
joebobjoe: so you can ignore what root's channels are, and manage them yourself
<clever>
joebobjoe: that is why nix-channel also works as your own user
<clever>
iqubic: add each one it complains about to the function, until it stops complaining
<clever>
joebobjoe: correct, you must `nix-channel --update` to update the package set
<clever>
iqubic: everything in imports is a module
<clever>
iqubic: the module system passes config, pkgs, lib, and others, to every single module
<clever>
joebobjoe: did you `nix-channel --update` correctly (within `sudo -i`) ?
<clever>
joebobjoe: version 1.1.2 is the latest one in your copy of nixpkgs
<clever>
iqubic: the ... makes it ignore any other arguments it doesnt want
<clever>
iqubic: change it to { pkgs, ... }:
<clever>
iqubic: what is the 1st line of wm.nix ?
<clever>
joebobjoe: they will only be removed when you do garbage collection
<clever>
joebobjoe: those symlinks it added are in an older generation
<clever>
iqubic: the module system in nixpkgs will import it for you
<clever>
2019-08-03 01:28:50 < joebobjoe> nix-env is hashed (/nix/var/nix/profiles/default/bin/nix-env) and nix-env is /var/root/.nix-profile/bin/nix-env
<clever>
joebobjoe: no, thats where nix itself comes from
<clever>
iqubic: then you must call that function with the right arguments
<clever>
joebobjoe: nix-env -e irssi
<clever>
iqubic: it will parse whatever file you point it at, and return the top-level value of that file
<clever>
joebobjoe: what does `nix-env -iA nixpkgs.irssi` report?
<clever>
joebobjoe: what error does it give?
<clever>
joebobjoe: what is the ocmmand that fails?
<clever>
joebobjoe: is nix-daemon running?
<clever>
joebobjoe: both of those are roots profile, so it should be good there
<clever>
iqubic: nixos doesnt support single-user
<clever>
joebobjoe: what does `type nix-env` return, in both a normal and root shell?
<clever>
iqubic: so foo doesnt have roots HOME
<clever>
iqubic: the one that perserves $HOME when you `sudo foo`
<clever>
joebobjoe: darwin choose to use the "wrong" value
<clever>
joebobjoe: its a config option in /etc/sudoers
<clever>
joebobjoe: sudo on darwin sets the wrong $HOME, so nix-channel doesnt act on root
<clever>
joebobjoe: run `sudo -i` then `nix-channel --list`, dont use `sudo nix-channel --list
2019-08-02
<clever>
Miyu-chan: i think it already has an env var that can set ssh flags
<clever>
lol
<clever>
ah
<clever>
Miyu-chan: have you seen remote-store?
<clever>
there should be a fuse thing for mtp
<clever>
thats the one
<clever>
CMCDragonkai: dont think so
<clever>
fuse should work then, if we knew what it was called, lol
<clever>
fuse also has drivers for it
<clever>
CMCDragonkai: you need to use something like gnome or xfce to "mount" it
<clever>
cant remember the name of it
<clever>
CMCDragonkai: modern cameras dont register as a mass-storage device, they use something else, that directly serves files, not blocks with an FS
<clever>
ghasshee: ix nix-daemon running?
<clever>
ghasshee: is $NIX_REMOTE set?
<clever>
ghasshee: what does `type nix-shell` return?
2019-08-01
<clever>
jd823592: ah, the settings youve shown so far look good at a glance
<clever>
jd823592: what is the error your getting? what is your current (hardware-)configuration.nix files?
<clever>
tazjin: yeah, explaining that __typeOf is special, in that it exists at both __typeOf and builtins.typeOf is a bit complicated
<clever>
if you pass that set back to cleanSource with, it can extract the original un-filtered path, and compose the 2 filters together, and remake the special set
<clever>
Miyu-chan: but cleanSourceWith will return a special attrset, that remembers the original path, filter function, and has a string of the result of filtering
<clever>
thats probably it
<clever>
Miyu-chan: for complicated reasons, filterSource cant act on filterSource
<clever>
Miyu-chan: you want the newer cleanSourceWith i believe
<clever>
,locate hcidump
<clever>
in one case, ld.so didnt exist, so files that clearly exist, claim to not exist
<clever>
and when nixpkgs changes, nix wont download the same libraries, and now your cache fails hard
<clever>
but stack links to libraries in /nix/store/
<clever>
some projects do an impure stack build under nix-shell, and cache ~/.stack-work
<clever>
andi-: ive also seen nix/stack problems on travis before
<clever>
selfsymmetric-mu: nix repl '<nixpkgs>' will also load nixpkgs for you
<clever>
selfsymmetric-mu: pkgs is a function, you forgot the {} again
<clever>
nix-repl> pkgs = import <nixpkgs>
<clever>
selfsymmetric-mu: adding {} on line 6 of your last gist will call the function and get the package
<clever>
selfsymmetric-mu: its a function, that returns a package after you add {}
<clever>
selfsymmetric-mu: default.nix contains a function, so your import is putting a function into systemPackages
<clever>
adamantium: change it in the nix-build command, not the nix file
<clever>
adamantium: very first line, change it from kexec_tarball to kexec_script
<clever>
adamantium: read session.md
<clever>
adamantium: session.md shows how to build the tarball image, but if your already using nix, you can skip tar'ing it up
<clever>
adamantium: if you run that kexec script, it will immediatelly switch kernels and boot into it
<clever>
adamantium: if you nix-build this kexec script, it will generate a kernel+initrd pair, using configuration.nix to generate the entire nixos image, which is baked into the initrd
<clever>
kiloreux: i think you just want mkYarnNix
<clever>
kiloreux: as long as you have the package.json and yarn.lock, you should be able to
<clever>
bsima: typically, i use it with a single user that everybody should ssh into before running nixops
<clever>
fendor: the existing nixpkgs stuff at the time could cross-compile to windows, but didnt obey if statements in cabal files, so it tried to build unix packages for windows
<clever>
fendor: iohk wrote haskell.nix to support cross-compiling haskell to windows
<clever>
so you can tell haskell.nix your doing a windows build, and it will correctly apply the conditional deps in the cabal files
<clever>
fendor: haskell.nix translates the entire build plan, obeying things like your stack file, and translating cabal if statements into nix if statements
<clever>
fendor: cabal2nix will just translate a single cabal file into a single nix file, and ignores the if statements in the cabal file, and version constraints
<clever>
fendor: and there is also #haskell.nix on freenode
<clever>
asymmetric: the example i linked is making such a wrapper as well
<clever>
gchristensen: so hydra could then allow teamspeak, but not other things (ir may also be able to inspect the license and be more inteligent, like unfree = false; grayzone = true;, and then base it on that
<clever>
gchristensen: basically, its a function, that changes allowUnfree from allow-everything to a whitelist
<clever>
or maybe a custom type, i notice unfreeRedistributableFirmware lacks the free = false;
<clever>
gchristensen: unfreeRedistributable might be enough to enable it in hydra/ofborg
<clever>
gchristensen: the only thing missing, is allowing hydra (and ofborg) to build it, and a basic test to ensure it can find all dynlibs (one got renamed and broke it hard)
<clever>
gchristensen: i was just thinking, a recent update to nixpkgs broke teamspeak, and it would be nice to have hydra testing things better (and ofborg indirectly)