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