Misterio77 / nix-config

Personal nixos and home-manager configurations.
https://m7.rs/git/nix-config/
MIT License
719 stars 42 forks source link

QUESTION : Why use a btrfs blank snapshot instead of tmpfs ? #11

Open Nandicre2 opened 1 year ago

Nandicre2 commented 1 year ago

Just asking, because i tought that snapshoting was bad for the SSD longetivity.

Misterio77 commented 1 year ago

Hello!

I'm actually considering moving back to ext4+tmpfs, because of simplicity mostly.

Btrfs does have a couple of goodies that might make it worth using:

Nandicre2 commented 1 year ago

(sorry for the open and close, was answering from my phone)

I'm actually considering using both : tmpfs as root and everything else on btrfs. I found this blog post and I think I'll go this way

luxus commented 1 year ago

would https://github.com/nix-community/disko not help with the "its complicated" part? didn't checked it out yet.

Nandicre2 commented 1 year ago

would https://github.com/nix-community/disko not help with the "its complicated" part? didn't checked it out yet.

Didn't checked it out either. I've seen it mentioned on the forum but i don't want to mess with it now. Maybe later

Misterio77 commented 1 year ago

would https://github.com/nix-community/disko not help with the "its complicated" part? didn't checked it out yet.

Disko is pretty cool. Moving my setup to it is definitively on my todo-list.

omernaveedxyz commented 1 year ago

My issue with tmpfs is that you have to specify a size for the tmpfs root or be limited based on your RAM. Tmpfs defaults to half your system RAM (I believe). Some guides set tmpfs to 2GiB (example), but that means that you can only have up to 2GiB of files on root outside of the files you have persisted on a separate partition. Btrfs' logical volumes avoid this by having automatically resizing subvolumes so I never have to think about the size of individual subvolumes.

NerdHusky commented 1 year ago

(sorry for the open and close, was answering from my phone)

I'm actually considering using both : tmpfs as root and everything else on btrfs. I found this blog post and I think I'll go this way

Nice post! Wish I'd found it sooner! No really, I went with btrfs because it's really cool, I could make a raid with it without LVM it has compression (really 0 performance decrease with raid0) and...COW! ;) Plus yeah some snapshotting for backup purposes do no harm I guess! ;) not to /nix of course, but /home and maybe /persist (especially when I'll wipe out even home at boot - the original post doesn't but I'll go for it once my home-manager configuration is really solid).

NerdHusky commented 1 year ago

My issue with tmpfs is that you have to specify a size for the tmpfs root or be limited based on your RAM. Tmpfs defaults to half your system RAM (I believe). Some guides set tmpfs to 2GiB (example), but that means that you can only have up to 2GiB of files on root outside of the files you have persisted on a separate partition. Btrfs' logical volumes avoid this by having automatically resizing subvolumes so I never have to think about the size of individual subvolumes.

That I didn't know and if it's true it really sucks because I'm already using zram xD.

threddast commented 1 year ago

I have been using tmpfs for a while, and to be honest it has its quirks, see for example https://github.com/nix-community/impermanence/issues/124 . This issue is not present when root is on btrfs.