forked from aylac.top/nixcfg
this repo has no description
1{ 2 self, 3 config, 4 ... 5}: { 6 imports = [ 7 ./home.nix 8 ./secrets.nix 9 ./notifier.nix 10 ./backups.nix 11 self.nixosModules.locale-en-gb 12 ]; 13 14 networking.hostName = "nanpi"; 15 system.stateVersion = "25.05"; 16 time.timeZone = "America/Sao_Paulo"; 17 myHardware.acer.aspire."A315-53".enable = true; 18 19 myNixOS = { 20 programs = { 21 lanzaboote.enable = true; 22 nix.enable = true; 23 }; 24 profiles = { 25 base.enable = true; 26 server.enable = true; 27 autoUpgrade = { 28 enable = true; 29 operation = "boot"; 30 allowReboot = false; 31 }; 32 backups.enable = true; 33 btrfs = { 34 enable = true; 35 deduplicate = true; 36 }; 37 swap = { 38 enable = true; 39 size = 4096; 40 location = "/.swap"; 41 }; 42 arr.enable = true; 43 }; 44 services = { 45 audiobookshelf.enable = true; 46 caddy.enable = true; 47 cloudflared.enable = true; 48 copyparty.enable = true; 49 dnsmasq.enable = true; 50 forgejo = { 51 enable = true; 52 db = "postgresql"; 53 }; 54 glance.enable = true; 55 jellyfin.enable = true; 56 jellyseerr.enable = true; 57 karakeep.enable = true; 58 miniflux.enable = true; 59 ntfy.enable = true; 60 pds.enable = true; 61 qbittorrent = { 62 enable = true; 63 webuiPort = config.mySnippets.tailnet.networkMap.qbittorrent.port; 64 openFirewall = true; 65 }; 66 radicale.enable = true; 67 redlib.enable = true; 68 syncthing = { 69 enable = true; 70 certFile = config.age.secrets.syncthingCert.path; 71 keyFile = config.age.secrets.syncthingKey.path; 72 user = "ayla"; 73 }; 74 tailscale = { 75 enable = true; 76 enableCaddy = true; 77 operator = "ayla"; 78 }; 79 vaultwarden.enable = true; 80 webdav.enable = true; 81 }; 82 }; 83 84 myUsers = { 85 ayla = { 86 enable = true; 87 password = "REDACTED"; 88 }; 89 }; 90 91 boot = { 92 initrd = { 93 availableKernelModules = [ 94 "xhci_pci" 95 "ahci" 96 "usb_storage" 97 "sd_mod" 98 "rtsx_pci_sdmmc" 99 ]; 100 101 luks.devices = { 102 crypted.device = "/dev/disk/by-uuid/d82fc855-f29a-4aef-90d4-da94c23d0ac1"; 103 crypted_external.device = "/dev/disk/by-uuid/0e477648-92d6-4cf5-a0c5-8d0707b69935"; 104 }; 105 }; 106 107 kernelParams = [ 108 "consoleblank=30" 109 ]; 110 }; 111 112 fileSystems = { 113 "/" = { 114 device = "/dev/disk/by-uuid/97fd311a-2575-487e-be03-45dfa9c2db8a"; 115 fsType = "btrfs"; 116 options = ["subvol=/root" "compress=zstd" "noatime"]; 117 }; 118 119 "/home" = { 120 device = "/dev/disk/by-uuid/97fd311a-2575-487e-be03-45dfa9c2db8a"; 121 fsType = "btrfs"; 122 options = ["subvol=/home" "compress=zstd" "noatime"]; 123 }; 124 125 "/home/.snapshots" = { 126 device = "/dev/disk/by-uuid/97fd311a-2575-487e-be03-45dfa9c2db8a"; 127 fsType = "btrfs"; 128 options = ["subvol=/home/.snapshots" "compress=zstd" "noatime"]; 129 }; 130 131 "/nix" = { 132 device = "/dev/disk/by-uuid/97fd311a-2575-487e-be03-45dfa9c2db8a"; 133 fsType = "btrfs"; 134 options = ["subvol=/nix" "compress=zstd" "noatime"]; 135 }; 136 137 "/boot" = { 138 device = "/dev/disk/by-uuid/7D56-EE82"; 139 fsType = "vfat"; 140 options = ["fmask=0077" "dmask=0077"]; 141 }; 142 143 "/external1" = { 144 device = "/dev/disk/by-uuid/130ead1c-6642-45d5-9053-b6cb2df9c7e4"; 145 fsType = "btrfs"; 146 options = ["compress=zstd" "noatime"]; 147 }; 148 }; 149}