2018-07-02

<clever> Lisanna: you can also use an overlay to add them back, and thats simpler to maintain

2018-07-01

<clever> Turion: you also need services.xserver.enable = true;
<clever> Turion: does lsusb say it exists?
<clever> i suspect the systemd user service for systemd itself has to be running?
<clever> cocreature: it may only work when at the gdm login screen
<clever> cocreature: `sudo -u gdm /bin/sh` should force a shell
<clever> laters
<clever> its 1:40 am here :P
<clever> bluesfreak72: nixos will ignore the /etc/ssh/sshd_config file and only use the port defined in configuration.nix
<clever> if services.openssh.openFirewall is true (the default) then it allows services.openssh.ports thru the firewall automatically
<clever> the ssh service opens it for you
<clever> also, you dont have to open the port for ssh
<clever> ports can never go over 65,535
<clever> that is port 600,022 which is invalid
<clever> bluesfreak72: why are you trying to open an invalid port?
<clever> networking.firewall.allowedTCPPorts = [ 600022 ];
<clever> Jul 01 00:23:53 enigma firewall-start[13444]: iptables v1.6.2: invalid port/service `600022' specified
<clever> bluesfreak72: you have to set that in configuration.nix
<clever> oops, services.xserver.windowManager.awesome.enable = true;
<clever> if you want to enable awesome, just do services.xserver.windowManager.awesome = true;
<clever> bluesfreak72: id say delete the entire 78-138 chunk, it doesnt belong in configuration.nix
<clever> bluesfreak72: and why do you have an entire options&config block on lines 80-138??
<clever> bluesfreak72: line 8 and 87 are both starting a set, thats not valid

2018-06-30

<clever> worldofpeace: your only changing src in the overlay, not name, so the version in the path will be wrong
<clever> hodapp: the master nixpkgs is expecting a newer QT, and fails because of the older QT in ~/.nix-profile/
<clever> which sort of defeats the entire point of using nix
<clever> if you updated the nixpkgs of nixos, or your shell.nix file, it can get out of sync with the one in nix-env
<clever> and putting it all into systemPackages forces them to always update at the same time
<clever> hodapp: updating everything to be the same version solves the issue
<clever> hodapp: the problem happens if any QT app is ran, and is not compatible with a QT used by another app in nix-env
<clever> worldofpeace: and change the `foo = super.python36Packages.callPackage ./pkgs/foo {};` to use self
<clever> hodapp: and `nix-env -q` will list everything
<clever> then follow the dep-tree upwards
<clever> hodapp: nix-store --query --tree ~/.nix-profile/ and then use / to search for qt things
<clever> worldofpeace: and also change line 4 to use the matching python version
<clever> hodapp: either update all QT programs in nix-env, or move them all to systemPackages
<clever> worldofpeace: to start with, try just changing line 16 to python36Packages and see what happens
<clever> worldofpeace: your other overlay is on pythonPackages, not python36Packages, and yeah a self would likely also help
<clever> worldofpeace: can you pastebin that overlay as well?
<clever> worldofpeace: how is asyncssh being referenced, to actually be built?
<clever> worldofpeace: so you have 2 overlays, one changing the pythonPackages, and another using it?
<clever> worldofpeace: how is the python package being used after you override it?
<clever> worldofpeace: nixos wont load overlays in NIX_PATH when doing nixos-rebuild
<clever> true
<clever> Value:
<clever> [root@amd-nixos:~]# nixos-option services.xserver.enable
<clever> dtz: nixos-option
<clever> cant think of anything else to check
<clever> cocreature: try adding -vvvv to the nix command?
<clever> cocreature: does the moritz user have write access to /nix/store/ ?
<clever> the signature is done over a fingerprint, which concists of the path, the narhash, the narsize, and the list of references
<clever> cocreature: how do the nix.conf files differ between the machine that accepts the signature and the one that doesnt?
<clever> cocreature: i believe the names dont matter, was just thinking you may have been renaming things and got the publics of different keys mixed up
<clever> cocreature: ive not tried IP's as the name of a key before, has the ip in that key ever been edited?
<clever> cocreature: the name before the : in the signature must also have a matching entry in the trusted-public-keys of nix.conf
<clever> trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
<clever> cocreature: you should see a line like Sig: cache.nixos.org-1:jwEzZZtmn7ZXGZYEAsnIccKW8c6nbqT90Lk+Nwf2I9v4ugLnnA3QB+n2NQRY2i/sFxXYGqikq+P8ODDLyGZcBg==
<clever> cocreature: for a given storepath like `/nix/store/s68qnm8r4w89fisjp9vx57hppjic2r77-hello-2.10`, run `curl https://cache.nixos.org/s68qnm8r4w89fisjp9vx57hppjic2r77.narinfo` against your binary cache
<clever> cocreature: i can also just explain the steps
<clever> cocreature: can you post the URL to the binary cache, the storepath of something it contains, and the full nix.conf file?
<clever> cocreature: its usually simpler to just add the public keys directly to /etc/nix/nix.conf
<clever> cocreature: --trusted-public-keys is silently ignored if you are not listed as a trusted user in nix.conf
<clever> infinisil: the issue, is glibc compat between the libs in /run/opengl-drivers and the glibc that the app was linked to
<clever> infinisil: one fix would be to callPackage the old default.nix with a newer nixpkgs
<clever> infinisil: i have had it break if the nixpkgs is out of sync, for example, running an older app from nix-env after a nixos-rebuild
<clever> Guanin: on nixos, everything should be configured automatically and it should just work
<clever> Guanin: LIBGL_DRIVERS_PATH defaults to the path that nixos symlinks the drivers at i believe
<clever> another weird thing is that pre/post stop working if you ever override buildPhase
<clever> oldandwise: and an override to change the src
<clever> oldandwise: services.redis.package
<clever> thats how i usually deal with it
<clever> phases="buildPhase" genericBuild
<clever> nix-shell will source all setup hooks
<clever> not sure, i dont do much mac stuff
<clever> lo_mlatu: it could be inspecting $HOME and other stuff, and should be patched to not do that
<clever> lo_mlatu: did you override buildPhase, have you tried nix-shell --pure?

