2019-03-25

<clever> and you can fix it by specifying an hmatrix version in stack.yaml
<clever> and id say metric is to blame, for not having the correct version bounds on its hmatrix dep
<clever> Alling: so, the version of hmatrix, isnt compatible with the version of metric!
<clever> yep, it does exist in 0.13.0
<clever> AlexRice[m]: i dont see any signs of Data.Packed.Matrix being in hmatrix: https://github.com/haskell-numerics/hmatrix/tree/master/packages/base/src
<clever> ok, so it does depend on hmatrix, but no version specified
<clever> Alling: ah, *looks*
<clever> Data/Packaed/Matrix.hs doesnt exist in the source tar
<clever> import Data.Packed.Matrix (Matrix(..), fromLists, trans)
<clever> at least in the docs part
<clever> srk: odd, thats not listed on http://hackage.haskell.org/package/metric-0.2.0
<clever> srk: within metric
<clever> srk: which module failed to build?
<clever> Alling: do you have a link to kmeans-par?
<clever> Alling: that likely has to do with the version of metric in the stack.yaml
<clever> AlexRice[m]: yep
<clever> Alling: if you want something installed by nix, then it has to be built by nix, which is where tools like nix-tools and stack2nix come into play
<clever> Alling: the products made by stack are all impure builds, and nix wont know they exist
<clever> yep
<clever> nomeata: what about `nix-store --verify --check-contents` ?
<clever> yep
<clever> nomeata: what does ls -l ~/.nix-profile report?
<clever> `nix-env -q` to list the installed things
<clever> nomeata: find out which thing is adding it, and uninstall it with nix-env -e
<clever> nomeata: there is a bug in nix-env, if you have dead symlinks in ~/.nix-profile, it cant update the profile
<clever> nomeata: ahh
<clever> both should be building the same thing and just working the same way
<clever> can you pastebin the entire output of nix-build?
<clever> does nix-build give the same error if ran several times?
<clever> and the cmd that gave it?
<clever> nomeata: what was the original error? and the cmd that gave it?
<clever> and no nix tools will use an invalid path
<clever> nomeata: nix will also delete the path automatically when trying to build it again
<clever> nomeata: `nix-collect-garbage --max-freed 1m` may start with that path, you can repeat that until the path in question is gone
<clever> nomeata: `is not valid` means its not in `--dump-db`, so a normal nix-collect-garbage will automatically delete that path
<clever> nix would have trouble with that though, due to /nix
<clever> gchristensen: user data gets mounted to /data, the os to /system, and then it just runs like that
<clever> gchristensen: of note, android boots with an initrd, but never does pivot_root
<clever> lol
<clever> gchristensen: why not?
<clever> the livecd stuff already does that, purely with fileSystems.
<clever> would be simpler from the initrd
<clever> and then overlay things, maybe
<clever> you would need to mount tmpfs's to directories that already exist
<clever> ajs124: yeah, that should work
<clever> Shouou: you want -p, which doesnt accept the . (a path)
<clever> Shouou: -A is for building the package, not using the package

2019-03-24

<clever> thats the nixos one
<clever> $ nix-build '<nixpkgs/nixos/release.nix>' -A manualHTML
<clever> ah, that the nixpkgs manual, not the nixos manual
<clever> i believe
<clever> nix-build '<nixpkgs/doc>'
<clever> haslersn[m]: its the default.nix in the doc dir of nixpkgs
<clever> infinisil: i use ratpoison when i need something keyboard drive, but i dont think it has much tiling in it

2019-03-23

