1
Fork 0
satellite/hosts/nixos/lapetus/default.nix

66 lines
1.4 KiB
Nix
Raw Normal View History

2023-07-17 19:23:00 +02:00
{ config, ... }:
let
device = "/dev/sda";
2023-07-17 19:31:40 +02:00
disko = import ./partitions.nix {
devices = [ device ];
};
2023-07-17 19:23:00 +02:00
in
{
2023-07-17 16:50:07 +02:00
imports = [
../common/global
../common/users/adrielus.nix
../common/optional/slambda.nix
./hardware-configuration.nix
2023-07-17 19:31:40 +02:00
disko
2023-07-17 16:50:07 +02:00
];
# Set the name of this machine!
networking.hostName = "lapetus";
2023-07-17 19:44:54 +02:00
# ID required by zfs.
# Generated with `head -c 8 /etc/machine-id`.
networking.hostId = "08357db3";
2023-07-17 16:50:07 +02:00
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
2023-07-17 19:23:00 +02:00
system.stateVersion = "23.05";
2023-07-17 16:50:07 +02:00
2023-07-17 18:40:39 +02:00
# Configure ZFS
boot.supportedFilesystems = [ "zfs" ];
boot.zfs.extraPools = [ "zroot" ];
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
# We use non-legacy mountpoints
# See [this wiki link](https://nixos.wiki/wiki/ZFS)
# systemd.services.zfs-mount.enable = false;
# Roll back to blank snapshot on boot
# boot.initrd.postDeviceCommands = lib.mkAfter ''
# zfs rollback -r zroot@blank
# '';
# {{{ Filesystems
filesystems =
let zfs = { neededForBoot = true; options = [ "zfsutil" ]; };
in
{
"/" = zfs;
"/nix" = zfs;
"/persist/data" = zfs;
"/persist/state" = zfs;
"/persist/local/cache" = zfs;
"/boot" = {
neededForBoot = true;
options = [ "zfsutil" "X-mount.mkdir" ];
};
};
# }}}
2023-07-17 16:50:07 +02:00
# Boot
boot.loader.grub = {
2023-07-17 19:23:00 +02:00
inherit device;
2023-07-17 16:50:07 +02:00
enable = true;
2023-07-17 18:54:31 +02:00
version = 2;
2023-07-17 16:50:07 +02:00
};
}