2017-11-14

<clever> and did the error happen right after that?
<clever> Lisanna: add a "set -x" near the top and then see what happens
<clever> Lisanna: what was the exact command to give that error?
<clever> Lisanna: hmmm, can you try just doing mkdir /tmp/ and see what happens?
<clever> just pop nixUnstable into line 9, and: nix copy --to local?root=/mnt/ ${paths}
<clever> no need for chroot
<clever> it works similar to nix-copy-closure, but allows the destination to be a local FS
<clever> this lets you recursively copy things from one store to another, including all deps
<clever> nix copy --to local?root=/mnt
<clever> its from nixUnstable
<clever> let me find an example
<clever> you could use the new nix copy for that
<clever> ah
<clever> for the most part, yeah
<clever> and there is a make-disk-image in nixos to do this
<clever> also, the new nix copy lets you do similar things
<clever> Lisanna: line 31 is using the nixos vm, not the /mnt nix
<clever> and nix plus utillinux plus packages will be in PATH
<clever> so line 7 runs the build script of 8 inside a vm, as root
<clever> ah
<clever> Lisanna: ah, i'll need more info then about what your doing, the nix expression would be a good start
<clever> Lisanna: only things in the scope of the nixos for the vm will be "valid" in its nix store, but it will still have read access to things that are "not valid"
<clever> Lisanna: can you gist the nix expression?
<clever> dhess: currently, you just need to define a release.nix file and have it return derivations for the major services
<clever> dhess: thats one of the things ive been wanting to finish
<clever> dhess: hydra cant edit the channel, but you can point hydra to the head of the channel
<clever> notthemessiah: you can try just wiping only /etc and keep the config, no need to even reinstall
<clever> dhess: hydra can automate running tests (in a vm) on the current and future nixpkgs version, so you know if things are broken before you deploy
<clever> dhess: hydra can handle pre-building things before nixops needs it, so deploys are faster
<clever> dhess: ahh
<clever> hydra handles covering everything, to find things i may have missed
<clever> dhess: mostly, i be aware of what attributes of release or top-level my changes affect, and build those to test them
<clever> so you can make sure you never push stuff that will fail on hydra
<clever> dhess: you can use nix-build to test the release.nix file locally, so you can pre-test things the same way hydra will test them
<clever> you need to boot it to make the users exist
<clever> nixos-install --chroot doesnt setup the new users
<clever> notthemessiah: are you booted into the install or the livecd?
<clever> notthemessiah: "sudo -u USER -i"
<clever> notthemessiah: use sudo, not su
<clever> notthemessiah: lines 69 and 72 should be commented out: https://pastebin.com/VAJzcazw
<clever> if you enable ssdm but disable xserver, things break
<clever> so we need to see your configuration.nix file
<clever> this error means the configuration.nix file isnt valid
<clever> 2017-11-14 00:47:24 < notthemessiah> "attribute 'display-manager' missing, at /nix/store/bqf4...fsd-nixos-17.09.2055.c19...c9/nixos/nixos/modules/services/x11/display-managers/sddm.nix
<clever> notthemessiah: can you gist /mnt/etc/nixos/configuration.nix?
<clever> nixos-install automatically creates a new generation
<clever> thats not your generation, thats your current configuration.nix
<clever> notthemessiah: what error is it giving?

2017-11-13

<clever> Golden_Skittle: you may also want to look into "stack --nix"
<clever> Golden_Skittle: run nix-shell
<clever> i didnt give a path starting with //
<clever> what cannot access what?
<clever> Golden_Skittle: it should have a symlink like this
<clever> lrwxrwxrwx 1 clever users 44 Oct 11 2015 channels_root -> /nix/var/nix/profiles/per-user/root/channels
<clever> [clever@amd-nixos:~]$ ls -lh .nix-defexpr/
<clever> did you delete the old channels_root symlink?
<clever> and as root?
<clever> Golden_Skittle: what are the contents of ~/.nix-defexpr/ ?
<clever> thats not how defexpr works
<clever> romildo: it will already have been unpacked in postFetch, so you shouldnt need to do that

2017-11-12

