2019-04-10
18:51
<
clever >
infinisil: previously, i put lvm on my luks, to share a single passphrase between swap and zfs
18:41
<
clever >
action: Enable all features using 'zpool upgrade'. Once this is done,
18:41
<
clever >
and its already active
18:40
<
clever >
embedded_data looks like a handy feature for dealing with a lot of small files
18:38
<
clever >
encryption is not in my man page
18:38
<
clever >
send|recv could likely shuffle the data around within the pool, and de-feature it
18:38
<
clever >
the last one implies you can disable the feature if you simply destroy the datasets in question
18:37
<
clever >
This feature is active while there are any filesystems, volumes, or snapshots which were created after enabling this feature.
18:37
<
clever >
Existing pools where this feature is active can be imported.
18:37
<
clever >
Once the feature is active, it will remain in that state until the pool is destroyed.
18:36
<
clever >
`man zpool-features`
18:36
<
clever >
i believe the zpool man page says which ones
18:36
<
clever >
for some features, you can turn them off if you delete all data using them
18:15
<
clever >
though i dont see it in services.xserver.displayManager
18:12
<
clever >
would also result in lower resource usage when not logged in
18:12
<
clever >
AFTER you login, start X!
18:12
<
clever >
brick, ncurses, in tty7!
18:12
<
clever >
i have since come up with an idea on how to cheat, hard :P
18:11
<
clever >
gchristensen: related, the biggest problem i ran into with hsdm, was the gui for the login screen
18:05
<
clever >
a display manager written in haskell
18:03
<
clever >
infinisil: ive been thinking about reviving hsdm as well, have you seen that project?
17:56
<
clever >
__monty__: it still works great for me
17:55
<
clever >
services.xserver = { enable = true; displayManager.slim.enable = true; desktopManager.xfce.enable = true; };
17:54
<
clever >
_Geeko_: slim
17:53
<
clever >
i prefer xfce
02:19
<
clever >
(the nixpkgs steam package)
02:18
<
clever >
alexozer: thats basically what steam does
00:13
<
clever >
aswanson: and then i just configure it in xfce, plain drag&drop of the monitors to lay them out right
00:12
<
clever >
aswanson: at bootup, the login screen is somewhat mirrored, then when i do login, xfce takes over and fixes the config
00:12
<
clever >
aswanson: i just didnt configure the monitors in configuration.nix
00:08
<
clever >
and once you find commands that work, paste those into the nixos config
00:08
<
clever >
and it will complete as you would expect tab-completion to work
00:08
<
clever >
of note, you can just tab-complete the kernel and initrd commands in the grub shell
2019-04-09
07:04
<
clever >
enteee: what about nixos-rebuild build-vm --fast ?
07:03
<
clever >
enteee: does the build still finish?
07:01
<
clever >
enteee: how exactly does it fail?
06:36
<
clever >
enteee: just add them to configuration.nix, like any other option
2019-04-08
18:49
<
clever >
i think its to play nice with [ -z
18:48
<
clever >
that same weirdness happens if you set an attribute of a derivation to a bool
18:48
<
clever >
> toString false
18:48
<
clever >
> toString true
18:48
<
clever >
but when nix turns bools into strings for a derivation, it gets weird
18:47
<
clever >
that is how nixos figures out what to run after `nixos-rebuild boot`
18:46
<
clever >
Myrl-saki: the bootloader you enable, will set `system,build.installBootLoader` and only one module can set it
18:45
<
clever >
Myrl-saki: one min
14:52
<
clever >
dhess: i believe the closure will still be in your bucket, due to the rule "Nix considers it an invariant that a binary cache has the complete closure for anything it contains..."
14:45
<
clever >
and its building all of nixpkgs, for 3-4 arches
14:43
<
clever >
dhess: the build slaves cached the fact that hydra.iohk.io has X, and then it didnt have X
14:42
<
clever >
dhess: half the reason we moved to S3, is because GC on hydra constantly broke builds
14:42
<
clever >
dhess: yeah, no GC planned currently
14:41
<
clever >
also, the full closure must be present
14:41
<
clever >
dhess: the .narinfo files can share a .nar.xz, so a recent .narinfo may refer to an old .nar.xz, which your lifecycle rule deleted
01:14
<
clever >
mabel: one sec
00:45
<
clever >
nix-env -i ruby is the weird one
00:45
<
clever >
glenndavy: nix-shell -p ruby, is identical to nix-env -iA nixpkgs.ruby
2019-04-07
19:32
<
clever >
drakonis: the issues listed in that ticket will need to be solved
19:13
<
clever >
tilpner: nix-env -iA foo.hello will now use that dir
19:13
<
clever >
import /home/clever/apps/nixpkgs
19:13
<
clever >
$ cat ~/.nix-defexpr/test/foo/default.nix
05:15
<
clever >
lovesegfault: every attribute on a derivation becomes an env var
05:14
<
clever >
lovesegfault: thats one way
05:13
<
clever >
lovesegfault: youll need to add it to LD_LIBRARY_PATH
05:12
<
clever >
lovesegfault: maybe
05:12
<
clever >
,locate libstdc++.so.6
02:27
<
clever >
just set options= and config=
02:27
<
clever >
mabel: you could define custom options, thats in the nixos manual
02:25
<
clever >
mabel: yep
02:23
<
clever >
mabel: home-manager is a module, so you can use the imports key to load more similar modules
01:30
<
clever >
you can always move back to 18.09 if you have trouble
01:29
<
clever >
then nix-channel --update and nixos-rebuild
01:21
<
clever >
monokrome: what channel are you on?
2019-04-06
16:38
<
clever >
Myrl-saki: ah
16:37
<
clever >
jakov, MichaelRaskin: this allows dumpcap to run as root, but not wireshark itself, and thats enough to run wireshark as non-root and still capture packets
16:36
<
clever >
jakov: one min
16:36
<
clever >
Myrl-saki: yeah
16:33
<
clever >
Myrl-saki: that fake backup includes the full closure of a given path, but lacks the hashes
16:33
<
clever >
Myrl-saki: when qemu vm's have a writable store, they automatically import a fake backup of db.sqlite
01:49
<
clever >
ashkitten: i would be fine with that, just leave a comment near the version= reminding people to update it
01:13
<
clever >
samueldr: thats basically what the above PR did
01:04
<
clever >
ashkitten: i made this back in nov of last year, and the description says it includes netplay
01:03
<
clever >
ashkitten: ahhhh, i packaged faster melee, a fork of dolphin!
00:46
<
clever >
ashkitten: dang
00:44
<
clever >
and keeping .git causes an impurity that will randomly break fetching
00:44
<
clever >
ashkitten: but fetchFromGitHub is downloading a .tar.gz, which is much faster then `git clone`
00:42
<
clever >
ashkitten: i think you can set vars like DOLPHIN_WC_REVISION via the cmakeFlags
00:40
<
clever >
nope, wasnt me
00:39
<
clever >
i could swear i packaged dolphin-emu, where did i leave it...
00:38
<
clever >
ashkitten: i think i patched dolphin...
00:34
<
clever >
ashkitten: but its better to patch it to not need that
00:34
<
clever >
ashkitten: leaveDotGit
2019-04-05
23:57
<
clever >
the cmake setup hook is even doing that, based on other env vars you can set
23:56
<
clever >
ashkitten: you can use a chunk of bash in preConfigure to mutate the cmakeFlags env var however you want
23:56
<
clever >
ashkitten: preConfigure = ''cmakeFlags="$cmakeFlags $(echo whatever)"'';
23:54
<
clever >
so you can just use normal bash scripting in the phases
23:53
<
clever >
ashkitten: nearly all derivations are just chunks of bash script to be ran
22:07
<
clever >
gchristensen: more the lib.range then the zip i think
22:06
<
clever >
gchristensen: ahh, off by one!
22:05
<
clever >
although, tests already contain logs with timestamps...
22:04
<
clever >
gchristensen: i can also see why my pcap trick wouldnt be accepted as a blanket change to nixos tests,
https://r13y.com/
22:01
<
clever >
maybe a weird net split?
22:01
<
clever >
hmmm, that wasnt us getting matrixed
21:59
<
clever >
and stage-2 cant find systemd
21:59
<
clever >
so if any fragment of the activation script fails, the entire activation script stops, and then /run/current-system isnt created
21:57
<
clever >
immae: and near the top, it sets a trap for errors
21:57
<
clever >
immae: `cat /run/current-system/activate`, near the end, it updates /run/current-system
21:56
<
clever >
immae: one min
21:56
<
clever >
gchristensen: and its also trying to auto-assign IP's to them for you
21:52
<
clever >
gchristensen: oh, virtualisation.vlans is more extreme then normal vlans, that will isolate things even further
21:49
<
clever >
gchristensen: vlans arent needed, they just help isolate things so you cant hear the other nets packets
21:45
<
clever >
gchristensen: so the pcap files are available for download on hydra in the event of failure!
21:45
<
clever >
gchristensen: and lines 102-112, created a hydra-build-products file
21:45
<
clever >
gchristensen: this causes qemu to create pcap files for all traffic
21:44
<
clever >
immae: yeah, nixops also calls that perl script
21:44
<
clever >
gchristensen: ah, let me grab something that can help
21:43
<
clever >
gchristensen: hmmm, external has a prefix of 24 and is using a pair of 1.1.1.x IP's, will external only ever talk to other external machines?
21:41
<
clever >
gchristensen: if the prefix you configured doesnt match, then it will want to ARP the gateway instead, and route the packets via that, but you havent configured one
21:40
<
clever >
gchristensen: and then it will just fire out an ARP for any ip
21:40
<
clever >
gchristensen: if you just set a prefix length of 0, i think it will consider EVERYTHING as being on the "local" network
21:37
<
clever >
and because he rarely reboot, it worked fine for months, and he GC'd the working versions
21:37
<
clever >
i discovered that when helping somebody that tried to do network in his activation script
21:36
<
clever >
immae: then systemd isnt put into PATH, and stage-2 fails to find systemd!!
21:36
<
clever >
immae: the activation script is sourced, under `set -e` so if anything returns non-zero status, the parent script aborts
21:36
<
clever >
gchristensen: on the same subnet, or with a router?, the bittorrent.nix test uses a router
21:33
<
clever >
then nix is the real primary, and bind just thinks its in control!
21:33
<
clever >
immae: you could also just not have secondary servers, make everything primary, and deploy them all with nixops
21:31
<
clever >
immae: activation scripts are overkill for this, and can brick the machine if you mess up
21:31
<
clever >
immae: just use a prestart on the bind service
21:31
<
clever >
immae: write a bash script that will diff the nix version of the file, against the "current" one, and if they differ, increment and sed it
21:31
<
clever >
immae: the only other option, is to handle that kind of thing at runtime
21:30
<
clever >
immae: you could also just make it an input, and manually increment it when you change the declarative part
21:30
<
clever >
simpson: if you enable pure eval, the attr wont even exist
21:29
<
clever >
and it will constantly re-sync the zone file, even if nothing has changed
21:29
<
clever >
immae: you could use this, but then it will never be the same build twice, and every nixos-rebuild/nixops deploy, will have something changed, and will have to restart bind after copying things
21:28
<
clever >
> builtins.currentTime
21:28
<
clever >
immae: never planned for secondary servers when i wrote it
21:02
<
clever >
hyper_ch: i have 32gig of ram, and can easily GC the files in question
20:53
<
clever >
gchristensen: how else would you solve it? lol
20:53
<
clever >
gchristensen: i'm testing a derivation, that involves copying ~30gig to $out
20:52
<
clever >
gchristensen: and now a good reason to turn on dedup!
19:56
<
clever >
obadz: builtins.filterSource, and lib.cleanSource is a wrapper around it
19:37
<
clever >
obadz: one sec
18:16
<
clever >
iceypoi: ah, that must be new
18:15
<
clever >
linarcx: nobody has bothered ot make it work
18:14
<
clever >
linarcx: startx isnt supported on nixos
18:12
<
clever >
linarcx: not sure how that would be done on nixos
18:10
<
clever >
linarcx: how would you normally specify that in the config file?
17:28
<
clever >
samrose: or it may be a 32bit version
17:28
<
clever >
samrose: it may be an older version, due to upgrading things
16:09
<
clever >
capisce: that will basically be the same as nixos-rebuild (switch|boot), but rather then building, it directly uses an old version
16:09
<
clever >
capisce: /nix/var/nix/profiles/system-42-link/bin/switch-to-configuration (switch|boot)
16:08
<
clever >
capisce: double-check your partitions, do you happen to have 2 /boot's?
16:07
<
clever >
linarcx: it should already be in nixos-unstable, and it will be in 19.03 when that comes out
16:07
<
clever >
capisce: read the config files in /boot/, do they contain the generations you expect?
16:06
<
clever >
so it also will be missing from 18.09
16:06
<
clever >
wait, the pr was opened in march 7th, but not merged until november
16:06
<
clever >
linarcx: options.html may be from 18.03?, which was forked at the start of march
16:05
<
clever >
linarcx: it was added on march 7th of 2018
16:05
<
clever >
capisce: is /boot/ correctly mounted when you run nixos-rebuild switch?
16:04
<
clever >
linarcx: for for that are on lines 37-46 of the same file
16:03
<
clever >
linarcx: i think you want to set i18n.extraLocaleSettings
16:00
<
clever >
capisce: or ctrl+alt+f1 to get a normal text login
15:59
<
clever >
capisce: if graphical is up, you must use ctrl+alt+f8
15:59
<
clever >
srhb: your right, 7 is xorg
15:59
<
clever >
capisce: tty8 is the graphical interface
15:58
<
clever >
capisce: most linux machines only have tty1 thru tty7 started normally
15:15
<
clever >
samrose: you want to use nix to get the path to openssl, nix-build '<nixpkgs>' -A openssl is one way
15:14
<
clever >
too many sam*'s lol
15:14
<
clever >
samueldr: it is normal to see duplicates of packages, thats how nix works
15:12
<
clever >
mikky: dont quote the path
15:04
<
clever >
samueldr: but the above file isnt that bit
15:04
<
clever >
-rw-r--r-- 1 cachecache nogroup 120M Nov 13 21:01 /var/lib/cachecache/cachedir/0aw447l5f2zwf9lx23mq0vcaxmwscjah1l1hg277s6avmnjqqpln.nar.xz
15:03
<
clever >
samueldr: nas.localnet had a bug at one point, that would hang up clients after 60 seconds, if they failed to download the entire body within that time perior
15:00
<
clever >
and if you dont get enough bytes, it should properly register as a failure
15:00
<
clever >
usually a code 200 includes the expected size of the body
13:35
<
clever >
wpcarro: you can also add that expression to your file.nix, and then just nix-build it without any args
13:35
<
clever >
wpcarro: nix-build -E 'with import <nixpkgs> {}; callPackage <nixpkgs/nixos/lib/make-system-tarball.nix> { storeContents = [ { object = callPackage ./file.nix {}; symlink = "/thing"; } ]; }'
13:33
<
clever >
make-system-tarball.nix will create the tar for you, and include a symlink pointing to a storepath so you dont have to guess what needs to be ran
13:32
<
clever >
wpcarro: the tarball doesnt need static linking, nor -qR
13:32
<
clever >
wpcarro: one sec
13:07
<
clever >
mojjo: you must also logout and login again for changes to groups to take effect
13:04
<
clever >
i did skip several lines to avoid spam, but yeah, i could have also reduced that to 1 line even
13:02
<
clever >
88 extraGroups = [ "wheel" "wireshark" "vboxusers" "docker" ];
13:02
<
clever >
85 clever = {
13:02
<
clever >
84 users.extraUsers = {
13:01
<
clever >
mojjo: add yourself to the docker group
13:01
<
clever >
uid=1000(clever) gid=100(users) groups=100(users),1(wheel),72(vboxusers),131(docker),500(wireshark)
02:58
<
clever >
glenndavy: lines 6-12 looks like the arguments to pkgs.fetchgit, so whatever this gets passed to, must be modified to use builtins.fetchGit instead
02:55
<
clever >
glenndavy: can you pastebin the gemset.nix?
02:55
<
clever >
glenndavy: nix-prefetch-git isnt used directly by nix-build
02:54
<
clever >
glenndavy: what function is being used to fetch?
02:54
<
clever >
glenndavy: which file does the name of your private repo appear in?
02:51
<
clever >
glenndavy: you want to edit the nix files to use builtins.fetchGit instead of pkgs.fetchgit
02:48
<
clever >
glenndavy: builtins.fetchGit
02:48
<
clever >
tuelz: but it may be simpler to just run your own mysqld directly, with a non-standard path for its unix socket
02:47
<
clever >
tuelz: the difficult part there, is actually starting mysqld.service
02:36
<
clever >
though some users may be upset if you do things like `sudo rm -rf /` :P
02:36
<
clever >
your free to just run whatever you want there
02:36
<
clever >
tuelz: not directly, but the shellHook string is evaled in bash when you open nix-shell
01:12
<
clever >
mekeor: only of a few things, but i dont know anything about R
01:00
<
clever >
mekeor: yeah
00:56
<
clever >
mekeor: i suspect this is a design issue with the R language, and will plague every single R package
00:51
<
clever >
GalzuFromQ: nixos is basically taking the "compile everything" ideas from things like gentoo and maybe arch, but making things better and solving a lot of issues that gentoo style OS's can have
00:49
<
clever >
GalzuFromQ: aarch64 is in the /topic
00:49
<
clever >
mekeor: this is reminding me of reverse engineering malware that doesnt want to be debugged, lol
00:48
<
clever >
so how is the lib even containing that string, to do the lookup!?
00:48
<
clever >
yet it appears in all translation files, so the english string is a key used for lookups
00:47
<
clever >
mekeor: ok, this is even more puzzling, the error messages dont appear in any library or executable, only the translation files
00:47
<
clever >
Binary file result/lib/R/library/translations/pl/LC_MESSAGES/R-base.mo matches
00:47
<
clever >
[clever@amd-nixos:~]$ grep -r --color 'was not found on this platform' result/
00:46
<
clever >
mekeor: what exactly is the <- syntax doing here?
00:46
<
clever >
which <- "/nix/store/ckd1dy6llxr1s17f9x27p9jwzdanl5yx-which-2.21/bin/which"
00:44
<
clever >
mekeor: where was the pastebin with the generated file, after @WHICH@ was sapped?
00:42
<
clever >
mekeor: that just stops the compiler from looking under /usr/local/include/
00:38
<
clever >
mekeor: you can do that, just by doing `echo ${which} > $out/nix-support/ugly-hack` in the postInstall hook
00:36
<
clever >
now to compare it against the src you linked...
00:36
<
clever >
`system` does appear here
00:35
<
clever >
[nix-shell:~]$ objdump -d result/lib/R/lib/libR.so | less
00:35
<
clever >
`system` doesnt appear in that file
00:35
<
clever >
[nix-shell:~]$ objdump -d result/lib/R/bin/exec/R
00:35
<
clever >
mekeor: so which isnt a runtime dep, and nix wont install which for you
00:35
<
clever >
mekeor: the problem, is that the path IS currect, but nix doesnt see the string in the binary
00:34
<
clever >
[clever@amd-nixos:~]$ nix-shell -p
00:34
<
clever >
strace agrees with that
00:34
<
clever >
and then leave args splitting up to sh
00:33
<
clever >
its using system(), that is a glibc function to run "sh" "-c" "...."
00:33
<
clever >
ans <- suppressWarnings(system(paste(which, shQuote(names[i])),
00:33
<
clever >
yet R is somehow coming up with that path, to run execve
00:32
<
clever >
mekeor: nope, i also cant find it
00:28
<
clever >
mekeor: nix-build '<nixpkgs>' -A R
00:27
<
clever >
mekeor: and even some 32bit little-endian ones!!
00:27
<
clever >
%a %b %e %H:%M:%S %Y
00:27
<
clever >
[clever@amd-nixos:~]$ nix-store --dump /nix/store/qkvh3q7076dk3bhb69s9cp6ksl78mf41-R-3.5.2 | strings -e L
00:26
<
clever >
mekeor: and some 16bit little-endian ones
00:26
<
clever >
Proof Setup
00:26
<
clever >
[clever@amd-nixos:~]$ nix-store --dump /nix/store/qkvh3q7076dk3bhb69s9cp6ksl78mf41-R-3.5.2 | strings -e l
00:26
<
clever >
mekeor: i can see a few 16bit big-endian strings
00:26
<
clever >
Officejet Pro 8500 A909g
00:26
<
clever >
Camera RGB Profile
00:26
<
clever >
[clever@amd-nixos:~]$ nix-store --dump /nix/store/qkvh3q7076dk3bhb69s9cp6ksl78mf41-R-3.5.2 | strings -e b
00:25
<
clever >
mekeor: oh, this may help, to check every file at once
00:25
<
clever >
[clever@amd-nixos:~]$ nix-store --dump /nix/store/qkvh3q7076dk3bhb69s9cp6ksl78mf41-R-3.5.2 | hexdump -C | less
00:21
<
clever >
mekeor: ````which` does not appear in annnny of those files
00:21
<
clever >
[clever@amd-nixos:~]$ ls -lh result/bin/R result/lib/R/bin/exec/R result/lib/R/library/base/R/base*
00:19
<
clever >
same store path*
00:19
<
clever >
mekeor: thats in the same directory as the R binary, so the grep i did would have checked it
00:18
<
clever >
lrwxrwxrwx 1 clever users 51 Apr 4 21:14 result -> /nix/store/qkvh3q7076dk3bhb69s9cp6ksl78mf41-R-3.5.2
00:17
<
clever >
mekeor: what path is that base library at?
00:15
<
clever >
no results are found anywhere
00:15
<
clever >
mekeor: that will search every path that R depends on, and every file in those paths
00:14
<
clever >
[clever@amd-nixos:~]$ grep -r --color "gzr90dn7yygxa40i90wn" $(nix-store -qR result)
00:14
<
clever >
[clever@amd-nixos:~]$ nix-build '<nixpkgs>' -A R
00:13
<
clever >
mekeor: its not in any library the R binary depends on either
00:12
<
clever >
mekeor: that could be it, we will need to research that
00:11
<
clever >
mekeor: that string doesnt appear anywhere in the binary
00:10
<
clever >
mekeor: cant see how its finding that string
00:09
<
clever >
mekeor: the result of running strace without any filter
00:08
<
clever >
[pid 21208] execve("/nix/store/gzr90dn7yygxa40i90wnh7r9g06pfd43-which-2.21/bin/which", ["/nix/store/gzr90dn7yygxa40i90wnh"..., "sh"], 0x2329008 /* 93 vars */) = 0
00:08
<
clever >
[pid 21207] execve("/bin/sh", ["sh", "-c", "/nix/store/gzr90dn7yygxa40i90wnh"...], 0x21d8ab0 /* 92 vars */ <unfinished ...>
00:05
<
clever >
mekeor: i see some mentions of which, but not the storepath that is giving trouble
00:05
<
clever >
[clever@amd-nixos:~]$ strings result/lib/R/lib/libR.so | grep which --color
00:04
<
clever >
result/lib/R/lib/libR.so
00:04
<
clever >
libR.so => not found