| 7 Apr 2024 |
Perchun Pak | In reply to @lassulus:lassul.us but not sure how it even gets to that point, since it will skip the whole if statement if a table exists on line 156 I deleted the part that created the partition table, that's how it did for me
So if the scenario where sgdisk exits with non zero doesn't exist, why is there an if statement? | 10:08:26 |
Perchun Pak | In reply to @lassulus:lassul.us but not sure how it even gets to that point, since it will skip the whole if statement if a table exists on line 156 * I deleted the part that created the partition table, that's how it did for me (not saying you should support this use case)
So if the scenario where sgdisk exits with non zero doesn't exist, why is there an if statement? | 10:09:07 |
lassulus | well I wanted to create it in the case where the table exists but the partition does not | 10:11:55 |
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 |