1{
2 self,
3 config,
4 ...
5}: {
6 imports = [
7 ./home.nix
8 ./secrets.nix
9 self.nixosModules.locale-en-ca
10 ];
11
12 networking.hostName = "morgana";
13 system.stateVersion = "25.05";
14 time.timeZone = "America/Sao_Paulo";
15 myHardware.acer.aspire.A515-52G.enable = true;
16
17 myNixOS = {
18 programs = {
19 lanzaboote.enable = true;
20 nix.enable = true;
21 nix-ld.enable = true;
22 steam.enable = true;
23 };
24 profiles = {
25 base.enable = true;
26 workstation.enable = true;
27
28 btrfs = {
29 enable = true;
30 deduplicate = true;
31 snapshots = true;
32 };
33 tmpOnTmpfs.enable = true;
34 swap = {
35 enable = true;
36 size = 8192;
37 location = "/data/.swap";
38 };
39 };
40 desktop.gnome.enable = true;
41 services = {
42 dnsmasq = {
43 enable = true;
44 longCaches = false;
45 };
46 flatpak.enable = true;
47 tailscale = {
48 enable = true;
49 enableCaddy = false;
50 operator = "ayla";
51 };
52 syncthing = {
53 enable = true;
54 certFile = config.age.secrets.syncthingCert.path;
55 keyFile = config.age.secrets.syncthingKey.path;
56 user = "ayla";
57 };
58 };
59 };
60
61 myUsers = {
62 ayla = {
63 enable = true;
64 passwordFile = config.age.secrets.aylaPassword.path;
65 };
66 };
67
68 boot.initrd = {
69 availableKernelModules = [
70 "xhci_pci"
71 "ahci"
72 "usb_storage"
73 "sd_mod"
74 "rtsx_pci_sdmmc"
75 ];
76
77 luks.devices = {
78 crypted1.device = "/dev/disk/by-uuid/796c4c65-22b9-40e2-a928-66d20d528330";
79 crypted2.device = "/dev/disk/by-uuid/7665834d-1f38-4c1e-9b44-449ea8fc055c";
80 };
81 };
82
83 fileSystems = {
84 "/" = {
85 device = "/dev/disk/by-uuid/e88969b5-98a0-4d46-a059-8e07ebf2689e";
86 fsType = "btrfs";
87 options = ["subvol=@" "compress=zstd" "noatime"];
88 };
89
90 "/home" = {
91 device = "/dev/disk/by-uuid/e88969b5-98a0-4d46-a059-8e07ebf2689e";
92 fsType = "btrfs";
93 options = ["subvol=@home" "compress=zstd" "noatime"];
94 };
95
96 "/home/.snapshots" = {
97 device = "/dev/disk/by-uuid/e88969b5-98a0-4d46-a059-8e07ebf2689e";
98 fsType = "btrfs";
99 options = ["subvol=.snapshots" "compress=zstd" "noatime"];
100 };
101
102 "/nix" = {
103 device = "/dev/disk/by-uuid/e88969b5-98a0-4d46-a059-8e07ebf2689e";
104 fsType = "btrfs";
105 options = ["subvol=@nix" "compress=zstd" "noatime"];
106 };
107
108 "/boot" = {
109 device = "/dev/disk/by-uuid/0CC3-3395";
110 fsType = "vfat";
111 options = ["fmask=0077" "dmask=0077"];
112 };
113
114 "/data" = {
115 device = "/dev/disk/by-uuid/e5cf35fa-55bc-499f-a39b-e844a442e0f0";
116 fsType = "btrfs";
117 options = ["subvol=@data" "compress=zstd" "noatime"];
118 };
119 };
120}