2017-08-13
20:21
<
clever >
if you call the argument pkgs, then pkgs.callPackage can populate it for you
20:15
<
clever >
catern: skip relying on NIX_PATH and just put the nixpkgs url directly into the default.nix
20:14
<
clever >
catern: instead of importing <nixpkgs>, just import (builtins.fetchurl foo), where foo is what you would have put into NIX_PATH
20:08
<
clever >
just set services.tor.enable = true; and it will be installed and configured for you
20:08
<
clever >
its in the nixos side of things
19:39
<
clever >
and /nix has 75gig
19:39
<
clever >
i'm seeing as much as 2x compression on /nix and / for my desktop
19:38
<
clever >
updated the gist with compression info
19:36
<
clever >
but i do have one for /home
19:36
<
clever >
nothing for /root
19:36
<
clever >
and the journal
19:36
<
clever >
a large chunk of that 6gig is systemd/coredump
19:35
<
clever >
amd/root 22G 6.8G 15G 31% /
19:35
<
clever >
Filesystem Size Used Avail Use% Mounted on
19:35
<
clever >
and then / is pretty small most of the time
19:35
<
clever >
sphalerite: i try to keep /nix in its own dataset, so i can turn snapshots off there
19:30
<
clever >
so that only leaves a very expensive option, dedup, but that would only work if the original data had been written when dedup was on
19:30
<
clever >
and i dont know of any special zfs utils that would optimize it
19:29
<
clever >
linux thinks the 2 filesystems are on seperate partitions, so it cant do an atomic move via rename()
19:28
<
clever >
sphalerite: ive been thinking about doing that on my NAS, the only thing i can think of is to create a new filesystem and move the contents over while the system is offline
07:18
<
clever >
but i have ran into problems where zfs doesnt mount other things right on its own sometimes, so it helps to just make everything legacy
07:18
<
clever >
which would be / and /nix
07:18
<
clever >
legacy is only a requirement for things that stage-1 is mounting
07:16
<
clever >
and it all acts like one big directory
07:16
<
clever >
zfs expects those filesystems to land at /pool/, /pool/nix/, /pool/home/ and /pool/root/
07:16
<
clever >
but i think its mainly a left-over, from when you dont set the mountpoint
07:15
<
clever >
i use it for bulk storage of things that dont fall into the other 3 classes
07:15
<
clever >
and i left the pool itself with the default mountpoint, so zfs places it at /pool/
07:13
<
clever >
srhb: i just use pool/root pool/nix and pool/home for my systems
06:23
<
clever >
might help
06:22
<
clever >
hackage-packages.nix does things like this
06:22
<
clever >
77527 }) {inherit (pkgs.gnome3) webkitgtk;};
06:18
<
clever >
and if you follow the --show-trace output?
06:17
<
clever >
now foo winds up getting bar123, when it asked for only bar
06:17
<
clever >
foo = pkgs.callPackage ./foo.nix { bar = pkgs.bar123; };
06:17
<
clever >
Myrl-saki: if you only want to affect one thing, you can insert it into the {} for its callPackage
06:01
<
clever >
rcschm: or indirectly use it, via the haskellPackages frameworks in nixpkgs
06:00
<
clever >
rcschm: you must use ghcWithPackages to get ghc packages
04:38
<
clever >
i think its something that has to be compiled into the ld.so
04:36
<
clever >
which is weird, i didnt think that elf worked like that
04:36
<
clever >
from what ive seen, ld.so is a dynamic executable without any interpreter set on it
04:35
<
clever >
ld.so is a special binary
04:32
<
clever >
so you need to use an unpatched ld.so
04:32
<
clever >
i suspect that ld.so normally has a default search path, that nixpkgs turned off
04:32
<
clever >
Myrl-saki: and --print-interpreter on the main binary your using?
04:29
<
clever >
Myrl-saki: what does "patchelf --print-rpath /lib/libz.so.1" say?
04:27
<
clever >
i dont think so
04:25
<
clever >
Myrl-saki: does libz have /lib in its rpath?
04:25
<
clever >
Myrl-saki: when ld.so handles the requirements for libz, it will use the rpath on libz
03:58
<
clever >
Myrl-saki: can you gist the logs it generates if you set the LD_DEBUG=all env var?
2017-08-12
22:02
<
clever >
[root@amd-nixos:~]# systemd-analyze
22:02
<
clever >
Startup finished in 6.447s (kernel) + 15.572s (userspace) = 22.020s
14:15
<
clever >
ylwghst: nixos doesnt have a /usr/share/
14:12
<
clever >
ylwghst: check the man page, "man modprobe.d"
14:10
<
clever >
ixxie: and also, "nixos-rebuild switch --upgrade" changes 2 different things (nixos, the channel), each needs its own rollback
14:10
<
clever >
ixxie: update always creates a new item at the end, and rollback always goes backwards ONE, not back to previous
14:09
<
clever >
ixxie: ive found 2 issues with rollbacks, if you update, rollback, update, rollback, it doesnt do what you expect
14:06
<
clever >
ylwghst: thats what the config i gave you did
13:49
<
clever >
Infinisil: the last time i had it working was on ubuntu
13:46
<
clever >
exim and dovecot have many options, and dont always name them the same
13:46
<
clever >
yeah, that was tricky to setup the last time i did it
13:45
<
clever >
phdoerfler: run "mail" i think, to read them?
13:38
<
clever >
in pulseaudio, i can use master to scale the mix, and fix that shit
13:37
<
clever >
the problem in windows, is that i have about 2 or 3 pixels of resolution to adjust my volume, because the speakers are naturally loud
13:37
<
clever >
and if i try to raise an app higher, it just raises master
13:36
<
clever >
in windows, master is a hard-cap for every app, so if i set master to 10%, then the apps can only go from 0% to 10%
13:36
<
clever >
in pulseaudio, it does a multiply operation, so i can set master to 10%, then an app to 50%
13:36
<
clever >
ive found the volume controls in windows to be even worse
13:32
<
clever >
ylwghst: in my case, i have several snd_hda devices, so its a list of enables for each one
13:29
<
clever >
ylwghst: boot.extraModprobeConfig = "options snd_hda_intel enable=1,0";
13:20
<
clever >
Infinisil: pavucontrol is the only way to tame the beast
13:20
<
clever >
and id rather avoid things getting stuck on /dev/null
13:19
<
clever >
and pulseaudio likes to switch to a random device when the output is lost
13:19
<
clever >
in my case, i'm disabling the audio output over hdmi, because the monitors lack speakers
13:18
<
clever >
ylwghst: boot.extraModprobeConfig = "options snd_hda_intel enable=1,0";
13:18
<
clever >
ylwghst: i'm doing it just fine, let me dig out the code
13:15
<
clever >
my dad was surprised at how the ipad can answer phone calls, if the phone is on the same wifi
13:12
<
clever >
fire nation attacked?
13:10
<
clever >
sphalerite: thats why i have never bought apple hardware :P
13:08
<
clever >
they want to track everything :P
13:08
<
clever >
tilpner: you still need a license to run debug builds i believe
13:07
<
clever >
pretty sure you need the license to sign things, otherwise, the device will refuse to run it
10:27
<
clever >
just raw ghcWithPackages
10:27
<
clever >
i prefer doing it without any stack or cabal
10:25
<
clever >
Myrl-saki: which passes a single haskell overlay to the haskellPackages set
10:25
<
clever >
Myrl-saki: i believe you need to do haskellPackages = haskellPackages.override { overrides = something: something: { ... }; };
10:21
<
clever >
for example?
10:19
<
clever >
any form of gc
10:19
<
clever >
nix-collect-garbage cleans it up automatically
10:05
<
clever >
yegortimoshenko: as long as you can read the cert acme creates, you can use it for anything on that (sub)domain
10:02
<
clever >
just set that on a virtualhost and your done
10:01
<
clever >
yegortimoshenko: nginx has an option to just 100% automate acme
09:43
<
clever >
yegortimoshenko: what about self.callPackage ./foo {}; ?
09:16
<
clever >
sphalerite: just the kernel modules as far as i know
09:14
<
clever >
it sounds like you did a nixos-rebuild and upgraded, but nixos has to keep the old version around
09:12
<
clever >
Myrl-saki: run nix-store --query --roots on both of them, what does each have?
09:07
<
clever >
sphalerite: depends on how many amphours its rated for i guess?
09:02
<
clever >
so they couldnt just change the UPS
09:02
<
clever >
half the problem, is that while it did have redundant power supplies, it only had 1 power input
09:01
<
clever >
sphalerite: yeah, that was it
08:54
<
clever >
sphalerite: would probably take an hour to find
08:54
<
clever >
Myrl-saki: it was VPN'd back into the datacenter, and they probably had bgp control to route it wherever they want
08:52
<
clever >
Myrl-saki: it involves a UPS, tethering it to a phone via a laptop, a hand-cart, and a subway train
08:52
<
clever >
Myrl-saki: i saw a reddit thread (and youtube video) where they moved a server to a new datacenter, without it going offline
08:38
<
clever >
sphalerite: du uses compressed size by default
08:37
<
clever >
the closure for my primary desktop, including the effects of zfs compression
08:37
<
clever >
3.9G total
08:37
<
clever >
272M /nix/store/6nzb1s93l7rzaa0s6cflnm4hf59fg2ba-clang-4.0.1
08:34
<
clever >
but that netbook lacks an x server
08:34
<
clever >
Myrl-saki: a single build of nixos is just under 1gig right now
08:34
<
clever >
but if there are automated nix builds, it needs automated gc
08:34
<
clever >
if all nix building is manual, then i also manually gc
08:33
<
clever >
i have a netbook with only 4gig for the entire drive
08:30
<
clever >
that just runs nix-collect-garbage, which cant deal with result links left all over the place
08:26
<
clever >
it doesnt root the entire build-time closure
08:22
<
clever >
Myrl-saki: /nix/var/nix/gcroots/auto is a list of symlinks pointing to those result links
08:21
<
clever >
Myrl-saki: find all of the result symlinks you left everywhere and delete them
08:17
<
clever >
Myrl-saki: that command should also show which store paths take up the most space
08:15
<
clever >
Myrl-saki: does this help?
08:15
<
clever >
[clever@amd-nixos:~]$ du --max=0 -hc $(nix-store -qR /run/current-system) | sort -h
08:13
<
clever >
if it was made by nixos, then nixos will also delete it
08:12
<
clever >
then re-add it
08:12
<
clever >
comment the user out in configuration.nix so nixos deletes it
08:12
<
clever >
it probably only triggers when creating the user
03:37
<
clever >
oborot: boot.supportedFilesystems = [ "nfs" ];
03:15
<
clever >
and nixos will automatically install nfs support
03:15
<
clever >
oborot: just add an entry under fileSystems. that has a type of nfs
02:49
<
clever >
gchristensen: and i think he is on the road for a few days
02:48
<
clever >
gchristensen: yeah
2017-08-11
16:12
<
clever >
gwang: you appear to have a ghcWithPackages being recompiled
16:12
<
clever >
gwang: the error was unrelated to tmux
16:07
<
clever >
Phillemann: the bootstrap stuff in ghc is a bit of a mess, you sometimes have to build 2 or 3 ghc's to get the one you want
16:05
<
clever >
the things in the shell are prefered
15:55
<
clever >
disasm: a:, the overrides are there, b: nix-build -A system-config-printer in the root of a nixpkgs checkout
15:55
<
clever >
pkgs/top-level/all-packages.nix: system-config-printer = callPackage ../tools/misc/system-config-printer {
15:55
<
clever >
[clever@amd-nixos:~/apps/nixpkgs]$ grep -r system-config-printer
15:31
<
clever >
we would need to either bisect nixpkgs, or find somebody that knows the python stuff better
15:30
<
clever >
something must be setting it elsewhere and has stopped doing it
15:03
<
clever >
disasm: so its prefixing PATH with --set, then failing that CUPS_DATADIR isnt a valid flag
15:02
<
clever >
disasm: i think $program_PATH isnt set
14:59
<
clever >
ah, the problem is in something you didnt modify?
14:57
<
clever >
disasm: what did you call makeWrapper with?
07:49
<
clever >
not sure then, all i can think of is to strace dovecot while logging in
07:48
<
clever >
ah, i see it in the source now
07:47
<
clever >
with the name dovecot?
07:47
<
clever >
phdoerfler: do you have a dovecot entry in /etc/pam.d/ ?
07:38
<
clever >
at the time that the bot posted that, the channel advanced to commit 5def5bab3c, which was already 68 minutes old
07:20
<
clever >
only thing i can think of there is to patch nixos-rebuild to do things after the nix-build part
07:16
<
clever >
so i now have logs in here, of every state that has become a generation
07:15
<
clever >
lrwxrwxrwx 1 root root 50 Dec 31 1969 /nix/var/nix/profiles/system-310-link/nixcfg -> /nix/store/ipr0929j1jww82kc03rf52v02wndn3rn-nixcfg
07:15
<
clever >
sphalerite: this will archive the nix expressions within the nixcfg subdir of the nixos storepath
07:15
<
clever >
sphalerite: system.extraSystemBuilderCmds = "ln -sv ${./.} $out/nixcfg";
07:14
<
clever >
sphalerite: i have a trick very close to that
04:54
<
clever >
(dont worry, i had to search as well)
04:52
<
clever >
unpackPhase
04:52
<
clever >
nix-shell '<nixpkgs>' -A gpg2
04:51
<
clever >
thats something ive been saying for years
04:48
<
clever >
luke, use the source
04:47
<
clever >
i think this is the biggest and most well documented comment ive seen in the nix source
04:43
<
clever >
Infinisil: oh yeah, this is also interesting
04:42
<
clever >
and then nix will hash the entire tree of results
04:41
<
clever >
and storing any files that 200
04:41
<
clever >
Infinisil: this will brute-force download a range of file patterns, from a list or mirrors, ignoring all 404 errors
04:40
<
clever >
Infinisil: and the file on line 92 (arg!, so many improves i want to make now that i look at this mess, lol)
04:39
<
clever >
and the hash is wrong, so it tells me the right one
04:39
<
clever >
then the output i claim to have doesnt exist, so it runs it
04:39
<
clever >
i usualy increment a random number in the hash
04:39
<
clever >
because its fixed-output, and you are claiming it still has the same output
04:38
<
clever >
nix wont re-build it
04:38
<
clever >
but you give the exact same name and outputHash
04:38
<
clever >
and one common mistake, if the inputs change in a way that should affect the output
04:35
<
clever >
so if its not determisistic, your going to have a really hard time getting the build to pass :P
04:35
<
clever >
and if its not, the build fails
04:35
<
clever >
nix will enforce that the hash of $out is outputHash
04:35
<
clever >
sort of, if its not determisistic, things will go very badly for you :P
04:34
<
clever >
Infinisil: any derivation that has these 3 attributes is fixed-output
04:33
<
clever >
but you can still add it if you know the right name
04:33
<
clever >
its usually not of much use
04:30
<
clever >
now those mutations are part of the fixed-output
04:30
<
clever >
previously, only the zip was fixed-output, and there was a derivation applying mutations to make the real package
04:28
<
clever >
Infinisil: one bonus i can see to this, the raw derivation at that attribute, can now be shared between platforms, and will likely never be impacted by a mass-rebuild
04:27
<
clever >
Infinisil: now its directly a fixed-output, with nothing in the middle
04:27
<
clever >
inflames: it was a normal derivation, that just blindly copied files from a fixed-output derivation
04:20
<
clever >
hmmm, maybe hangouts has an xmpp gateway...
04:19
<
clever >
IRC is the only protocol in it that i use
04:19
<
clever >
and also, the usefulness of pidgin seems to have taken a nose-dive
04:17
<
clever >
when i install that expression, i do get OTR as an option in plugins
04:16
<
clever >
then everything on the nix side is working as it should
04:15
<
clever >
that should have a pidgin-otr.so entry
04:15
<
clever >
ls -lh /nix/store/dzaza6ziz6qyakx1aqrxvzj119lglign-pidgin-with-plugins-2.12.0/lib/pidgin
04:14
<
clever >
inflames: cat /run/current-system/sw/bin/pidgin
04:13
<
clever >
inflames: and "realpath /run/current-system/sw/bin/pidgin
04:12
<
clever >
what does "type pidgin" show now?
04:11
<
clever >
no other pidgins
04:11
<
clever >
only that line
04:10
<
clever >
(pidgin-with-plugins.override { plugins = [ pidginotr ]; })
04:10
<
clever >
try adding just this to your systemPackages
04:09
<
clever >
nix is a bit odd, you cant just install plugins and it finds them
04:09
<
clever >
yeah, and pidgin also wont know where to find it
04:08
<
clever >
guessed wrong at how its used
04:08
<
clever >
pidginotr contains no binaries
04:07
<
clever >
even when ran as just "pidgin" in the console?
04:04
<
clever >
2017-08-11 01:00:08 < clever> only pidginotr, remove the old pidgin
04:04
<
clever >
what does the above command say?
04:03
<
clever >
realpath /run/current-system/sw/bin/pidgin
04:03
<
clever >
to remove that extra one
04:03
<
clever >
you need to nix-env -e pidgin
04:03
<
clever >
that has priority over the one in systemPackages
04:02
<
clever >
you also installed it with nix-env
04:02
<
clever >
what does "type pidgin" say?
04:01
<
clever >
did you restart pidgin?
04:00
<
clever >
only pidginotr, remove the old pidgin
03:54
<
clever >
inflames: did you install the pidginotr package?
03:26
<
clever >
yeah, so create a bios boot partition
03:25
<
clever >
so just make another partition and squeeze it into that hole
03:25
<
clever >
and the bios boot can be smaller then 1mb
03:24
<
clever >
because gpt uses more then 512 bytes
03:24
<
clever >
atondwal: the problem, is that grub doesnt know where the "free space" starts
03:23
<
clever >
it is not safe to install grub on gpt without a bios boot partition
03:23
<
clever >
then grub.device = "/dev/sda"; will work without errors
03:22
<
clever >
1mb, no fs, never mounted
03:22
<
clever >
you must create a bios boot partition for grub to sucessfully install
03:22
<
clever >
is sda gpt?
03:21
<
clever >
atondwal: do you want to boot with efi or legacy?
03:21
<
clever >
atondwal: what was device set to previously?
03:17
<
clever >
was boot mounted to /mnt/boot/ when you ran things?
03:16
<
clever >
nixos-install will ask you for the root password automatically
03:15
<
clever >
either use just straight nixos-install, or "nixos-rebuild boot" under chroot
03:15
<
clever >
atondwal: switch doesnt work under chroot
03:14
<
clever >
oh, and how did you try rebuilding it after adding hashedPassword?
03:14
<
clever >
atondwal: it has to be recompiled after changing the configuration.nix
03:13
<
clever >
atondwal: try nixos-install again, while everything is mounted
03:02
<
clever >
atondwal: try turning that off, and re-run passwd to set the password again
03:02
<
clever >
atondwal: users.mutableUsers=false; disables changing the password with passwd
03:01
<
clever >
atondwal: can you pastebin your configuration.nix?
03:00
<
clever >
atondwal: does your user have isNormalUser = true; ?
02:56
<
clever >
jonjitsu: what is the contents of /mnt/etc/nixos/configuration.nix?
02:53
<
clever >
jonjitsu: try just normal "nixos-install", that already does a nixos-rebuild for you
02:52
<
clever >
jonjitsu: did you use nixos-install --chroot or just normal chroot?
02:41
<
clever >
jonjitsu: can you paste the cmd you ran and all of the console output into a pastebin?
02:40
<
clever >
switch will fail
02:40
<
clever >
never use switch or test
02:40
<
clever >
also, only use "nixos-rebuild boot" in a chroot
02:39
<
clever >
jonjitsu: can you paste the cmd you ran and all of the console output into a pastebin?
02:38
<
clever >
jonjitsu: did you mount the install to /mnt first?
02:37
<
clever >
jonjitsu: why didnt it work?
02:37
<
clever >
jonjitsu: "nixos-install --chroot"
02:35
<
clever >
and both obs-studio and steam "work", if i 100% disable opengl
02:35
<
clever >
when other things work fine
02:35
<
clever >
both obs-studio, and steam, just 100% fail on startup due to a single missing opengl feature
02:34
<
clever >
just changing my xserver.videoDrivers from "ati" to "amdgpu", nearly all of my wonky opengl problems have vanished
02:21
<
clever >
and skip the IFD and reading hashes from derivations
02:21
<
clever >
then pre-generate a single nix file, containing all of the fixed-output derivations
02:20
<
clever >
when things change
02:20
<
clever >
catern: and how will nix know when to rebuild that derivation?
02:20
<
clever >
catern: and is the file containing the hash in an IFD thingy?
02:19
<
clever >
catern: the problem there, is that it wont know what hash the fixed-output uses, until it reads and hashes the file
02:17
<
clever >
catern: it has to be a fixed-output derivation to stop the re-hashing, and requireFile is the simplest one i can think of, that doesnt require it to be on http
02:13
<
clever >
or just fetchurl
02:13
<
clever >
id make something like hackage2nix, that hashes each one, and generates a nix expression that calls requireFile