2018-06-29

<clever> Orbstheorem: try manually copying with nix-copy-closure first?

2018-06-28

<clever> catern: you still need to patch the interpreter with patchelf
<clever> catern: thats in gcc
<clever> catern: is it a 32bit or 64bit program?
<clever> fragamus: thats also what the hello package in nixpkgs claims to be
<clever> /nix/store/djry35vxb3s6fsq6a8x7blv17q0fcf59-hello-2.10/bin/hello: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /nix/store/yzgkvv23r91n86j6gw4yrmdllgz1qw3q-glibc-2.27/lib/ld-linux.so.2, for GNU/Linux 2.6.32, not stripped
<clever> fragamus: that appears to be a normal 32bit ELF file, you just need to use the 32bit stdenv when you patchelf it

2018-06-27

<clever> why did it report it twice?
<clever> > <nixpkgs/pkgs/build-support/trivial-builders.nix>
<clever> > <nixpkgs/pkgs/trivial-builders.nix>
<clever> > <nixpkgs/pkgs/trivial-builders.nix<
<clever> steell_: sudo may reset PATH on you, try `sudo ~/.nix-profile/bin/gparted`
<clever> fragamus: this one is 32bit, and compiled
<clever> zsnes = callPackage_i686 ../misc/emulators/zsnes { };
<clever> fragamus: i think that one is 64bit
<clever> fragamus: not sure on that one, they have redone things since i last looked
<clever> fragamus: beware, you need to look at the skype entry in all-packages.nix
<clever> fragamus: skype

2018-06-26

