2019-07-04
22:58
<
clever >
gyroninja___: can you give more information about the errors your getting?
22:56
<
clever >
,cache gyroninja___
22:55
<
clever >
iqubic: `man nix-collect-garbage`
22:23
<
clever >
iqubic: then read it
22:22
<
clever >
iqubic: did you read the man page?
22:21
<
clever >
so if you delete the ESP (or loose the disk), your motherboard is basically bricked :P
22:21
<
clever >
ive even heard of cases where you cant delete an efi var entry, if the ESP it mentions doesnt exist
22:21
<
clever >
"it boots windows, ship it"
22:20
<
clever >
some even ignore the efi vars, and only boot the windows efi file
22:20
<
clever >
and many firmware lack a menu, and only support a single os, lol
22:20
<
clever >
and you must boot via efi, to configure it to boot via efi!!
22:19
<
clever >
but, when you move a disk to a new machine, the motherboard wont know about it, so its already a fail :P
22:19
<
clever >
in theory (with a usable firmware), you can use efibootmgr entirely, and manage every OS in the firmware cfg
22:18
<
clever >
efibootmgr deals with efi vars that point to .efi files on the ESP
22:18
<
clever >
os-prober detects other OS's and adds them to the grub config
22:18
<
clever >
thats not what os-prober does
22:17
<
clever >
iqubic: and check its man page
22:17
<
clever >
[root@system76:~]# efibootmgr -v
22:17
<
clever >
for that, you need efibootmgr
22:16
<
clever >
just find the windows specific files and delete them
22:14
<
clever >
but you dont need a livecd
22:14
<
clever >
yeah, if it gives an error like that, youll need to reboot
22:13
<
clever >
which will expand the vdev within sda2 to occupy the new space you gave it
22:12
<
clever >
and the final step, is `zpool online -e latitude-tank /dev/sda2`
22:12
<
clever >
you can resize the partition while its in-use i believe
22:12
<
clever >
dont need a live environment
22:11
<
clever >
thats just step one, which will move the entire system from the end of the disk to the start
22:10
<
clever >
and then `zpool detach latitude-tank /dev/sda5` to un-mirror it, making sda2 the only part of the pool
22:10
<
clever >
watch `zpool status` to see when its done
22:10
<
clever >
thats what attach will do
22:09
<
clever >
that will create a mirror, and automatically copy all data from sda5 to sda2
22:09
<
clever >
zpool attach latitude-tank /dev/sda5 /dev/sda2
22:09
<
clever >
and then, ....
22:09
<
clever >
after its gone, you can create a new sda2, that takes up all of the space that you can
22:07
<
clever >
now or later?
22:07
<
clever >
and sda5 is in the way of using the whole disk up properly
22:06
<
clever >
sda6 is at the end of the disk, it cant be resized to be bigger
22:02
<
clever >
yeah, that looks right
21:59
<
clever >
iqubic: youll want to use `fdisk /dev/sda` then
21:59
<
clever >
iqubic: zfs is confusing gparted, and it thinks the entire disk is zfs
21:51
<
clever >
and another 7gig if you drop the snapshots from april and may
21:51
<
clever >
iqubic: you can get 2gig back by doing `zfs destroy -v latitude-tank/home@zfs-auto-snap_monthly-2019-03-01-15h03`
21:49
<
clever >
iqubic: what does `zfs list -t snapshot -r -o name,used,refer,written latitude-tank/home` output?
21:49
<
clever >
iqubic: you have 32gig worth of snapshots for /home
21:47
<
clever >
iqubic: journalctl --vacuum-size=1024
21:46
<
clever >
iqubic: can you pastebin the output of this?
21:46
<
clever >
zfs list -t filesystem -o name,used,referenced,logicalused,logicalreferenced,written,usedbysnapshots,usedbydataset,refcompressratio,compressratio,compression,dedup
21:46
<
clever >
iqubic: you may need to GC more, enough to be able to install things, or delete some snapshots
21:45
<
clever >
iqubic: you may need to destroy at least one snapshot first to allow that to run
21:45
<
clever >
iqubic: nix-collect-garbage --max-freed 1024
21:45
<
clever >
iqubic: and what happens when you GC?
21:42
<
clever >
iqubic: run gparted
21:41
<
clever >
i think its the other way around
21:41
<
clever >
sda3 is 120gig, sda4 is 470mb
21:41
<
clever >
you can mount 5 (which is ntfs), so you can also mount 3&4 as well (they are also ntfs)
21:40
<
clever >
mount /dev/sda4 -o ro /mnt/
21:40
<
clever >
iqubic: have you tried just mounting them and looking inside them?
21:38
<
clever >
assuming you have copied all files you want to keep off of them
21:36
<
clever >
nervengift: add single to the kernel params?
21:36
<
clever >
3, 4, and 5 are all windows things
21:35
<
clever >
iqubic: blkid /dev/sd*
20:24
<
clever >
nervengift: firefox and chrome both do that
20:23
<
clever >
nervengift: generally, the package should accept an env var pointing to a dir of plugins, and then you use buildEnv to merge all the plugins together, and then make a shell script wrapper around the original binary, to set that env var
20:22
<
clever >
Henson: nix-store -q --references /run/current-system/sw/
20:11
<
clever >
systemd-udev-settle.service came from the systemd package directly, so it cant be modified with systemd.services.foo
19:54
<
clever >
Henson: that doesnt make any sense, you want the $out of what?
19:53
<
clever >
Henson: buildEnv is just a perl script, that creates symlinks in $out
19:53
<
clever >
Henson: all derivations have a $out
19:52
<
clever >
hyper_ch: check the man page
19:51
<
clever >
send | recv them to another box
19:51
<
clever >
hyper_ch: i believe the options on a dataset can carry over when you send
19:48
<
clever >
hyper_ch: nice
19:47
<
clever >
and he needed the snapshot to recover the file
19:47
<
clever >
hyper_ch: i think half the problem, is that configuration.nix failed to save due to a lack of space
19:42
<
clever >
so it will take a few minutes to actually get the 2gig back
19:41
<
clever >
and behind the scenes, zfs has to GC the entire pool
19:41
<
clever >
naspool freeing 2.17G -
19:41
<
clever >
[root@nas:/nas/iohk]# zpool get freeing
19:41
<
clever >
and a % will let you delete every snapshot between a and b, inclusive
19:41
<
clever >
will reclaim 2.40G
19:41
<
clever >
[root@nas:/nas/iohk]# zfs destroy -v naspool/root@zfs-auto-snap_hourly-2019-07-03-17h00%zfs-auto-snap_hourly-2019-07-04-15h00
19:40
<
clever >
the written and refer columns are a hint as to which ranges you want to get rid of
19:40
<
clever >
due to refcounts, some blocks may be used by multiple snapshots, and used wont count those
19:40
<
clever >
used is how much you get back from deleting a single snapshot
19:40
<
clever >
this then shows every snapshot on it
19:40
<
clever >
[root@nas:/nas/iohk]# zfs list -t snapshot -r -o name,used,refer,written naspool/root
19:40
<
clever >
in this case, i have 16gig worth of snapshots on naspool/root
19:39
<
clever >
naspool/root 308G 291G 357G 330G 21.8M 16.9G 291G 1.32x 1.36x lz4 on
19:39
<
clever >
NAME USED REFER LUSED LREFER WRITTEN USEDSNAP USEDDS REFRATIO RATIO COMPRESS DEDUP
19:39
<
clever >
this will list every filesystem, and how much its using with snapshots
19:38
<
clever >
zfs list -t filesystem -o name,used,referenced,logicalused,logicalreferenced,written,usedbysnapshots,usedbydataset,refcompressratio,compressratio,compression,dedup
19:38
<
clever >
each option is the number of backups to keep at that level
19:34
<
clever >
Henson: you may need root
19:32
<
clever >
Henson: even more fun, you can use mkdir in the snapshot dir, to create snapshots
19:31
<
clever >
each filesystem has its own snapshots and its own .zfs
19:31
<
clever >
iqubic: then you want /home/iqubic/.zfs/
19:31
<
clever >
iqubic: is /home/iqubic its own dataset in zfs?
19:29
<
clever >
Henson: the .zfs directory is weird, is exists, but isnt visible in any directory listing
19:28
<
clever >
and it will auto-mount it (read only) for you
19:28
<
clever >
but if path/to/dataset is mounted at /path, you can also just look in /path/.zfs/snapshot/snapshot
19:28
<
clever >
mount -t zfs path/to/dataset@snapshot /mnt/
19:28
<
clever >
Henson: no need to clone a snapshot to look at it
19:11
<
clever >
mkaito: zfs snapshots are taken every 15mins automatically, so you dont have to obsessively make commits
19:08
<
clever >
iqubic: yes
19:06
<
clever >
iqubic: you can just poke around in /.zfs/snapshot/ and find your old configuration.nix
19:05
<
clever >
iqubic: all snapshots are auto-mounted under /.zfs/snapshot/
19:04
<
clever >
iqubic: oops, just /.zfs/snapshot/
19:04
<
clever >
iqubic: ls -l /.zfs/snapshots/
19:03
<
clever >
iqubic: is the root fs dataset snapshots?
19:02
<
clever >
iqubic: what filesystem is the snapshot made from?
19:01
<
clever >
jD91mZM2: why are you trying to generate paths from strings?
18:59
<
clever >
jD91mZM2: / + "/foo"
17:09
<
clever >
and requireFile just gives an errror explaining how to load it manually
17:08
<
clever >
Netsu: yes
17:07
<
clever >
Netsu: the name of the derivation has to match the name of the thing your adding as well
17:04
<
clever >
Netsu: then you need hashMode = "recursive"; on the requireFile call
17:02
<
clever >
Netsu: what did you set hashMode to when calling requireFile, and is the target a file or directory?
17:01
<
clever >
Netsu: let me double-check something...
17:00
<
clever >
Netsu: the whole point of requireFile is to throw an error, that explains how to add the file with nix-prefetch-url or nix-store --add-fixed
16:57
<
clever >
Netsu: yeah, --flat is file only, fetchurl is also limited to files
16:57
<
clever >
ambro718: yes
16:57
<
clever >
ambro718: and when nixos boots, it will automatically reuse the passphrase on each device
16:56
<
clever >
ambro718: when you create the luks volumes, just give both the same passphrase
16:47
<
clever >
Henson: ^^
16:44
<
clever >
> lib.concatMapStringsSep "\n" (n: "str is ${n}") [ "a" "b" "c" ]
16:43
<
clever >
> lib.concatStringsSep "\n" [ "a" "b" "c" ]
16:05
<
clever >
Netsu: did you try nix-hash --flat ?
02:46
<
clever >
hyper_ch: there is a types.nullOr types.path
01:10
<
clever >
fresheyeball: how is it not working?
00:36
<
clever >
fresheyeball: git bisect --reset
00:16
<
clever >
fresheyeball: then repeat testing and running good/bad after each test
00:16
<
clever >
fresheyeball: checkout the good rev, and run `git bisect good`, then checkout the bad rev, and run `git bisect bad`
00:03
<
clever >
bisect nixpkgs to find out where
00:03
<
clever >
then a default must have changed somewhere
00:02
<
clever >
only the entry under services.postgresql can properly start it on nixos
00:01
<
clever >
fresheyeball: then postgresql wont be running properly
00:01
<
clever >
fresheyeball: services.posgresql.enable = true;
00:00
<
clever >
fresheyeball: bisect time!
2019-07-03
23:59
<
clever >
fresheyeball: is postgresql actually running?
23:42
<
clever >
stites: disabledModules, but its probably better to find out why its finding dups
23:41
<
clever >
switchy: maybe the #zfsonlinux channel knows more?
23:27
<
clever >
switchy: i generally go shared, not much benefit to static
23:19
<
clever >
fresheyeball: you may need to set an env var to control where the server is
23:14
<
clever >
zacts: you could just flag macos as unsupported and let somebody else do it later
23:14
<
clever >
fresheyeball: are you running the client or daemon?
21:04
<
clever >
grub only of course
21:04
<
clever >
stites: and configure it to boot without using efi vars
21:04
<
clever >
stites: if you mount the EF02 to /boot/ and use boot.loader.grub.efiInstallAsRemovable then it will treat the disk like a usb stick
21:01
<
clever >
stites: go back to grub!
21:01
<
clever >
stites: then efi will never work
21:00
<
clever >
stites: blkid /dev/sdc1
20:59
<
clever >
stites: what FS is /boot/ ?
20:59
<
clever >
stites: if you dont boot via efi, then you cant configure efi
20:58
<
clever >
stites: double-check the whole path on your end, and see if it looks right
20:57
<
clever >
stites: and there are signs of grub within the file, on my end
20:57
<
clever >
[nix-shell:~]# strings /boot/EFI/BOOT/BOOTX64.EFI | grep -i grub | head
20:57
<
clever >
grub_mod_fini
20:57
<
clever >
grub_mod_init
20:57
<
clever >
Welcome to GRUB!
20:57
<
clever >
[root@system76:~]# nix-shell -p
20:56
<
clever >
and then that path witnin the partition (which is mounted to /boot) exists
20:56
<
clever >
-rwxr-xr-x 1 root root 119K Oct 29 2017 /boot/EFI/BOOT/BOOTX64.EFI
20:56
<
clever >
and this partition has that uuid
20:56
<
clever >
[root@system76:~]# blkid /dev/nvme0n1p1
20:56
<
clever >
/dev/nvme0n1p1: UUID="7DBC-2698" TYPE="vfat" PARTUUID="27c99b08-455d-4dfe-a44f-6150cbc09ef8"
20:55
<
clever >
in my case, its looking for a partition with a given uuid, and then a .efi file on that
20:55
<
clever >
Boot0004* UEFI OS HD(1,GPT,27c99b08-455d-4dfe-a44f-6150cbc09ef8,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
20:55
<
clever >
stites: can you pastebin `efibootmgr -v`'s output?
20:55
<
clever >
stites: one min
20:53
<
clever >
boot.loader.grub.enable vs boot.loader.systemd-boot.enable
20:53
<
clever >
stites: just set the right enable flags in configuration.nix
20:53
<
clever >
stites: nope
20:52
<
clever >
stites: while systemd-boot is just a dumb (efi only) bootloader
20:51
<
clever >
stites: grub is practically an entire os, with a wide range of features and a fairly rich config language and interactive menu and repl
20:48
<
clever >
stites: i prefer grub, more familiar with it and it has more features
20:17
<
clever >
philipp[m]: yep
20:15
<
clever >
philipp[m]: staging gets merged into master, and releases are cut from master every 6 months
20:04
<
clever >
Henson: import (runCommand "unpacked" {} ''unpackFile ${./foo.tar.gz} ; mv -vi $sourceRoot $out'') {} maybe?
20:02
<
clever >
Henson: and you need to import a default.nix within it?
19:59
<
clever >
Henson: why does it need to be fetchTarball?
19:56
<
clever >
Henson: what about importedPackages = import (fetchTarball { url = ./package.file.tar.gz; }) {}
19:48
<
clever >
Henson: paths already do that, src = ./path/to/thing;
19:45
<
clever >
tokudan: you want lib.optionalString
19:45
<
clever >
tokudan: mkIf returns a special attrset, that the module system will dynamically ignore
19:45
<
clever >
tokudan: oh, yeah, mkIf doesnt work like that
19:42
<
clever >
tokudan: try deleting line 19 and see what happens, then try 15, 13, and 7, one at a time
19:34
<
clever >
growpotkin: if /var/lib/myservice/mydb.sqlite doesnt exist, copy it from ${./mydb.sqlite}
19:34
<
clever >
growpotkin: i would just use the prestart on a systemd service for that
19:32
<
clever >
growpotkin: what is the main purpose for those files? and do they have to be synced between things?
19:28
<
clever >
stites: that sounds like a bios problem
19:26
<
clever >
stites: what is stopping you from selecting it?
19:24
<
clever >
and if /boot isnt mounted, it cant update /boot at all
19:23
<
clever >
stites: if `nixos-rebuild boot` is failing, it wont update /boot to remove it
19:23
<
clever >
there is likely a duplicate device node in /dev/ causing it to get confused
19:22
<
clever >
stites: is `boot.zfs.devNodes = "/dev";` set in your config?
19:21
<
clever >
stites: and if you remove the `-d /dev/` what happens?
19:20
<
clever >
stites: and if you try to import the pool the same way poolImport does, what happens?
19:19
<
clever >
stites: and if you run `zpool import` what does it say?
19:16
<
clever >
stites: and what is the definition of poolReady and poolImport?
19:13
<
clever >
stites: the problem is in systemd, so the initrd debug flags wont help much
19:12
<
clever >
stites: read the /etc/systemd/system/zfs-import-tank.service file
19:11
<
clever >
stites: thats well into stage 2, its not a problem within the initrd
19:09
<
clever >
stites: how did you get to that shell? is zfs the root device?
19:05
<
clever >
stites: are you booted into the initrd?
19:05
<
clever >
stites: because init should be a file
19:02
<
clever >
stites: while booted into the initrd
19:02
<
clever >
stites: ls -l /init
18:58
<
clever >
Henson: ln -sv ${<nixpkgs>} $out/foo
18:57
<
clever >
Henson: nix-instantiate --find-file nixpkgs
18:53
<
clever >
stites: `boot.trace` will also make it print everything as it does it
18:53
<
clever >
stites: then read /init to see what its trying to do
18:52
<
clever >
stites: if you add boot.shell_on_fail, it will allow you to get a shell inside the initrd to debug things
18:51
<
clever >
stites: read the stage1 script in the initrd and see how its trying to import the pool
18:47
<
clever >
laalf: thats why i opened the bug
18:46
<
clever >
laalf: it should just work automatically
18:45
<
clever >
turion: that gets ~7 of the deps, and you can just keep following the example for each one that fails
18:45
<
clever >
turion: oops, nix-build -A node-editor
18:45
<
clever >
laalf: thats the simplest option
18:44
<
clever >
laalf: i dont think the fix is in nix master or nixos-unstable yet
18:41
<
clever >
switch wont work in recovery mode
18:40
<
clever >
stites: you probably want `nixos-rebuild boot`
18:40
<
clever >
stites: why is dbus not running?
18:39
<
clever >
turion: almost done
18:36
<
clever >
called without required argument 'luna-lexer',
18:35
<
clever >
../common/api-definition ?
18:34
<
clever >
called without required argument 'luna-api-definition',
18:33
<
clever >
cocreature: callCabal2nix doesnt care about that and still works
18:29
<
clever >
turion: which cabal file is the main thing you want to build?
18:29
<
clever >
turion: link?
18:28
<
clever >
turion: is the source open?
18:28
<
clever >
turion: have you tried haskell.packages.ghcjs.ghcWithPackages and just skip stack?
18:00
<
clever >
requireFile would want the --flat hash
17:59
<
clever >
Netsu: nix-hash
17:56
<
clever >
requireFile saves cpu time, by telling nix the hash ahead of time
17:56
<
clever >
nix must know the hash of the directory to compute $out
17:56
<
clever >
even if its another drv you depend on
17:56
<
clever >
any time you do src = ./something;, it must hash the entire directory on every eval
17:54
<
clever >
devalot: it sounds like he needs the 2gig files at build time, so removing them wont work
17:54
<
clever >
Netsu: pkgs.requireFile may work
17:50
<
clever >
Netsu: what is making the current directory be over 256mb?
17:44
<
clever >
exarkun: how did you include it in your shell.nix?
16:51
<
clever >
s/main/may/
16:50
<
clever >
and nixpkgs expects an overlay to take 2 args
16:50
<
clever >
Henson: an overlay is a function that takes a set and returns a 2nd function, that takes a 2nd set
16:50
<
clever >
Henson: nixpkgs is a function that takes a set, that main contain overlays and config
06:27
<
clever >
typetetris: yeah, you dont need the profile.d thing on nixos
06:25
<
clever >
typetetris: thats your problem
06:24
<
clever >
typetetris: is /run/wrappers/bin in $PATH?
06:22
<
clever >
typetetris: what does `type sudo` report?
02:53
<
clever >
growpotkin: you probably want runCommand
01:29
<
clever >
GlennS: nscd should obey the ttl in the dns records, so that would be upstream config
01:12
<
clever >
allenj12: yes
00:58
<
clever >
allenj12: does `iwconfig` show the card?
00:53
<
clever >
allenj12: sudo doesnt affect >, try `sudo -i`
00:51
<
clever >
-e Exit immediately if a command exits with a non-zero status.
00:51
<
clever >
pie__: All of the single-character shell options documented in the description of the set builtin command can be used as options when the shell is invoked. In addition, bash interprets the following options when it is invoked:
00:47
<
clever >
oldandwise: but you can just implement it! lol
00:47
<
clever >
> builtins.foldl' (s: _: s * 2) 1 (lib.range 1 3)
00:45
<
clever >
oldandwise: odd, i cant find that anywhere...
00:39
<
clever >
> builtins.foldl' (a: b: a+b) 1 [ 2 3 ]
00:39
<
clever >
> builtins.foldl'
00:25
<
clever >
allenj12: wpa_passphrase netname password >> /etc/wpa_supplicant.conf, and restart the daemon
00:24
<
clever >
allenj12: i manage /etc/wpa_supplicant.conf without nix, to keep passwords out of /nix/store/
2019-07-02
11:36
<
clever >
codedmart: strings are already of the right type for that, builtins.readFile is all you need
11:03
<
clever >
i'm not sure what i did to break dpms, but i need to use that to turn the screens back off when its night
11:02
<
clever >
karetsu: there is also `xset dpms force off`
10:59
<
clever >
i dont remember exactly what i did, but my desktop never goes into powersave now
10:58
<
clever >
karetsu: i notice chrome spewing this every time i (un)pause
10:58
<
clever >
[6893:7229:0702/075307.211310:ERROR:power_save_blocker_x11.cc(330)] No response to Inhibit() request!
10:58
<
clever >
checking the stdout of firefox may help
10:57
<
clever >
some programs try to use dbus to talk to xscreensaver, to negotiate things, and fail if its missing
10:56
<
clever >
`xset dpms` is the raw command to adjust it within xorg
10:56
<
clever >
karetsu: ive found that simply installing xscreensaver radically changes the behaviour in that region, and also gives you options to control it
10:48
<
clever >
m1cr0man: and also updata name= to have the new version, so you dont get confused when 4.0 contains a 3.0 src
10:47
<
clever >
m1cr0man: you probably want qemu.overrideAttrs (old: { src = something; })
10:45
<
clever >
Netsu: yeah, that cleans up all kinds of junk, like .git
10:35
<
clever >
Netsu: when doing src = ./.; it will always have the .git
09:54
<
clever >
nothing is the answer!
09:54
<
clever >
17 my @args = split " ", $cmd;
09:50
<
clever >
arianvp: and oauth2_proxy is failing in weird ways again
09:50
<
clever >
invalid value "'168h0m0s'" for flag -cookie-expire: parse error
09:39
<
clever >
arianvp: i can also see that working nicely in a load-balancer situation