<clever> betaboon: try also setting boot.isContainer = true;
<clever> betaboon: nixos also supports containers directly, and you dont need to define the machine at the nixops level
<clever> betaboon: interesting, i havent seen the container backend used like that before
<clever> betaboon: what error is it giving when building?
<clever> betaboon: nixpkgs.system in configuration modules
<clever> betaboon: if you dont set the system param for a build, it will default to the same system that nix-build was compiled for
<clever> i should have gotten to bed long ago
<clever> anyways, its now 7am
<clever> strange
<clever> how are you refering to PhiledAlsa?
<clever> not haskellPackages.language-c
<clever> that is applying an override to pkgs.language-c
<clever> oh, and 31 is also of no use
<clever> 4 is still of no use
<clever> ah no, 26 is seperate
<clever> if that indent is right...
<clever> toppler: and line 26 sets the nixpkgs attribute of the config, which is also never read
<clever> toppler: line 4 just leaves a stray attribute in the middle of the nixpkgs config, that will never be read by anything
<clever> and then manualy copy the 2 rescue files to /boot2
<clever> srhb: try symlinking /boot to /boot1/
<clever> srhb: ah, i dont think boot.loader.grub.extraFiles supports mirroredBoots
<clever> srhb: are you using grub or systemd-boot?
<clever> srhb: thats a path that the existing grub config sets up
<clever> adisbladis: placing all bluetooth dongles into a 55 galon drum of gas "solves" the problem :P
<clever> adisbladis: ive had a lot of trouble before with getting bluetooth to work
<clever> srhb: so snapshots didnt try go save everything i GC'd
<clever> srhb: i recently used that module to split /nix/ out of my / dataset and make a new /nix/ dataset
<clever> Yaniel: did you set hardware.opengl.driSupport32Bit = true; ?
<clever> srhb: if you add this module, you can boot into a recovery env, then make the changes with nixos "off"
<clever> srhb: a: it will probably overload the argv limit, b: its not atomic, it will delete a directory, then slowly re-populate it
<clever> yep
<clever> without any number
<clever> change the openjdk to oraclejdk
<clever> you must use the name you used in config.nix
<clever> nixos.redserverv3
<clever> yeah, that looks right
<clever> playX: it should be like this: https://pastebin.com/8d3vpQ0g
<clever> infact, you merged 3 of them together now
<clever> playX: you still merged 2 of the lines that shouldnt have been merged
<clever> fix that, then re-run the previous nix-build and paste its output to a pastebin
<clever> line 22 and 23 should be one line, line 24
<clever> also, line 22 is wrong in here: https://imgur.com/a/GJQ8K
<clever> sounds like something didnt work right when building
<clever> playX: and add /bin/ at the end
<clever> sphalerite: yeah, i see the issue
<clever> playX: now run ls -lh on that path
<clever> sphalerite: ahh, then you want nix-push + scp, i see where your problem is
<clever> playX: oops, its called RedServer in that namespace
<clever> and nothing in nix is really meant to automate pushing, only pulling (hydra)
<clever> sphalerite: ah, only nix-copy-closure can upload over ssh
<clever> playX: you need to take out both the " at the start and the " at the end
<clever> playX: what is the output of "nix-build '<nixpkgs>' -A redserver"
<clever> playX: and nix-env -q ?
<clever> playX: what is the output of "ls -lh ~/.nix-profile/bin/" ?
<clever> playX: redserver
<clever> playX: what are the contents of the .nix file
<clever> sphalerite: cant find a concrete example skimming over the logs
<clever> sphalerite: 2017-09-19 22:00:01< nh2> clever: do you know if there's a nix.* option for ssh-subsituter-hosts? Can't find anything on https://nixos.org/nixos/options.html. Or can I give ssh:// for the normal binary cache setting?
<clever> did you reinstall it with nix-env after changing the name in the nix file?
<clever> can you take a screenshot of it failing to run redserver?
<clever> you called the command RedServerV3
<clever> according to line 19 of https://pastebin.com/afZgYUVn
<clever> playX: why did you put a $ in the name?, thats even more special then .
<clever> you may need to also remove that . in the nix exression and re-install
<clever> dont start the filename with a .
<clever> you have to merge them correctly
<clever> { allowUnfree = true; packageOverrides = pkgs: { RedServer = pkgs.callPackage ./redserver.nix {}; }; }
<clever> you have 2 sets in the same file
<clever> { packageOverrides = pkgs: { RedServer = pkgs.callPackage ./redserver.nix {}; }; }
<clever> between the } and the }
<clever> i missed a ; in my example
<clever> playX_: oops, that should end with }; }
<clever> yeah
<clever> then you can just nix-env -iA nixos.RedServer
<clever> and config.nix goes in ~/.config/nixpkgs/config.nix
<clever> { packageOverrides = pkgs: { RedServer = pkgs.callPackage ./redserver.nix {}; } }
<clever> playX_: you need to create a config.nix that contains the following
<clever> playX_: have you looked at the nixpkgs manual, the section on package overrides?
<clever> nixpkgs loads config.nix
<clever> playX_: after putting it into your packageOverrides, it can be installed like normal, the command you run is the name you gave it on 19/29
<clever> playX_: the same path needs to be on both 19 and 29
<clever> depends on if you want to install it with nix-env or systemPackages
<clever> packageOverrides are described in the nixpkgs manual
<clever> playX_: and in config.nix under packageOverrides, you need to do RedServer = pkgs.callPackage ./redserver.nix {};
<clever> playX_: lines 19 and 29 refer to different files
<clever> playX_: load it with callPackage in a normal packageOverride
<clever> so if you do ./foo.jar; it will look for foo.jar in the same directory as the nix file
<clever> all relative paths are relative to the file that contains them
<clever> playX_: change the src= line
<clever> playX_: yeah
<clever> playX_: sounds like you will need to patch that launcher the same way multimc was patched
<clever> case sensitive
<clever> playX: run MultiMC
<clever> playX: then multimc should just work
<clever> playX: the library giving the failure is also X related, so i dont see that version working as a server
<clever> playX: multimc needs an Xorg session to run
<clever> playX: MC works fine when ran under multimc, which is packaged in nixpkgs
<clever> lines 1-3, and 41
<clever> srhb: ah, the comments here, and this job: https://github.com/NixOS/nixpkgs/blob/master/nixos/release-combined.nix#L41
<clever> srhb: http://howoldis.herokuapp.com/ links to the special test jobs
<clever> tnks: there is also a stack2nix program, which will take your stack file, and generate a new haskellPackages set around that
<clever> via hackage2nix
<clever> tnks: so it will depend on your nixpkgs revision, and what peti last commited when converting the hackage db into nixpkgs
<clever> tnks: when using just plain cabal2nix, it just expects the packages to already be in pkgs.haskellPackages, and uses whatever version nixpkgs contains
<clever> viaken: when using the acme modules in nixos, you have to restart nginx manualy after the cert is setup