<clever> Orbstheorem: you can also use relative paths, ./file
<clever> Orbstheorem: then just unquote them and you should be good, and try to avoid readFile when you can
<clever> Orbstheorem: but then nix will usually copy them into /nix/store/ and make them world-readable
<clever> Orbstheorem: or just dont quote the paths
<clever> Orbstheorem: ${/path/to/file}
<clever> what about just using sed?
<clever> ariutta: insert the gitrev of a commit where that package exists
<clever> ariutta: (import (builtins.fetchTarball "https://github.com/nixos/nixpkgs/archive/GITREV.tar.gz) {}).sqlint
<clever> ariutta: if using nix-env, you can just give a channel name, nix-env -iA channelname.packagename
<clever> fragamus: that set has the 32bit versions of everything
<clever> > pkgsi686Linux.hello
<clever> > pkgsi686.hello
<clever> > pkgs_i686.hello
<clever> ,-A
<clever> ariutta: nixos-rebuild only uses the channel called nixos, and if you check `nix-channel --list` youll see 2 channels
<clever> __monty__: yeah
<clever> or curses
<clever> __monty__: a > and maybe some readline+tab-completion
<clever> __monty__: yeah, it needs more work
<clever> __monty__: type help while its hung and hit enter
<clever> __monty__: does it just drop you to a shell after running or just hang?
<clever> __monty__: and if you run `help` in toxvpn-remote?
<clever> __monty__: run it under strace and see what the error is
<clever> ldlework: and i think all values of the lowest priority then get merged acording to the type based rules
<clever> ldlework: the lower the number, the higher the priority
<clever> /home/clever/apps/nixpkgs/lib/modules.nix: mkDefault = mkOverride 1000; # used in config sections of non-user modules to set a default
<clever> ldlework: mkForce is an alias /home/clever/apps/nixpkgs/lib/modules.nix: mkForce = mkOverride 50;
<clever> ldlework: yeah, that should work
<clever> __monty__: toxvpn-remote
<clever> __monty__: the start script for the unit runs toxvpn
<clever> __monty__: and start is just that
<clever> exec toxvpn -i 192.168.123.11 -l /run/toxvpn/control -u toxvpn -p 33445
<clever> __monty__: all pre-start does is make /run/toxvpn with the right owner
<clever> __monty__: there are some bugs in toxcore that make it DC sometimes, just restart the systemd service
<clever> __monty__: check the status in `list` under `toxvpn-remote`
<clever> tmplt: how exactly are you using bash, that its not available in the unit?
<clever> tmplt: what error does it fail with?
<clever> import (builtins.fetchTarball https://github.com/nixos/nixpkgs/archive/gitrev.tar.gz) {}
<clever> you often want to fetch a specific version of nixpkgs in your own expressions
<clever> nix-env -f /path/to/nixpkgs -iA hello
<clever> it needs to be given nix expressions that match what was used to build that cache
<clever> and that
<clever> ,-A
<clever> ,-iA
<clever> winem_: with just -i, it will check the .name of every derivation in every channel, and install the matching packages

2018-06-25

<clever> fresheyeball: there is also --build-only and --copy-only
<clever> Myrl-saki: make-system-tarball can also be loaded with callPackage
<clever> fresheyeball: that will only eval it
<clever> fresheyeball: nixops deploy --dry-run
<clever> Lisanna: yeah, nix-daemon will silently ignore --no-check-sigs if you are not a trusted user
<clever> bgamari: just found NIX_SHOW_STATS
<clever> its harder to automate for every single http server, but thats exactly what nixos is for :P
<clever> nixos reconfigures nginx so you dont have to shut your whole site off
<clever> samueldr: thats when your not using nginx, you stop your entire http server, then run the certbot on port 80/443
<clever> samueldr: its certs are for 443, but it uses http://example.com/.well-known/ on 80 to confirm you control the dns
<clever> fresheyeball: lets encrypt needs 80 open to confirm you own the domain
<clever> fresheyeball: is port 80 also open?
<clever> fresheyeball: after lets encrypt generates a cert you have to restart the nginx service
<clever> fresheyeball: yeah
<clever> that too
<clever> Zer000: there is a bug in your nix that allows it to bend the rules
<clever> Zer000: you forgot the sha256 on the fetchGit
<clever> Zer000: your own hydra?, is it doing import-from-derivation?

2018-06-24

<clever> joepie91: thats just the first phase, what you do after that depends on which side is to blame
<clever> joepie91: split the job up with instantiate and realize, and then see which half is to blame
<clever> bgamari: to see which half of the job is to blame
<clever> bgamari: it may also help to split the task up, nix-instantiate, then nix-store -r /nix/store/foo.drv
<clever> bgamari: and nix may have 2 or 3 copies of that string
<clever> bgamari: so you wind up with a 1gig std::string in ram
<clever> and when dealing with ghc, it has to have the entire NAR (basically the tar of the /nix/store path) in a single std::string
<clever> bgamari: if you run a build as root, it doesnt use the daemon
<clever> bgamari: is this involving haskell derivations?
<clever> bgamari: nix-daemon never deals with actual nix expressions
<clever> ah, thats less in the nix language and more in the store library, seperate from what ive been working on
<clever> bgamari: i have been planning on adding more object allocation based profiling
<clever> bgamari: `NIX_COUNT_CALLS=1` will profile the function calls, which kinda does it
<clever> Lisanna: if you are leaving a result symlink in the current dir, then src = ./. has to re-upload that current directory
<clever> Lisanna++
<clever> ah
<clever> what does that log say?
<clever> Lisanna: out of ideas for now then
<clever> Lisanna: hydra-eval-jobs
<clever> check its env too, /proc/PID/environ
<clever> Lisanna: not sure what the issue is then, all you can try is to manually run hydra-eval-jobs with the args from https://lpaste.net/6367929829735530496 (mind the quotes around the --arg) and then strace that
<clever> Lisanna: also, if you use an ssh based url in the hydra ui, then hydra will use the .ssh/id_rsa in the hydra user, so you dont have to leak your password in configs
<clever> Lisanna: can you link your release.nix?
<clever> Lisanna: does it have any open .lock files?
<clever> Lisanna: ls -l /proc/6398/fd/
<clever> Lisanna: is that one busy?, what are its children?
<clever> Lisanna: and if you check `ps aux | grep 6378` do you see a nix-daemon?
<clever> Lisanna: and is it using cpu?
<clever> Lisanna: if you check `ps -eH x`, what does the tree look like around the evaluator?
<clever> palo: and then i have more custom stuff, that runs the sandbox without bundles, to give faster launch times
<clever> palo: so i only used the arx bundle as an installer
<clever> palo: and in my case, the entire bundle was ~200mb in size, and there is a ~30+ second delay just starting it, because it has to un-tar the entire thing on every start
<clever> palo: so it has to copy before setting up the sandbox
<clever> palo: the tricky part, is that you need things like /etc/resolv.conf and such in the sandbox for stuff to work, and on nixos, those are symlinks to the host store, so things break when you overwrite /nix with a new mount
<clever> palo: its essentialy a bash script that extracts and runs a static elf inside a .tar
<clever> palo: i have used the arx mode of nix-bundle to make an app that works on any linux distro, including nixos
<clever> rardiol1: and nix-store -q --tree ~/.nix-profile
<clever> then an actual key
<clever> more an example of how you can insert variables into a key
<clever> i dont think that one exists
<clever> yeah, it would have to match the existing format, ghc841
<clever> you can also pkgs."ghc-${version}" for ex
<clever> __monty__: like that?
<clever> > let key = "hello"; in pkgs.${key}
<clever> its also handy to have both, you can use nix-repl to force things to run in 1 for backwards compat testing, and nix repl for forward compat
<clever> either `export NIX_REMOTE=daemon` first or switch to `nix repl`
<clever> nix 2 auto-detects it, so the env var is no longer set
<clever> philippD: nix-repl links against nix1 which cant auto-detect NIX_REMOTE
<clever> patch the app?
<clever> __monty__: yeah, a PR sounds good, then we can see what others think
<clever> hodapp: i think it has a pre script, check the source of wrapProgram
<clever> its 1 extra line
<clever> and hydra will complain if anybody breaks it
<clever> __monty__: if it was in nixpkgs, it would be much simpler, just a ghc84 alias that is updated by a maintainer when the thing it points to breaks
<clever> yeah
<clever> > builtins.attrNames pkgs.haskell.packages
<clever> __monty__: builtins.attrNames
<clever> __monty__: not really, you have to just pick one from haskell.packages.ghc821
<clever> hodapp: yeah, that could go into $out/share/
<clever> in the case of a set like fileSystems, it will recursively merge the values within
<clever> for lists, it just concats them
<clever> for int types, it throws an error if you set it twice
<clever> for boolean types, it will throw an error if they dis-agree
<clever> so it depends on the type of the option
<clever> every option in nixos has its own merge rules
<clever> and if you decide to make a 2nd droplet, you can reuse the digital_ocean.nix and base the new hostname_ip_cfg.nix on the existing example
<clever> fresheyeball: then your nixops file can be: { hostname = { imports = [ ./digital_ocean.nix ./hostname_ip_cfg.nix ]; .... }; }
<clever> fresheyeball: next, youll want to break the required config into 2 groups, the generic stuff like fileSystems."/" = { device = "/dev/vda1"; fsType = "ext4"; };, which you can put into a digital_ocean.nix file, and then the per-droplet stuff like the IP
<clever> fresheyeball: :D
<clever> nixops ignores the config on the droplet
<clever> ah
<clever> it expects that to be in the configuration.nix file
<clever> nixos-generate-config doesnt include that, but you still need it
<clever> both work, but vda1 is more predictable
<clever> vda1 is simpler then the uuid
<clever> fresheyeball: run nixos-generate-config and look at the hardware-configuration.nix it generates
<clever> fresheyeball: you need to include the drivers for vda in boot.initrd.availableKernelModules
<clever> what error do you see on the DO console?
<clever> is /boot a dir or a filesystem?
<clever> thats a side-effect of you doing the install inside qemu
<clever> its not a qemu guest
<clever> does it have a /boot?
<clever> fresheyeball: you need to take the stuff from hardware-configuration.nix that was required for booting and put that into your nixops config
<clever> fresheyeball: that adds the qemu-guest.nix file from $NIX_PATH to your imports
<clever> fresheyeball: yes
<clever> stdenv.mkDerivation { name = "simple"; buildCommand = "mkdir $out ; gcc ${./simple.c} -p $out/simple"; } would also have the identical effect
<clever> :D
<clever> rather then trying to continue, and cause more confusing problems down the road
<clever> the stdenv builder also does `set -e`, which causes bash to abort at the first problem
<clever> export PATH="coreutils/bin:$gcc/bin"
<clever> your missing the $ on coreutils
<clever> so it cant write to $out/simple
<clever> it didnt make $out
<clever> /nix/store/3dd1r98sw1i8vy85i24jdan8qiswdxjv-simple_builder.sh: line 3: mkdir: command not found
<clever> its only debug
<clever> inquisitiv3: line 1
<clever> inquisitiv3: add set -x to the builder script
<clever> rotaerk: ~/.config/nixpkgs/config.nix has nixpkgs config
<clever> and keepign the lua.pc would allow existing things to continue to work
<clever> yeah, adding a lua5.3.pc would also solve the issue
<clever> lua can also be patched, to have 2 .pc files
<clever> Orbstheorem: so you have to set the makeflag lua to nothing, but then the makefile automatically adds 5.2, so you have no option but to patch the makefile
<clever> Orbstheorem: lua5_3 has a lua.pc file, but pkg-config is looking for lua5.3.pc
<clever> -E is just a shortcut to avoid having to write a 1 line file
<clever> you can also put the above string into a new nix file, and run `nix build -f newfile.nix`
<clever> Orbstheorem: nix-build -E 'with import <nixpkgs> {}; callPackage ./default.nix {}'
<clever> Orbstheorem: the file must be loaded with callPackage
<clever> ZaraChimera: you will need to somehow convince your DE to look in there
<clever> ZaraChimera: if a program generates a .desktop file, it will be in ~/.nix-profile/share/applications after you nix-env -i it

2018-06-23

<clever> Lisanna: and i need to go for a bit, bbl
<clever> Lisanna: you may want to play with nix-diff then
<clever> Lisanna: are you using the same nixpkgs rev as the hydra used?
<clever> Lisanna: it should eval the nixpkgs locally
<clever> Lisanna: if you do src = ./.; it still has to upload that
<clever> Lisanna: and you can also query a central box that tracks load, and send it to the right slave
<clever> Lisanna: ssh:// failed, i think its an older protocol
<clever> Lisanna: yeah
<clever> Lisanna: that has done the entire build on the remote machine, so you just need to copy it backwards
<clever> Lisanna: and this
<clever> [clever@amd-nixos:~/apps/nixpkgs]$ nix-build . -A hello --store ssh-ng://root@system76
<clever> Lisanna: testing this...
<clever> [clever@amd-nixos:~]$ nix-build https://github.com/nixos/nixpkgs/archive/master.tar.gz -A hello --store ssh://root@system76
<clever> Lisanna: oh, there is a --store thing, let me check its args
<clever> Lisanna: then on the remote machine do nix-store -r on that .drv
<clever> Lisanna: another option is to do nix-copy-closure on the .drv file from nix-instantiate
<clever> Lisanna: its for when the slave is on another lan, and cache.nixos.org can out-do your upload pipe
<clever> Lisanna: yeah
<clever> Lisanna: of course, it doesnt know what the remote machine has yet, until it has downloaded everything locally and is ready to start pushing things to the remote box
<clever> it cant tell the difference between duplicate hosts and just 2 IP's for the same host
<clever> Lisanna: probably not
<clever> Lisanna: ssh wont be happy with you, mitm alerts everywhere
<clever> Lisanna: thats basically what dns does :P
<clever> Lisanna: rotate the file, so each end-user has a different idea of "1st" in the file
<clever> Lisanna: but if each end-user does 1 job, they will all put it on the 1st file in /etc/nix/machines
<clever> Lisanna: yeah