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 backups.enable = true; 28 btrfs = { 29 enable = true; 30 deduplicate = true; 31 }; 32 swap = { 33 enable = true; 34 size = 4096; 35 location = "/.swap"; 36 }; 37 arr.enable = true; 38 }; 39 services = { 40 audiobookshelf.enable = true; 41 caddy.enable = true; 42 cloudflared.enable = true; 43 copyparty.enable = true; 44 dnsmasq.enable = true; 45 forgejo = { 46 enable = true; 47 db = "postgresql"; 48 }; 49 glance.enable = true; 50 jellyfin.enable = true; 51 jellyseerr.enable = true; 52 karakeep.enable = false; 53 miniflux.enable = true; 54 ntfy.enable = true; 55 pds.enable = true; 56 privatebin.enable = true; 57 qbittorrent = { 58 enable = true; 59 webuiPort = config.mySnippets.tailnet.networkMap.qbittorrent.port; 60 openFirewall = true; 61 }; 62 radicale.enable = true; 63 redlib.enable = true; 64 syncthing = { 65 enable = true; 66 certFile = config.age.secrets.syncthingCert.path; 67 keyFile = config.age.secrets.syncthingKey.path; 68 user = "ayla"; 69 }; 70 tailscale = { 71 enable = true; 72 enableCaddy = true; 73 operator = "ayla"; 74 }; 75 vaultwarden.enable = true; 76 webdav.enable = true; 77 }; 78 }; 79 80 myUsers = { 81 ayla = { 82 enable = true; 83 passwordFile = config.age.secrets.aylaPassword.path; 84 }; 85 }; 86 87 boot = { 88 initrd = { 89 availableKernelModules = [ 90 "xhci_pci" 91 "ahci" 92 "usb_storage" 93 "sd_mod" 94 "rtsx_pci_sdmmc" 95 ]; 96 97 luks.devices = { 98 crypted.device = "/dev/disk/by-uuid/d82fc855-f29a-4aef-90d4-da94c23d0ac1"; 99 crypted_external.device = "/dev/disk/by-uuid/0e477648-92d6-4cf5-a0c5-8d0707b69935"; 100 }; 101 }; 102 103 kernelParams = [ 104 "consoleblank=30" 105 ]; 106 }; 107 108 fileSystems = { 109 "/" = { 110 device = "/dev/disk/by-uuid/97fd311a-2575-487e-be03-45dfa9c2db8a"; 111 fsType = "btrfs"; 112 options = ["subvol=/root" "compress=zstd" "noatime"]; 113 }; 114 115 "/home" = { 116 device = "/dev/disk/by-uuid/97fd311a-2575-487e-be03-45dfa9c2db8a"; 117 fsType = "btrfs"; 118 options = ["subvol=/home" "compress=zstd" "noatime"]; 119 }; 120 121 "/home/.snapshots" = { 122 device = "/dev/disk/by-uuid/97fd311a-2575-487e-be03-45dfa9c2db8a"; 123 fsType = "btrfs"; 124 options = ["subvol=/home/.snapshots" "compress=zstd" "noatime"]; 125 }; 126 127 "/nix" = { 128 device = "/dev/disk/by-uuid/97fd311a-2575-487e-be03-45dfa9c2db8a"; 129 fsType = "btrfs"; 130 options = ["subvol=/nix" "compress=zstd" "noatime"]; 131 }; 132 133 "/boot" = { 134 device = "/dev/disk/by-uuid/7D56-EE82"; 135 fsType = "vfat"; 136 options = ["fmask=0077" "dmask=0077"]; 137 }; 138 139 "/external1" = { 140 device = "/dev/disk/by-uuid/130ead1c-6642-45d5-9053-b6cb2df9c7e4"; 141 fsType = "btrfs"; 142 options = ["compress=zstd" "noatime"]; 143 }; 144 }; 145}