blob: d988a6cf2865e9c407e83c857f30bfb915b2e975 [file] [log] [blame]
Skyler Greybcb2cb72022-08-21 07:24:35 +01001{impermanence, ...}: {
Skyler Grey6aa7c262022-08-20 22:22:03 +01002 imports = [
3 impermanence.nixosModules.impermanence
4 ];
5
6 config = {
7 environment.persistence."/nix/persist" = {
8 hideMounts = true;
9 };
10
Skyler Grey944dfa22022-09-01 23:47:48 +010011 environment.persistence."/large/persist" = {
Skyler Greyb51c0c92022-08-26 06:50:53 +010012 hideMounts = true;
13 };
14
Skyler Grey6aa7c262022-08-20 22:22:03 +010015 fileSystems."/" = {
16 device = "none";
17 fsType = "tmpfs";
Skyler Greyb51c0c92022-08-26 06:50:53 +010018 options = ["defaults" "size=20G" "mode=755"];
Skyler Grey6aa7c262022-08-20 22:22:03 +010019 };
Skyler Greyf4a835a2022-08-20 22:30:48 +010020
21 fileSystems."/boot" = {
Skyler Greyb51c0c92022-08-26 06:50:53 +010022 device = "/dev/disk/by-label/BOOT";
Skyler Greyf4a835a2022-08-20 22:30:48 +010023 fsType = "vfat";
24 };
25
26 fileSystems."/nix" = {
Skyler Greyff3c6a22022-08-21 07:25:02 +010027 device = "/dev/mapper/nix";
28 fsType = "ext4";
Skyler Greyb51c0c92022-08-26 06:50:53 +010029 neededForBoot = true;
30 options = ["noatime"];
Skyler Greyff3c6a22022-08-21 07:25:02 +010031 };
32
33 fileSystems."/large" = {
34 device = "/dev/mapper/hdd";
Skyler Grey944dfa22022-09-01 23:47:48 +010035 neededForBoot = true;
Skyler Greyf4a835a2022-08-20 22:30:48 +010036 fsType = "ext4";
37 };
38
39 swapDevices = [
Skyler Greyff3c6a22022-08-21 07:25:02 +010040 {device = "/dev/mapper/swap";}
Skyler Greyf4a835a2022-08-20 22:30:48 +010041 ];
Skyler Greyb51c0c92022-08-26 06:50:53 +010042
43 boot.initrd.availableKernelModules = ["nvme"];
Skyler Grey6aa7c262022-08-20 22:22:03 +010044 };
45}