nixos-config/modules
2021-07-02 18:00:17 +02:00
..
accentor Update dependencies 2021-06-26 11:50:08 +02:00
emacs GitHub integration for magit 2021-07-02 17:59:53 +02:00
ssh 🔒 Secret 🔒 2021-03-15 14:24:28 +01:00
sway Finish modularising config 2021-06-27 00:32:31 +02:00
tetris Manage tetris with NixOS 2021-04-05 16:23:30 +02:00
ugent Finish modularising config 2021-06-27 00:32:31 +02:00
accentor.nix Update dependencies 2021-06-26 11:50:08 +02:00
android.nix Finish modularising config 2021-06-27 00:32:31 +02:00
bluetooth.nix Rework common profile into module system 2020-12-05 13:44:29 +01:00
calibre.nix Finish modularising config 2021-06-27 00:32:31 +02:00
default.nix Finish modularising config 2021-06-27 00:32:31 +02:00
deluge-client.nix Finish modularising config 2021-06-27 00:32:31 +02:00
deluge-server.nix Finish modularising config 2021-06-27 00:32:31 +02:00
docker.nix Basic configuration for new servers and start modularizing config 2020-12-01 19:23:28 +01:00
dropbox.nix Finish modularising config 2021-06-27 00:32:31 +02:00
eid.nix Finish modularising config 2021-06-27 00:32:31 +02:00
emacs.nix Update dependencies 2021-06-26 11:52:54 +02:00
firefox.nix Finish modularising config 2021-06-27 00:32:31 +02:00
git.nix GitHub integration for magit 2021-07-02 17:59:53 +02:00
global-mailer.nix Start using age for secret management 2021-06-20 00:18:20 +02:00
gnupg.nix Remove file bindmount support from zfs module 2021-06-29 17:01:23 +02:00
graphical.nix Increase inotify limit on graphical devices 2021-07-02 18:00:17 +02:00
hledger.nix Finish modularising config 2021-06-27 00:32:31 +02:00
mail-client.nix Update dependencies 2021-06-28 16:42:18 +02:00
minecraft.nix Minecraft 2021-03-08 15:01:46 +01:00
mumble.nix Finish modularising config 2021-06-27 00:32:31 +02:00
networkmanager.nix Finish modularising config 2021-06-27 00:32:31 +02:00
nextcloud.nix Start using age for secret management 2021-06-20 00:18:20 +02:00
nginx.nix Finish modularising config 2021-06-27 00:32:31 +02:00
nix.nix Update dependencies 2021-06-18 16:59:17 +02:00
obs.nix Finish modularising config 2021-06-27 00:32:31 +02:00
ovh.nix Basic configuration for new servers and start modularizing config 2020-12-01 19:23:28 +01:00
pass.nix Finish modularising config 2021-06-27 00:32:31 +02:00
README.md Add some instructions on how to set-up ZFS for use with the custom module 2020-05-23 10:46:18 +02:00
smartd.nix Rework common profile into module system 2020-12-05 13:44:29 +01:00
sound.nix Finish modularising config 2021-06-27 00:32:31 +02:00
ssh.nix SSH changes 2021-02-04 10:20:18 +01:00
sshd.nix Finish modularising config 2021-06-27 00:32:31 +02:00
steam.nix Re-enable steam 2021-06-26 11:50:17 +02:00
syncthing-client.nix Finish modularising config 2021-06-27 00:32:31 +02:00
syncthing-server.nix Start using age for secret management 2021-06-20 00:18:20 +02:00
teeworlds.nix Add some modules for game hosting 2020-12-24 10:41:40 +01:00
terminal.nix Finish modularising config 2021-06-27 00:32:31 +02:00
tetris.nix Manage tetris with NixOS 2021-04-05 16:23:30 +02:00
theming.nix Finish modularising config 2021-06-27 00:32:31 +02:00
tmux.nix Get rid of neomutt and neovim 2021-03-20 21:29:18 +01:00
xdg.nix Finish modularising config 2021-06-27 00:32:31 +02:00
zeroad.nix Make sure OpenGL is enabled on devices that need it 2021-06-27 12:19:13 +02:00
zfs.nix Remove file bindmount support from zfs module 2021-06-29 17:01:23 +02:00
zotero.nix Zotero 2021-02-22 15:13:10 +01:00
zsh.nix First emacs configuration 2021-03-09 00:47:41 +01:00

Setting up ZFS

  1. Create three partitions:

    • Boot
    • Swap
    • ZFS

    For example:

    sgdisk -n 0:0:+512MiB -t 0:EF00 -c 0:boot $DISK
    sgdisk -n 0:0:+32GiB -t 0:8200 -c 0:swap $DISK
    sgdisk -n 0:0:0 -t 0:BF01 -c 0:ZFS $DISK
    
  2. Configure swap and boot as usual.

  3. Create ZPool:

    zpool create -O mountpoint=none -O encryption=aes-256-gcm -O keyformat=passphrase rpool $ZFS_PART
    

    Leave out -O encryption=aes-256-gcm -O keyformat=passphrase if you don't want to fully encrypt the ZFS partition.

  4. Create datasets:

    zfs create -o mountpoint=legacy rpool/local/root
    zfs snapshot rpool/local/root@blank
    zfs create -o mountpoint=legacy rpool/local/nix
    zfs set compression=lz4 rpool/local/nix
    zfs create -o mountpoint=legacy rpool/local/cache
    zfs set compression=lz4 rpool/local/cache
    zfs create -o mountpoint=legacy rpool/safe/data
    zfs set compression=lz4 rpool/local/data
    
  5. Mount datasets:

    mount -t zfs rpool/local/root /mnt
    mkdir /mnt/nix
    mount -t zfs rpool/local/nix /mnt/nix
    mkdir /mnt/boot
    mount $BOOT_PART /mnt/boot
    mkdir /mnt/cache
    mount -t zfs rpool/local/cache /mnt/cache
    mkdir /mnt/data
    mount -t zfs rpool/safe/data /mnt/data
    
  6. Configure Host ID

    Set networking.hostid in the nixos config to head -c 8 /etc/machine-id.