2017-11-11

<clever> ahmad: add autoreconfHook to the buildInputs
<clever> shanemik_: split outputs, you need to build the .doc attribute of the derivation
<clever> mekeor: while .overrideAttrs changes the arguments as they are passed into stdenv.mkderivation
<clever> mekeor: .override is to change the arguments going into the file, on line 1-ish
<clever> .override cant change src, that needs .overrideAttrs
<clever> Unode: you may also want to set "neededForBoot=true;" on the entry in nixos, so the initrd mounts it
<clever> then things fail in an obvious way if you dont mount
<clever> i try to chmod the mount-point to 0, so nothing can access the directory under it
<clever> but most things dont care
<clever> zfs and s3fs are special, in that they demand the directory to be empty first
<clever> even of its not empty
<clever> its often caused /boot problems for new nixos users
<clever> you can mount any fs over an existing directory
<clever> Unode: thats how linux has always worked
<clever> Unode: oops, ^^
<clever> there is already an option to do just that
<clever> how did you configure tmp to be a tmpfs?
<clever> then the system fixed the problem
<clever> and you where storing files in the /tmp directory of /
<clever> Unode: it sounds like the tmpfs wsnt mounted to begin with
<clever> what about the timestamp of the oldest file?
<clever> journalctl would also help if that was the case
<clever> i just happened to catch dhcp refreshing /etc/resolv.conf
<clever> Unode: yeah, leave it running into a log file, and wait for it to happen
<clever> 23195 23194 resolvconf -d enp3s0.ra -f
<clever> 23194 32403 /nix/store/azq5rpd6z2m6qs80fcr56mcflggabv7y-dhcpcd-6.11.5/libexec/dhcpcd-run-hooks
<clever> Unode: this shows every program being ran on the system, and the parent pid of each
<clever> [root@amd-nixos:~]# nix-shell -p perf-tools --run execsnoop
<clever> Unode: execsnoop may help
<clever> tests go under buildInputs like the rest of the deps
<clever> Unode: done
<clever> gnome2.libart_lgpl.out 0 s /nix/store/hrjassnhnpwl59ymb4vnqb7xrm3i0bpq-libart_lgpl-2.3.21/lib/libart_lgpl_2.so
<clever> [clever@amd-nixos:~]$ nix-locate art_lgpl_2
<clever> yeah, after preunpack, unpack, and postunpack have ran, the stdenv will cd into the dir it made
<clever> Unode: yeah, just throw in an ls and pwd
<clever> sauyon1: neededForBoot = false; should do that
<clever> Unode: also try an echo on prePatch, postPatch, and preConfigure
<clever> Unode: what if you put an echo statement into it?
<clever> i have the type encoded into the device
<clever> and set the fstype to fuse
<clever> sauyon: i had to give an absolute path
<clever> sauyon: line 10 of the file i linked, # mount unsets PATH when running this
<clever> so you can just do postUnpack = "rm foo/bar";
<clever> Unode: i think it will accept any arg that stdenv.mkDerivation accepts
<clever> 55 buildPythonPackage = makeOverridablePythonPackage (callPackage ../development/interpreters/python/build-python-package.nix {
<clever> { column = 10; file = "/nix/store/q71jxrnm2a49s8hzfirm4ssri1x0lqqg-nixos-18.03pre118328.6d86fcb86d/nixos/pkgs/top-level/python-packages.nix"; line = 85; }
<clever> nix-repl> builtins.unsafeGetAttrPos "buildPythonPackage" pythonPackages
<clever> Unode: find the definition of buildPythonPackage, and see what arguments it accepts
<clever> so you never have to touch access keys
<clever> sauyon: that module does everything, even setting up the iam role and bucket with nixops
<clever> Unode: run "gist -p" on the file from a shell
<clever> i think your terminal did that when you copied
<clever> scroll to the right
<clever> oh
<clever> its visible in raw mode
<clever> also the '' is missing from that patch
<clever> a;sp tje
<clever> it creates a new package, that is compiled by running the command, then returns the result of building it
<clever> runCommand doesnt work like that
<clever> Unode: somewhere in the patchPhase i'm thinking

2017-11-10

<clever> tanonym: what does which enlightenment.efl say?
<clever> so realpath $(which enlightenment.efl)
<clever> it has to go into argv[1], not stdin
<clever> tanonym: just run realpath on the output of which or type
<clever> pie_: if you create a file like this, it will fool nix-env into thinking you have a channel called foo
<clever> [clever@amd-nixos:~]$ cat .nix-defexpr/test/foo/default.nix
<clever> import /home/clever/apps/nixpkgs
<clever> yeah, snapshots basicaly ruin any type of rolling garbage collection
<clever> thats basicaly 90% of it for history
<clever> so 80mb for the rest
<clever> and 719mb of that is just .git
<clever> tanonym: 799mb
<clever> --shallow would reduce the usage, but it has trouble pulling when shallow
<clever> pie_: the size of the entire history of the repo
<clever> "git checkout REV" with the right version (check nixos-version), then just edit it in that tree and "nixos-rebuild -I nixpkgs=/home/clever/nixpkgs test"
<clever> and if your cloning the repo, you dont even need an override
<clever> maybe
<clever> tanonym: if you had a copy of the enlightenment directory in /etc/nixos/, you could so something like this to recreate the right value
<clever> });
<clever> callPackage = newScope pkgs.enlightenment;
<clever> enlightenment = recurseIntoAttrs (callPackage ../desktops/enlightenment {
<clever> but you could manualy run the new E from that symlink, if it supports upgrading itself
<clever> the symlink would basicaly have zero effect
<clever> oh wait, hmmm, line 31
<clever> looks like its just enlightenment = pkgs.callPackage ./efl.nix {};
<clever> you will need to override the right attribute
<clever> yeah
<clever> and otherwise, it will have zero impact on the system
<clever> the nix-build command will just spit out a result symlink in the current directory
<clever> tanonym: just keep in mind, that wont have any effect on nixos-rebuild, but you can then put it into a packageOverride
<clever> tanonym: yeah, should be that simple
<clever> just edit the version in the name&url, and the failure will tell you the right hash
<clever> the new default.nix would have the new hash in it already
<clever> ive found that libinput cant disable the mouse while typing on this laptop
<clever> its a glitch in the matrix :P
<clever> matrix
<clever> the linux version isnt limited to the numpad
<clever> sphalerite: there is that old alt+numpad thing, but it might be windows only
<clever> adamt: shouldnt need to use a channel anymore
<clever> ah
<clever> Unode: or it used a binary cache to download a pre-build 2.26
<clever> havent tried others
<clever> ocharles: i'm using this with my hydra: https://www.macincloud.com/pricing/dedicated-plans
<clever> yep
<clever> check env's output
<clever> ylwghst-nix: you need to unset one of the TMP vars
<clever> ylwghst-nix: export NIX_PATH=nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs:nixos-config=/etc/nixos/configuration.nix:/nix/var/nix/profiles/per-user/root/channels
<clever> ylwghst-nix: you can try doing "nixos-install --chroot" then "nixos-rebuild boot" inside that
<clever> its already in nixpkgs
<clever> that generates a bash script, that will run vim and tell it to use a given vimrc
<clever> yeah
<clever> a modified version can also be made, that would just be installable with nix-env
<clever> so now i can get the exact same vim config, on machines i fully control, and also on other machines where i dont want to hijack the vim
<clever> gfixler: and this second version is for use with nixos, it just goes into the imports list of configuration.nix
<clever> gfixler: in this case, i just run nix-shell on that file, and i get a fully working vim with all of the config i expect
<clever> gfixler: this is something i had thrown together for using my normal vim config on a shared machine
<clever> gfixler: one second
<clever> Lisanna: yep
<clever> then nixos-rebuild wont have to do any network IO
<clever> let it run until it finishes, that should build everything
<clever> Lisanna: lets try something simpler, nix-build '<nixpkgs/nixos>' -A system --option binary-caches ""
<clever> Lisanna: yeah