<clever> and yeah, you can also use raw revs like that
<clever> which uses the nixos-17.09 branch from the nixpkgs-channels repo
<clever> drakonis1: you can also just nix-build https://nixos.org/channels/nixos-17.09/nixexprs.tar.xz -A hello
<clever> noonien: the new style is things like channel:nixos-unstable in NIX_PATH, and that downloads the current nixos-unstable every time the cache expires (~30mins)
<clever> i prefer using nix-channel, because i dont want it updating on its own, and i prefer to have nixpkgs cached
<clever> drakonis1: https://twitter.com/shlevy/status/1107762113550913537 i have seen some activity from him recently
<clever> gchristensen: for me, hotplugged displays activate instantly on the desktop, but the entire machine will crash if i hot-eject
<clever> slack1256: i think users is your default group (as specified by passwd), but your not also a member of it
<clever> Yaniel: check every one of the buildInputs for a nix-support/setup-hook file
<clever> Yaniel: thats probably the postinstall array of hooks, which are created by the setup-hooks in the inputs
<clever> [root@system76:~]# nix-store --query --binding postFixup $(nix-instantiate '<nixpkgs>' -A meson)
<clever> but it does have a postFixup
<clever> [root@system76:~]# nix eval nixpkgs.meson.postFixup | jq -r
<clever> but it doesnt have one in nixpkgs
<clever> > meson.postInstall
<clever> Yaniel: nix-store --query --binding postInstall /nix/store/something-meson.drv

2019-03-22

