2017-01-26
20:33
<
clever >
Unode: vmTools.runInLinuxVM i believe
20:05
<
clever >
copumpkin: yep, entirely schemaless
20:02
<
clever >
nh2_: yeah, one anoying problem with the nixpkgs config, is that it has no checking for invalid entries
20:00
<
clever >
xargs needs to be used within nix-push
19:59
<
clever >
you could nix-copy-closure the paths to the linux http server, and then nix-serve from that?
19:58
<
clever >
johnw: nix-serve is another option for a binary cache
19:58
<
clever >
johnw: xargs will inteligently check the limits, and break it up into multiple commands
19:57
<
clever >
johnw: readlink -f ~/.nix-profile | xargs nix-push ...
19:48
<
clever >
nh2_: it will obey the overrides in nixpkgs.config.packageOverrides, set within configuration.nix
19:29
<
clever >
DavidEGrayson: qtbase includes core, gui, network, opengl, sql, widgets, and some other misc things
19:27
<
clever >
DavidEGrayson: looks like it took my main desktop 33mins to cross-compile qtbase 5.6.1
19:26
<
clever >
let me see
19:26
<
clever >
cross compiling qt and gstreamer
19:26
<
clever >
looks like an issue in gdk-pixbuf is breaking the current build, but there are still a large number of other things fixed
19:25
<
clever >
gdk-pixbuf-print-mime-types.c:1:35: fatal error: gdk-pixbuf/gdk-pixbuf.h: No such file or directory
19:25
<
clever >
gstreamer is still cross-compiling for windows, but the actual project is failing right now
18:45
<
clever >
nh2_: thats pretty much identical to my gist
18:35
<
clever >
eacameron: shouldnt be that hard
18:34
<
clever >
and if all sessions close, it stops
18:34
<
clever >
nh2_: it appears to be done via a systemd user service, so it gets ran as the correct user, the first time you open a session
18:17
<
clever >
nh2_: the instant radvd started on my router, this route appeared in my desktop, and :d2df is the link-local of my router's LAN interface
18:16
<
clever >
default via fe80::230:48ff:fec5:d2df dev enp3s0 proto ra metric 1024 expires 286sec hoplimit 64 pref high
18:16
<
clever >
2001:470:1d:19a::/64 dev enp3s0 proto kernel metric 256 expires 86386sec pref medium
18:14
<
clever >
nh2_: heh, cant find a single machine i control with v6 running right now, let me flip the tunnel back on
18:10
<
clever >
nh2_: they may have done some manual config for you
18:10
<
clever >
nh2_: first thing i can think of is to double-check /etc/network/interfaces on the ubuntu system
18:08
<
clever >
nh2_: sounds like the routing didnt get configured correctly, do you know if the network used dhcpv6 or radvd?
18:07
<
clever >
nh2_: does it have a publicly routable or a link-local ip in "ip -6 addr" ?
18:00
<
clever >
nh2_: do you see v6 routing entries in "ip -6 route" ?
17:01
<
clever >
Dezgeg: ah, youve been working on it also?
16:55
<
clever >
gchristensen: i should look into getting aarch64 on my rpi3
16:30
<
clever >
chpatrick: if you ld-preload it like this, you can remap paths wherever you want
16:30
<
clever >
this util may work
16:29
<
clever >
chpatrick: does it want to write to /opt at build-time or runtime?
15:12
<
clever >
kostja: did you always install nixUnstable, or did you maybe install .nix by chance?
15:05
<
clever >
which made the system essentialy unfixable
15:05
<
clever >
along with the dpkg database
15:05
<
clever >
but a large chunk of the main lv was on that bad disk
15:04
<
clever >
it died about a year ago, about 4 of the LV's could be recovered
15:04
<
clever >
because i was too resize happy, and constantly adding "new" drives to the array
15:04
<
clever >
i had a 500gig lvm array, that was in 400 segments
15:04
<
clever >
avn: yeah, this is experience from before i knew of zfs
15:03
<
clever >
avn: the PE numbers are also in the same unit pvmove operates on, so you can use pvmove to shuffle segments around manualy
15:01
<
clever >
which state that each LV is a single segment
15:01
<
clever >
avn: the key parts, are lines 54 and 75
15:00
<
clever >
but that depends heavily on what is writing to it
15:00
<
clever >
if you can stop the writes to sda, you might speed it up
14:59
<
clever >
and its writing data at the same time
14:59
<
clever >
so you are doing just over 100 reads/sec, totaling about 3mb/sec
14:58
<
clever >
i have even written a tool to defrag it before
14:58
<
clever >
it is trivial to see the fragmentation in lvm
14:58
<
clever >
rrqm/s wrqm/s r/s w/s rkB/s wkB/s
14:58
<
clever >
avn: what kind of operation/sec and mb/sec numbers is it showing?
14:58
<
clever >
avn: sounds like its either seek times, or just the drive itself not able to keep up
14:55
<
clever >
avn: i would start with iostat -x 30, and see if the util% or wait columns are high
05:04
<
clever >
corngood: i have seen other users add build-cores to extraOptions, and now nix.conf contains 2 build-cores entries
05:04
<
clever >
it is a bit off that the anmes are similar
05:03
<
clever >
corngood: you want nix.config.buildCores
05:03
<
clever >
corngood: that will cause some issues
04:56
<
clever >
grantwu: depends on the state of -j, i usualy -j 8 to make things go faster
04:54
<
clever >
or a lambda
04:54
<
clever >
but the value can be any primitive type, number, boolean, string, derivation, list, attribute set
04:53
<
clever >
grantwu: in these cases, it is
04:51
<
clever >
grantwu: this provides the attribute names for nearly every package in nixpkgs
04:49
<
clever >
grantwu: nix-env -iA tells it exactly which package to use, so it finds it much faster
04:49
<
clever >
grantwu: a derivation is a package, and an attribtute is a key=value pair
04:48
<
clever >
grantwu: nix-env -i will search the .name attribute of every derivation for a match
04:47
<
clever >
xpika: nix is incapable of using what is "currently installed" inside builds, it can only use the versions defined within the nix expressions
2017-01-24
17:28
<
clever >
declarative or bust!
17:28
<
clever >
philipp[m]: potentialy related, at a glance, i think thats for imperatively made timers, which nixos has probably disabled?
17:21
<
clever >
eek, i really need to update my router!
17:21
<
clever >
its got 228...
17:03
<
clever >
is it a normal SD card in a slot, or part of the laptop?
17:03
<
clever >
what grade of SD card is it?
17:02
<
clever >
it had to wait 12.5 seconds for a command at one point
17:02
<
clever >
definitely looks like the SD card is the bottleneck at times
17:01
<
clever >
corngood: the first output iostat makes is the average since bootup, the 2nd sample onwards, is averaged over the number it was given
17:01
<
clever >
swflint: thats just the average since bootup, need to wait 30 seconds for a real sample to appear
16:44
<
clever >
swflint: nix-shell -p sysstat
16:43
<
clever >
swflint: iostat can help check the block device load, iostat -x 30, let it run for a few mins, then pastebin the output
16:41
<
clever >
gchristensen: on what hardware?
15:34
<
clever >
only 1 physical drive
15:34
<
clever >
avn: so the only thing lvm is doing is partitioning up a luks volume
15:33
<
clever >
avn: main reason i went with zfs on lvm, is because i wanted swap on the same luks, but i didnt want to deal with swap on a zvol
15:33
<
clever >
avn: havent messed with any of the tuning yet
15:29
<
clever >
avn: my laptop has zfs on lvm on luks
15:00
<
clever >
yeah, i believe it applies to both
14:58
<
clever >
this is how i was forcing debug info on one of my projects
14:58
<
clever >
chpatrick: NIX_CFLAGS_COMPILE = [ "-ggdb -Og" ];
14:58
<
clever >
chpatrick: it should always be used, let me dig up another example
14:54
<
clever >
chpatrick: this is a part of the gcc wrapper used by nix to inject all of the -L and -I's for buildInputs
14:53
<
clever >
chpatrick: NIX_CFLAGS = [ "-march=${cpuMarch} -O3 -g" ];
14:52
<
clever >
chpatrick: oh, another option, let me dig it up
14:45
<
clever >
chpatrick: can you pastebin some of the ways you tried it, and the errors?
14:43
<
clever >
it may need more quotes in quotes, since i think you want a space and several flags there
14:43
<
clever >
so you can do cmakeFlags = [ "-DCMAKE_C_FLAGS_RELEASE=-march=${cpuMarch}" ];
14:42
<
clever >
chpatrick: the cmake hook will respect cmakeFlags
10:49
<
clever >
the generated files are making it harder to add customizations to the nix expressions
10:49
<
clever >
has anybody here done anything complex with node2nix?
08:04
<
clever >
mbrgm: fetchFromGitHub just generates a url to a tarball on github
2017-01-23
11:20
<
clever >
lassulus: and its 7am, i should get to bed, good luck
11:20
<
clever >
but i havent confirmed this feature in grub
11:20
<
clever >
its usualy triggered by just setting the initrd path twice
11:20
<
clever >
then the key is in the initrd only at runtime
11:19
<
clever >
lassulus: so you could have a 2nd initrd file, root-only, with just the keyfile, that grub will read from /boot and append to the initrd
11:19
<
clever >
lassulus: some bootloaders (possibly including grub) can append a 2nd CPIO archive to the initrd
11:19
<
clever >
lassulus: there are some more advanced things that might apply
11:18
<
clever >
lassulus: oh right
11:16
<
clever >
but that requires a reinstall
11:16
<
clever >
lassulus: related to my 2nd answer above, make 2 partitions, an encrypted /boot, and an encrypted /
11:15
<
clever >
lassulus: luks then contains lvm, and one of the LV's contains ZFS
11:15
<
clever >
lassulus: similar to my laptop, on the top level i have a plaintext /boot, and a luks partition
11:14
<
clever >
dweller: thats similar to my original answer, and now the key is in /nix/store for all to see
11:14
<
clever >
so you have a single / partition, and the grub decrypts it once via passphrase, then linux needs it again
11:13
<
clever >
so you can make it root-only
11:13
<
clever >
lassulus: this keeps the keyfile directly on /boot and unmanaged by nix
11:13
<
clever >
lassulus: "simplest" safe option i can think of on the spot, is to put the rootfs keyfile on /boot/, and then using something similar to my iscsi stuff, mount /boot before /, read the keyfile out, then umount /boot
11:12
<
clever >
2017-01-23 07:04:38 < lassulus> /boot is encrypted
11:07
<
clever >
the initrd gets built by nix, so all of its inputs must be world-readable
11:06
<
clever >
and now the keyfile is a dependency of your luks config, and just gets added to the initrd automaticaly
11:06
<
clever >
and the file becomes world-readable
11:06
<
clever >
any time you put a raw path in like that, nix will import the file to /nix/store, and convert the entry into its /nix/store path, as a string
11:05
<
clever >
so boot.initrd.luks.device.foo.keyFile = ./keyfile.bin;
11:05
<
clever >
if you use the keyfile path unquoted in configuration.nix, it will just happen automagicaly
11:04
<
clever >
enless you have /boot also encrypted?
11:04
<
clever >
but then anybody that can read /boot can get the keyfile and there goes the whole point of luks
11:03
<
clever >
lassulus: but it also depends on what kind of file you want to add, and why
11:03
<
clever >
line 56 then connects to iscsi drives, allowing the existing stuff to find a rootfs over that
11:02
<
clever >
and because it references a part of iscsi, the iscsi package is included into the initrd automaticaly
11:02
<
clever >
this inserts a bit of bash script that gets ran before the initrd tries to bring LVM online
03:07
<
clever >
which one was the new version, npm2nix or node2nix?
2017-01-22
19:24
<
clever >
so less of a rebuild the world thing
19:24
<
clever >
and no others
19:24
<
clever >
the nix-build i gave only gives debug for the top level derivation you name
19:24
<
clever >
though the eelco msg implies it should have worked, and given debug for EVERYTHING
19:23
<
clever >
i think he just set an env var for the entire system, that has no effect
19:23
<
clever >
Unode: and glancing at that issue you linked, i think he enabled the wrong option
19:21
<
clever >
in some packages, you need more override flags
19:20
<
clever >
Unode: that function will altar the build flags to include debug symbols
19:16
<
clever >
Unode: nix-build -E 'with import <nixpkgs> {}; enableDebugging hello;'
18:43
<
clever >
Unode: manualy read the wrapper, set the env variables in your shell, then run gdb on the original ELF
2017-01-21
20:57
<
clever >
2014.... to me... lol
20:57
<
clever >
ah, thats new
20:52
<
clever >
from what i remember, ntpdate is to set it once as fast as possible, while ntpd is to give it time to get a lock, and keep it locked
20:49
<
clever >
Ankhers: that should perfectly set the clock for you
20:49
<
clever >
Ankhers: i would just manualy run ntpdate against an ntp server
20:24
<
clever >
i have since switched that laptop to an internal copy of nixos, it now has ZFS on LVM on LUKS, with a plaintext /boot, all ontop of GPT
20:22
<
clever >
and then a copy of iscsistart in the initrd is enough to make linux happy
20:21
<
clever >
and that gets it far enough to load the kernel+initrd
20:21
<
clever >
so grub legacy boots via the legacy bios api, thinking its a local drive the entire time
20:21
<
clever >
ipxe uses iscsi to open the root hdd over the LAN, and it then hijacked the legacy bios API for the primary master hdd, and ran the MBR
20:20
<
clever >
i have booted my laptop with ipxe + iscsi + grub legacy + gpt
20:20
<
clever >
as for weird things ive done with grub
20:20
<
clever >
memtest86 on nixos-unstable gives false errors
20:19
<
clever >
the gcc hardening in nixpkgs
20:19
<
clever >
except, memtest still said the ram in 3 other systems was also bad
20:19
<
clever >
MichaelRaskin: even if i swapped it for ram from another pc
20:19
<
clever >
MichaelRaskin: and the entire reason i had to shuffle the drives, memtest86 said the ram in my desktop was bad
20:18
<
clever >
the SSD's failed to boot on their own
20:18
<
clever >
until the drives got shuffled about
20:18
<
clever >
and a random magnetic in the box was holding the MBR
20:18
<
clever >
turns out, the partition label was bios boot partition, but it had the wrong typecode
20:17
<
clever >
and used hexdump to confirm things
20:17
<
clever >
i recently had to fix the MBR on one of my drives
20:17
<
clever >
MichaelRaskin: the guid type code for the "bios boot partition", when converted to ascii, is "Hah!IdontNeedEFI"
20:15
<
clever >
that partition has no filesystem, grub just writes the raw stage 1.5 executable directly to it
20:15
<
clever >
MichaelRaskin: GPT legacy solves that, by forcing you to put stage 1.5 into a dedicated "bios boot partition"
20:15
<
clever >
MichaelRaskin: yeah
20:09
<
clever >
MichaelRaskin: and then used it to decode an MBR on an actual disk, and figure out where stage 1.5 was
20:08
<
clever >
MichaelRaskin: ive even gotten a little bored, and i read the assembly behind the stub in the MBR
20:06
<
clever >
MichaelRaskin: ive read the entire info doc on grub before, so i'm familiar with how grub works
20:01
<
clever >
MichaelRaskin: yep, and in that case, it was just a /boot/ missing, so you could have just fixed it from grub's edit menu
20:01
<
clever >
so you can do any testing you want, without risking the stablity of the host
20:00
<
clever >
xwvvvvwx: this will generate a bash script that runs the resulting nixos under qemu
20:00
<
clever >
xwvvvvwx: nixos-rebuild -I nixpkgs=~/apps/nixpkgs build-vm
20:00
<
clever >
if you dont need to test driver stuff, you can cheat in a safe way
19:59
<
clever >
and it also broke the magic rollback from grub that makes nixos great
19:59
<
clever >
many months ago, there was a wave of people running nixpkgs-unstable, and it was eating grub.cfg, leaving their systems unbootable
19:59
<
clever >
i run nixos-unstable on my systems
19:55
<
clever >
xwvvvvwx: nixos-unstable updates when a set of tests pass, to certify it wont horidly break a nixos machine
19:55
<
clever >
xwvvvvwx: nixpkgs-unstable updates whenever hydra has finished trying to build everything
19:49
<
clever >
xwvvvvwx: you can also use -I to override things, -I nixpkgs=~/apps/nixpkgs/
14:26
<
clever >
yeah, its the daemon that will need NIX_BUILD_HOOK/NIX_REMOTE_SYSTEMS set, not the slave
14:24
<
clever >
jophish_: NIX_REMOTE_SYSTEMS as well?
12:34
<
clever >
or the graphics memory if its in a graphical mode
12:34
<
clever >
those typicaly work by scraping the text memory for the GPU
12:33
<
clever >
Unode: the server appears to already have this physicaly installed, i saw its keyboard in lsusb
12:31
<
clever >
Unode: the hardware for that does not appear to be configured, or even plugged in
12:30
<
clever >
so now i'm having to explain to support that the remote-console IPMI has to be enabled, lol
12:29
<
clever >
and without a console, i had no way of knowing/doing that until i opened a support ticket
12:29
<
clever >
and upon rebooting, the raid card got upset, and wanted to re-import the config
12:29
<
clever >
i recently installed nixos over an old 2015 ubuntu at racklodge
12:28
<
clever >
but i'm currently trying to walk some datacenter support guys thru the process of doing their job, lol
12:28
<
clever >
id need to dig it out of mothballs to try things again
12:27
<
clever >
Unode: i believe it happened even with just 1 mod installed, and only the mod UI's where bugged, the native stuff worked fine
12:25
<
clever >
and without apoaps/periaps visible, the game is near unplayable
12:25
<
clever >
installing MS fonts on nixos does not solve the problem
12:25
<
clever >
first time ive ever seen cross-platform done so well, all platforms have the same bug, lol
12:24
<
clever >
all text within mods is missing
12:24
<
clever >
running the native linux version, and the windows version under wine results in identical problems
12:24
<
clever >
ive also run into insane font problems with KSP
09:59
<
clever >
i can paste a link to my copy
09:59
<
clever >
i was able to download it in just 18 seconds
09:57
<
clever >
YellowOnion_: how fast is it from here?
04:43
<
clever >
(that path came from your nixos-rebuild pastebin)
04:43
<
clever >
justanotheruser: if you want the compile-time graph, you need "nix-store -q --tree /nix/store/gvfhv333z17zs8b1spw27wpdyhw3rbpm-nixos-system-dawn-16.09.1512.6b28bd0.drv"
04:42
<
clever >
thats the runtime graph, not the compile-time graph
04:39
<
clever >
justanotheruser: cudatoolkit probably depends on the cudnn7 version
04:38
<
clever >
gchristensen: part of it depends on the read to insert ratio
04:36
<
clever >
justanotheruser: can you gist the full configuration.nix and nixos-rebuild output?
04:35
<
clever >
gchristensen: ah, i sometimes do that kind of thing with mysql, havent really looked into hydra's pgsql db yet
04:34
<
clever >
justanotheruser: review the contents of your configuration.nix and any files it references
04:34
<
clever >
justanotheruser: something elsewhere in your system is referencing cudann7
04:33
<
clever >
gchristensen: also, i ran this against a racklodge server lastnight, it booted up just fine, and i was able to image the entire sda, and i plan to install nixos next
04:32
<
clever >
gchristensen: i could have it boot a 64bit kernel from a 32bit guest
04:31
<
clever >
its pretty hard to break /nix, and you would want to keep /etc/nixos or youll have to redo all the config
04:31
<
clever >
and this actualy gives me an idea
04:30
<
clever >
you dont have to format, it will just make a 64bit variant from your existing configuration.nix, and update
04:29
<
clever >
i have upgraded from 32 to 64 before with just nixos-rebuild, but its far simpler to just boot a 64bit ISO and re-run nixos-install
04:29
<
clever >
i686 is 32bit
04:28
<
clever >
but it should still run 64bit code faster then 32bit code
04:28
<
clever >
to me, it sounds like somebody made a 64bit cpu with a 32bit pinout, so it could work on older 32bit motherboards
04:27
<
clever >
moet: yep, so it can run 64bit code, but its got a hard limit of 4 gig of ram
04:27
<
clever >
moet: 64bit cpu, with a 32bit address bus on the mobo
04:26
<
clever >
cudnn = pkgs.callPackage ./install-cudnn.nix {};
04:26
<
clever >
justanotheruser: because like 6 says the name will just be cudnn
04:26
<
clever >
and also this
04:25
<
clever >
address sizes : 48 bits physical, 48 bits virtual
04:25
<
clever >
moet: look for lm (long mode) in /proc/cpuinfo
04:24
<
clever >
line 6 of the last gist creates a new entry for cudnn8, and calls it just "cudnn"
04:12
<
clever >
no, but if you add it to config.nix like i did with toxvpn, you can act like it was
04:11
<
clever >
and months later, when you want to rebuilt it for whatever reason, you dont have to remember the exact command we used previously
04:11
<
clever >
justanotheruser: something else that will both help testing, and save you trouble down the road, is to install it as a packageOverride in ~/.nixpkgs/config.nix
04:11
<
clever >
then you can just nix-env -iA nixos.cudnn
04:09
<
clever >
justan0theruser: and further down, you want tar -xzvf $src, otherwise the build will fail when the sandbox is enabled
04:09
<
clever >
justan0theruser: are you just testing it, or do you want to install it?
03:40
<
clever >
even with xorg disabled
03:40
<
clever >
it will still read services.xserver.videoDrivers to figure out which drivers to use
03:40
<
clever >
but since its headless, you didnt enable xorg
03:39
<
clever >
normaly, enabling xorg will do that for you, along with configuring the right driver automaticaly
03:39
<
clever >
dhess: it needs hardware.opengl.enable = true; to create that symlink
03:38
<
clever >
dhess: one min
03:25
<
clever >
maybe, but copy-closure wont see the hardlink
03:19
<
clever >
coredumps are off by default
03:16
<
clever >
and if you have debug symbols enabled, pointing to the source, you now depend on the source at runtime
03:15
<
clever >
it even runs it on binary files, thats how it finds the elf files you depend on
03:15
<
clever >
eacameron: nix will basicaly run the same grep command every time a build finishes, to figure out what the runtime deps are
03:09
<
clever >
eacameron: run this, "grep -r l557a8749l88icgwhh8g5m247zg3n3i4 /nix/store/a3cfnz9zm2dm79kvmfqaa2bmqivmlvmn-craft-app"
03:08
<
clever >
so if you copy the source, it will still internaly be refering to itself
03:08
<
clever >
eacameron: aha, line 4 tells me everything, the src refers to itself
03:06
<
clever >
eacameron: can you pastebin the output of --tree and point out which path you dont want?