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