<clever> sphalerite: i use zgrviewer
<clever> linarcx: run it on a directory with shell scripts
<clever> linarcx: lines 21, 22, 37 you have spaces in paths
<clever> linarcx: line 27, replace the ${ with ''${
<clever> linarcx: can you pastebin the entire nix file?
<clever> linarcx: you want ''$ not ''\@
<clever> ,ecale'' linarcx

2019-03-21

<clever> so it only has --set and --rollback
<clever> slabity: basically, get rid of nix-env -i, -u, and -e
<clever> dminuoso: ah, then you probably want to just insert ${pkgs.foo}/lib somewhere in your buildPhase
<clever> dminuoso: so you dont need to know where ${pkgs.foo}/lib is
<clever> dminuoso: if you add pkgs.foo to buildInputs, then it will be injected into the search path for gcc, and `gcc -lfoo` will find it automatically
<clever> dminuoso: by putting them into the buildInputs list
<clever> dminuoso: 90% of the time, you dont want to set the builder attr, you want to use a string like buildPhase = ''...'';
<clever> gchristensen: some people still need it, to fetch submodules
<clever> reallymemorable: in whatever is accessing gitlab
<clever> reallymemorable: are you using fetchGitPrivate?
<clever> reallymemorable: then thats why it doesnt work, you must run `ssh-add` to add an identity to the agent
<clever> reallymemorable: does `ssh-add -l` list an ssh key?
<clever> reallymemorable: can you paste the exact error, and the cmd you ran?
<clever> reallymemorable: socat must be running, ssh-config must exist, then you can build
<clever> reallymemorable: yeah
<clever> sudo rm /tmp/hax
<clever> root
<clever> yep
<clever> you need to delete the old /tmp/hax when restarting it
<clever> yep
<clever> the socat in there must be running for the private fetch to work
<clever> but the GC will clear the outputs, and require you to fetch things again, which does need the socket
<clever> reallymemorable: the hax socket requires an socat to be running, a GC is mostly unrelated
<clever> reallymemorable: its safe to delete once you close the socat that had created it
<clever> reallymemorable: thats not a file, thats a unix socket
<clever> reallymemorable: ls -l /tmp/max

2019-03-20

<clever> and so root doesnt steal ownership of your editor state files
<clever> sphalerite: so your editor uses the right $HOME for its state
<clever> sphalerite: it copies the file to /tmp, runs $EDITOR on the copy, then copies it back when you exit
<clever> sphalerite: the whole point of sudoedit, is that it runs $EDITOR without root
<clever> Orbstheorem: not sure where those land
<clever> Orbstheorem: ~/.nix-profile/share/ for nix-env
<clever> Orbstheorem: create $out/share/passff-host/ and then get put into systemPackages
<clever> noonien: assuming you have root somehow
<clever> noonien: nixos-rebuild switch, with a change in configuration.nix
<clever> spacekookie: nix-env solves that by impurely jamming it into ~/.nix-profile/lib/ and then breaking any qt with an incompatible version
<clever> spacekookie: QT_PLUGIN_PATH must be set, to a path like ${super.qt5.qtbase.bin}/lib/qt-${super.qt5.qtbase.version}/plugins
<clever> tmpfs on /run/wrappers type tmpfs (rw,nodev,relatime)
<clever> and recreated on bootup
<clever> so its lost at shutdown
<clever> the sudo wrapper, is on a tmpfs
<clever> noonien: if you reboot, it will fix sudo
<clever> noonien: nix doesnt allow setuid binaries in /nix/store/, so nixos must create a wrapper on bootup
<clever> Myrl-saki: yep
<clever> Myrl-saki: it uses perl code
<clever> and if your messing with things like grub or grub config, the vm things may complicate testing or just invalidate your entire test scenario
<clever> Myrl-saki: yeah, 99% of the time, a vm without bootloader is fine, it will just -kernel /nix/store/foo to make it boot
<clever> Myrl-saki: swap the 2 drives, so boot is first?
<clever> `df -h` may hide it, depending on what it says about total size
<clever> tdammers: `mount` should have shown that

2019-03-19

<clever> > lib.platforms.unix
<clever> noonien: steam also just works on nixos
<clever> noonien: `nix-store --query --roots /nix/store/foo` will list all roots for a given path
<clever> elvishjerricco: this will install nix to ~/.nix-install/nix/store, and chroot automatically so you can still benefit from the cache
<clever> elvishjerricco: only root can view the env vars of another user
<clever> yep
<clever> noonien: any path present in an env var will be protected
<clever> and over time, GC will remove blocks, till its gone
<clever> so all reads, will bounce off the old mirror-1 vdev, then lookup within a zvol on mirror-0
<clever> and then it flags that vdev is read/delete only
<clever> one way to think of that unfinished feature, is that it copies a given device (like mirror-1) to a zvol (that is sepcially flagged to not allocate on mirror-1)
<clever> there is an unfinished feature, that turns 'removed' vdevs into indirect things
<clever> sphalerite: yeah, currently, zfs has no (released) way to remove a vdev, so that pool is forever 2 vdevs (the mirrors can be downgraded to non-mirror status though)
<clever> Myrl-saki: there was an entry on the old wiki, about how to install those utils with nix-env under a rescue env
<clever> sphalerit: can you pastebin `zpool status -v` ?
<clever> hyper_ch2: also, zfs attach wont update the boot sectors, so the drive likely wont be bootable on its own
<clever> hyper_ch2: thats one of the first rules of backup, ive heard a few horror stories where people discover the backup isnt actually readable
<clever> hyper_ch2: have you confirmed you can import that usb drive on another machine?
<clever> but today, i would use iscsi to do that
<clever> hyper_ch2: back when i used lvm on pata, i also used nbd to get the drives from another box back into the array
<clever> i think it doesnt trigger when detach makes things expandable
<clever> hyper_ch2: ive found auto-expand never works, but there is a flag for import that solves it
<clever> then drop one of the 2tb's, and repeat
<clever> start by using attach to make it into a 3 way mirror, with 2tb, 2tb, 4tb (half wasted)
<clever> yeah, and the above sounds sane
<clever> at another point, it was a 3-way mirror with 2 ssd's and an nvme
<clever> at one point, my system was a mirror between a magnetic and ssd
<clever> hyper_ch2: ive done exactly that when messing with the drives in my main desktop
<clever> mkovacs: but if nix-daemon is at play, they run as seperate users
<clever> mkovacs: if you are using single-user nix, then all builds happen as the current user, and ssh-agent doesnt get upset
<clever> mkovacs: you must use socat to proxy the unix socket, so ssh-agent cant detect that uid git clone is running as
<clever> hyper_ch2: none of the tabs are on the tld or any other subdomain
<clever> hyper_ch2: that was enough to stop them from loading
<clever> mkovacs: one min
<clever> Myrl-saki: you dont want to know how many i had open in firefox back then :P
<clever> Myrl-saki: ^^^
<clever> Havvy: even with the lazy loading, it crashed the machine :P
<clever> Havvy: also, i have had enough tabs in firefox, that just loading the dummy about:blank in each tab, would cripple the machine
<clever> (back)
<clever> Havvy: too lazy to switch :P
<clever> hyper_ch2: due to the sheer number of tabs i have open, just restarting chrome can crash the machine, so i sometimes have to blacklist the domain for half of them lol
<clever> hyper_ch2: that could also be done with bind
<clever> hyper_ch2: plain old bind
<clever> mkovacs: the ssh-agent wont allow another user to connect to the ssh-auth-sock, and builtins.fetchGit is just simpler
<clever> mkovacs: you want to use builtins.fetchGit now
<clever> that will make the whole list optional
<clever> curl circleci-cli hc-codecov ci ] ++ lib.optionals stdenv.isDarwin [ frameworks.Security frameworks.CoreFoundation frameworks.CoreServices ];
<clever> the frameworks variable becomes an list, in either case, and then it fails
<clever> and putting the optional on line 7 will cause it to fail hard down on 160
<clever> i would start by changing line 3 fro nixpkgs= to pkgs=, since thats what nearly everything else calls it
<clever> it would help to see the rest of the file
<clever> i need to stop tab-completing the wrong nick, lol
<clever> tobiasBora: then you want pkgs.lib
<clever> oops, ^^
<clever> tobiasBora: stdenv.lib.optional
<clever> and then either returns [item] or []
<clever> lib.optional is just a function that takes a bool, and an item
<clever> obviously, the last one has the check backwards
<clever> > lib.optional stdenv.isLinux nixpkgs.darwin.apple_sdk.frameworks
<clever> oh, without the []
<clever> > lib.optional stdenv.isDarwin [ nixpkgs.darwin.apple_sdk.frameworks ]
<clever> > stdenv.isDarwin
<clever> any storepath that appears in your output, is something you depend on at runtime
<clever> it doesnt need to be in any of the inputs
<clever> nope
<clever> thats how all the c/c++ libraries do it
<clever> yeah
<clever> or you must patch the library to use an asbolute path
<clever> the final shell script that uses the library, must wrapProgram
<clever> this is a problem that all python libraries have
<clever> yeah
<clever> and wrapProgram can also set the YOSYS var
<clever> sb0: i think buildPythonPackage handles buildInputs differently
<clever> not clear yet
<clever> sb0: have you tried YOSYS = "${yosys}/bin/yosys"; ?
<clever> can you pastebin the nix expression and the exact error?
<clever> putting it in both wont help any
<clever> wrapProgram
<clever> sb0: propagatedBuildInputs wont make it available at runtime
<clever> sb0: you just want normal buildInputs, there is no need for it to propagate
<clever> yep
<clever> but extlinux and systemd-boot dont
<clever> grub also has an option to limit how many things it copies to /boot/
<clever> nixos-rebuild doesnt have any built-in command to get rid of old generations
<clever> nixos-rebuild only cares about the generations themselves
<clever> but also, nixos-rebuild and /boot, doesnt care if you do a gc or not
<clever> `nix-env --delete-generations` wont do a gc, so you have to then manually run `nix-collect-garbage`
<clever> since `nix-collect-garbage -d` will also do a GC afterwards
<clever> only -d is needed
<clever> you need one of `-d`, `--delete-older-than` or `--delete-generations` to get rid of a generation
<clever> tobiasBora: --gc wont get rid of generations, and the things they depend on
<clever> `nix-collect-garbage --delete-older-than` and `-d` will also wipe them globally
<clever> removing generation 453
<clever> and that gets rid of one
<clever> [root@amd-nixos:~]$ nix-env --profile /nix/var/nix/profiles/system --delete-generations 453
<clever> tobiasBora: this lists all system generations
<clever> [root@amd-nixos:~]$ nix-env --profile /nix/var/nix/profiles/system --list-generations
<clever> tobiasBora: every time you run nixos-rebuild switch, it will copy all the kernels from your system generations
<clever> tobiasBora: grub or systemd-boot?
<clever> tobiasBora: that would include darwin, platforms.linux doesnt
<clever> tobiasBora: thats my guess
<clever> tobiasBora: that might be why
<clever> > pkgs.drawpile.meta.hydraPlatforms
<clever> > pkgs.drawpile.meta
<clever> > pkgs.drawpile.meta.platforms
<clever> ddellacosta: every time matrix has stability problems
<clever> and we got matrixed again
<clever> noonien: find doesnt follow symlinks, just look in the usual place, under share
<clever> noonien: do you see discord.desktop under /run/current-system/sw/ ?
<clever> we got matrixed!

2019-03-18

<clever> evanm_: i believe so
<clever> evanm_: you want to add hpack to common, not add hpack to the overrides
<clever> evanm_: you dont have to garbage collect, just add hpack to the buildInputs for the derivation that needs ot
<clever> so those packages are just not found
<clever> nix-build simply doesnt put either one into $PATH
<clever> nix-env packages land in ~/.nix-profile/bin/
<clever> systemPackages land in /run/current-system/sw/bin
<clever> nix-shell --pure prevents it
<clever> colemickens: nix-shell lets it happen, which can mislead users into thinking it works, then fails when you use nix-build
<clever> evanm_: installing hpack system wide will never make it available to nix-build jobs
<clever> ,libraries evanm_
<clever> delroth: you can use some of the flags under nixpkgs.system to configure cross-compile, but ive not seen all of nixos build like that yet
<clever> and each machine in the deployment has its own nixos config, so you should be able to freely mix things
<clever> delroth: if you set nixpkgs.system (a nixos option), then you can control what arch its targeting
<clever> noonien: you want to be looking in /run/current-system/sw/
<clever> noonien: is the discord command available in a shell?
<clever> noonien: kde has trouble detecting such changes until you relog
<clever> Dandellion[m]: nix-shell will source the shellHook on the derivation it is opening
<clever> gchristensen: ive mostly worked around the problem by only having a single github status enabled, and ensuring its always idfferent
<clever> gchristensen: my change, makes it report the eval# to queue-runner, which then refreshes every build in the eval
<clever> and github is never told that the job is still passing on the new git rev
<clever> gchristensen: and so, the github status plugin, never gets told about build3 finishing on the new eval
<clever> gchristensen: the problem, is that build 3, was cached from a previous eval, and wont be processed
<clever> gchristensen: the queue-runner will then query psql, for every build >=6, that is unfinished, and begin to process jobs
<clever> gchristensen: so, if a given eval creates builds 6, 7, and 8, it will report 6 over the psql event channel
<clever> gchristensen: when hydra does a new eval, the old version reports the lowest build# it just added in the eval
<clever> gchristensen: *looks*
<clever> gchristensen: yep

2019-03-17

<clever> and nixos doesnt run the scripts that parse that cfg
<clever> hyper_ch_: it should be on by default, so something else may be turning it off
<clever> dang, no mii there
<clever> [clever@amd-nixos:~/Downloads]$ nix-build https://github.com/nixos/nixpkgs-channels/archive/nixos-18.03.tar.gz -A nettools
<clever> hyper_ch_: try it as root?
<clever> hyper_ch_: did you run ethtool as root?
<clever> hyper_ch_: not sure then
<clever> hyper_ch_: ethtool has flags to do that
<clever> hyper_ch_: you appear to have auto negotiation disabled
<clever> hyper_ch_: strange, its not in any package!
<clever> bash-completion.out 847 r /nix/store/4va32apahbksvnr1bq3jyy4dqr06ghqk-bash-completion-2.5/share/bash-completion/completions/mii-tool
<clever> nettools.out 1,466 x /nix/store/5zi0g3ngaf189vp4aabpvpk3pypdq5sw-net-tools-1.60_p20120127084908/share/man/man8/mii-tool.8.gz
<clever> ,locate bin mii-tool
<clever> hyper_ch_: `link partner` is the key thing thats missing from your pastebin
<clever> hyper_ch_: `mii-tool -v eth0` what does it say?
<clever> hyper_ch_: one min
<clever> palo: look up the nix file the service is defined in, and see what the systemd service is called
<clever> slack1256: pretty sure journalctl never wrote to that
<clever> slack1256: anybody with physical access, or write to /proc/sysrq-trigger
<clever> `_: nixos avoids changing the uid of users, because the files they own wont be updated, youll need to manually fix the uid in /etc/passwd, /var/lib/nixos/uid-map, and also chown every file the user had, to the new uid
<clever> not sure then
<clever> > pkgs.libGL
<clever> you could try getting it from libGL