artemis.nix (2023B)
1 # Server 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 = "artemis"; 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/docker.nix 12 ../common/flakes.nix 13 ../common/garbage.nix 14 ../common/locale.nix 15 ../common/mount-drives.nix 16 ../common/networking.nix 17 ../common/packages.nix 18 ../common/ssh.nix 19 ../common/syncthing.nix 20 ../common/user.nix 21 ../common/vnstat.nix 22 ../scripts/blog-duolingo.nix 23 ../scripts/blog-status.nix 24 ../scripts/magnets.nix 25 ../scripts/restic.nix 26 ../scripts/stagit-generate.nix 27 ]; 28 home-manager.users.${username} = {pkgs, ...}: { imports = [ 29 ../home/fish.nix 30 ../home/git.nix 31 ../home/htop.nix 32 ../home/neovim.nix 33 ../home/rbw.nix 34 ../home/rclone.nix 35 ../home/ssh.nix 36 ../home/yt-dlp.nix 37 ]; 38 home.stateVersion = "25.05"; 39 }; 40 41 # Hardware and system 42 boot.initrd = { availableKernelModules = [ "xhci_pci" "virtio_pci" "virtio_scsi" "usbhid" ]; }; 43 nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; 44 45 # Cron jobs 46 services.cron = { 47 enable = true; 48 systemCronJobs = [ 49 "*/10 * * * * ${username} blog-status" 50 "*/10 * * * * ${username} magnets" 51 "*/10 * * * * ${username} stagit-generate" 52 "55 23 * * SUN ${username} blog-duolingo" 53 "0 */12 * * * ${username} backup-cloud" 54 ]; 55 }; 56 57 system.stateVersion = "25.05"; # Did you read the comment? 58 59 }