| 7 Apr 2024 |
lassulus | I will prepare a commit | 10:12:02 |
lassulus | give me 5min | 10:12:04 |
Perchun Pak | I already did everything with my disk, it is not a blocker for me | 10:12:38 |
Perchun Pak | * I already did everything with my disk, it is not a problem for me | 10:12:47 |
Perchun Pak | Just a thing I noticed | 10:12:59 |
n3v3r_a9a1n | halo!
has anyone achieved disko + nixos-anywhere + impermanence btrfs? (+sops) | 10:13:01 |
Perchun Pak | In reply to @xxxcrow:matrix.org halo! has anyone achieved disko + nixos-anywhere + impermanence btrfs? (+sops) Vimjoyer did config for btrfs + impermanence, don't know about other things https://youtu.be/YPKwkWtK7l0?feature=shared | 10:14:30 |
lassulus | hmm, indeed weird, that sgdisk exists with 0 on an error | 10:20:57 |
n3v3r_a9a1n | In reply to @perchun:matrix.org Vimjoyer did config for btrfs + impermanence, don't know about other things https://youtu.be/YPKwkWtK7l0?feature=shared disko has gone crazy, or me?
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/root" = {
mountpoint = "/";
mountOptions = ["compress=zstd" "noatime"];
};
mounts / in /root
| 10:34:06 |
Perchun Pak | In reply to @xxxcrow:matrix.org
disko has gone crazy, or me?
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/root" = {
mountpoint = "/";
mountOptions = ["compress=zstd" "noatime"];
};
mounts / in /root
It backups all your data on every reboot. I can show you the folder structure when I arrive home | 10:35:16 |
n3v3r_a9a1n | so, i can find all the stuff in /root directory | 10:35:16 |
n3v3r_a9a1n | In reply to @perchun:matrix.org It backups all your data on every reboot. I can show you the folder structure when I arrive home
i mean, it's not even that much of impermanence, but really about disko | 10:36:14 |
n3v3r_a9a1n | ok, this is the drive:
luks = {
size = "100%";
content = {
type = "luks";
name = "nvme-crypt";
# disable settings.keyFile if you want to use interactive password entry
#passwordFile = "/tmp/secret.key"; # Interactive
settings = {
allowDiscards = true;
#keyFile = "/tmp/secret.key";
};
#additionalKeyFiles = ["/tmp/additionalSecret.key"];
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/root" = {
mountpoint = "/";
mountOptions = ["compress=zstd" "noatime"];
};
"/home" = {
mountpoint = "/home";
mountOptions = ["compress=zstd" "noatime"];
};
"/nix" = {
mountpoint = "/nix";
mountOptions = ["compress=zstd" "noatime"];
};
"/persist" = {
mountpoint = "/persist";
mountOptions = ["compress=zstd" "noatime"];
};
"/log" = {
mountpoint = "/var/log";
mountOptions = ["compress=zstd" "noatime"];
};
"/swap" = {
mountpoint = "/.swapvol";
swap.swapfile.size = "8G";
};
};
};
};
};
};
};
};
| 10:36:46 |
Perchun Pak | When you're booted into the system, root is in /. When you mount the disk, structure is something like ``` - nix/store - old_roots - $(date) # older than 30d are automatically deleted - root - and some fourth folder name of which I completely forgot ``` | 10:37:23 |
Perchun Pak | Fourth is persist | 10:38:10 |
Perchun Pak | Btw, here is how you can use it with luks https://gist.github.com/PerchunPak/0df4fa9117dfb036b0564a9f058f539c | 10:39:49 |
n3v3r_a9a1n | In reply to @xxxcrow:matrix.org
ok, this is the drive:
luks = {
size = "100%";
content = {
type = "luks";
name = "nvme-crypt";
# disable settings.keyFile if you want to use interactive password entry
#passwordFile = "/tmp/secret.key"; # Interactive
settings = {
allowDiscards = true;
#keyFile = "/tmp/secret.key";
};
#additionalKeyFiles = ["/tmp/additionalSecret.key"];
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/root" = {
mountpoint = "/";
mountOptions = ["compress=zstd" "noatime"];
};
"/home" = {
mountpoint = "/home";
mountOptions = ["compress=zstd" "noatime"];
};
"/nix" = {
mountpoint = "/nix";
mountOptions = ["compress=zstd" "noatime"];
};
"/persist" = {
mountpoint = "/persist";
mountOptions = ["compress=zstd" "noatime"];
};
"/log" = {
mountpoint = "/var/log";
mountOptions = ["compress=zstd" "noatime"];
};
"/swap" = {
mountpoint = "/.swapvol";
swap.swapfile.size = "8G";
};
};
};
};
};
};
};
};
ok, what do you thing the result of this would be? | 10:42:22 |
n3v3r_a9a1n | i do:
nix run github:nix-community/nixos-anywhere -- --flake .#immortal root@192.168.1.100 --no-reboot
| 10:44:32 |
n3v3r_a9a1n | then mount /dev/mapper/nvme-crypt /mnt | 10:44:50 |
n3v3r_a9a1n | [root@nixos:~]# ls /mnt/
home log nix persist root swap
[root@nixos:~]# ls /mnt/root
bin boot dev etc home lib lib64 nix persist proc root run srv sys tmp usr var
[root@nixos:~]# btrfs subvolume list /mnt
ID 256 gen 29 top level 5 path home
ID 257 gen 33 top level 5 path log
ID 258 gen 33 top level 5 path nix
ID 259 gen 29 top level 5 path persist
ID 260 gen 36 top level 5 path root
ID 261 gen 18 top level 5 path swap
ID 262 gen 29 top level 260 path root/srv
ID 263 gen 30 top level 260 path root/var/lib/portables
ID 264 gen 31 top level 260 path root/var/lib/machines
ID 265 gen 33 top level 260 path root/var/tmp
| 10:47:53 |
n3v3r_a9a1n | In reply to @xxxcrow:matrix.org then mount /dev/mapper/nvme-crypt /mnt or i shouldn't do it at all? | 10:50:02 |
lassulus | Perchun Pak: I created this PR to fix the gpt behaviour: https://github.com/nix-community/disko/pull/595 | 10:51:22 |
n3v3r_a9a1n | In reply to @xxxcrow:matrix.org or i shouldn't do it at all? if i mount the way tutorials on impermanence+btrfs say, everything looks fine,but how do i take the snapshot | 10:54:15 |
n3v3r_a9a1n | In reply to @perchun:matrix.org Vimjoyer did config for btrfs + impermanence, don't know about other things https://youtu.be/YPKwkWtK7l0?feature=shared also, sorry if it's not true, but i think the way way he implements everything is not really ok 1st. https://discourse.nixos.org/t/what-does-impermanence-add-over-built-in-functionality/27939/16 2nd. it doesn't work with some stuff (can't remember what exactly either lanzaboote, or clevis, or something like that) 3rd. something else i forgot exactly what | 11:22:11 |
Perchun Pak | In reply to @xxxcrow:matrix.org also, sorry if it's not true, but i think the way way he implements everything is not really ok 1st. https://discourse.nixos.org/t/what-does-impermanence-add-over-built-in-functionality/27939/16 2nd. it doesn't work with some stuff (can't remember what exactly either lanzaboote, or clevis, or something like that) 3rd. something else i forgot exactly what Yeah, it deleted all of my data if there wasn't something correct in the setup. Like no /persist/system or wrong permissions on /persist/home (in second scenario, home manager just failed to start completely). Though it is probably the fault of impermanence.
But for now, it works on my machine™. Feel free to send your final setup, I will happily steal it ;) | 11:57:22 |
lassulus | whoops, I accidently ran sgdisk -o isntead -p on my main disk :D | 12:52:35 |
lassulus | luckily I could recover it with disko | 12:52:46 |
lassulus | but why are those 2 parameters (-p pronts, -o wipes) so close together on the keyboard :D | 12:53:07 |
lassulus | * but why are those 2 parameters (-p prints, -o wipes) so close together on the keyboard :D | 12:53:14 |
n3v3r_a9a1n | Quick questiono about disko and nixos-anywhere! How do I skip disko in nixos-anywhere? | 16:01:36 |