ilias.nix (3006B)
1 # NAS 2 3 { config, pkgs, lib, fullname, username, domain, email, sshkey, sshport, timezone, postcode, address, htpasswd, vpnusername, vpnpassword, todosecret, privatekey, matrixuser, matrixserver, ... }: 4 5 let machine = "ilias"; in { 6 7 imports = [ 8 (import ../common/variables.nix { inherit machine fullname username domain email sshkey sshport timezone postcode address htpasswd vpnusername vpnpassword todosecret privatekey matrixuser matrixserver; }) 9 (import ../common/home-manager.nix { inherit machine fullname username domain email sshkey sshport timezone postcode address htpasswd vpnusername vpnpassword todosecret privatekey matrixuser matrixserver; }) 10 ../common/boot-systemd.nix 11 ../common/devel.nix 12 ../common/flakes.nix 13 ../common/garbage.nix 14 ../common/locale.nix 15 ../common/mount-drives.nix 16 ../common/networking.nix 17 ../common/taggart.nix 18 ../common/nfs-server.nix 19 ../common/packages.nix 20 ../common/ssh.nix 21 ../common/ssh-tunnel.nix 22 ../common/syncthing.nix 23 ../common/user.nix 24 ../common/zram.nix 25 ../scripts/audiobook-cleaner.nix 26 ../scripts/backup-local.nix 27 ../scripts/blog-music.nix 28 ../scripts/blog-sort-archives.nix 29 ../scripts/blog-sort-languages.nix 30 ../scripts/blog-sort-quotes.nix 31 ../scripts/blog-weight.nix 32 ../scripts/ctimerename.nix 33 ../scripts/duupmove.nix 34 ../scripts/overtid.nix 35 ../scripts/payslips.nix 36 ../scripts/phone-dump.nix 37 ../scripts/restic.nix 38 ../scripts/seedy.nix 39 ../scripts/startpage-sort.nix 40 ../scripts/tank-log.nix 41 ../scripts/tank-sort.nix 42 ../scripts/watchedlist.nix 43 ../scripts/xdb.nix 44 ../scripts/youtube-id-rss.nix 45 ]; 46 home-manager.users.${username} = {pkgs, ...}: { imports = [ 47 ../home/fish.nix 48 ../home/git.nix 49 ../home/htop.nix 50 ../home/neovim.nix 51 ../home/rbw.nix 52 ../home/rclone.nix 53 ../home/ssh.nix 54 ../home/yt-dlp.nix 55 ]; 56 home.stateVersion = "24.11"; 57 }; 58 59 # Hardware and system 60 boot.initrd = { availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sr_mod" ]; }; 61 boot.kernelModules = [ "kvm-intel" ]; 62 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 63 hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 64 swapDevices = [ 65 { device = "/dev/disk/by-uuid/3397e636-91db-44ae-9572-923e4b3acbbe"; } 66 ]; 67 68 # Cron jobs 69 services = { 70 cron = { 71 enable = true; 72 systemCronJobs = [ 73 "0 */4 * * * ${username} . /etc/profile; tank-sort" 74 "5 */4 * * * ${username} . /etc/profile; tank-log" 75 "0 */12 * * * ${username} backup-cloud" 76 ]; 77 }; 78 }; 79 80 # Packages 81 environment.systemPackages = with pkgs; [ 82 czkawka # duplicate file finder 83 jdupes # duplicate file finder 84 mmv # mass renamer 85 nixfmt-rfc-style 86 ocrmypdf 87 optipng 88 pciutils 89 powertop 90 python3 91 qpdf 92 sqlite 93 ]; 94 95 system.stateVersion = "24.11"; 96 }