nix-configs

Personal NixOS and home-manager configuration files
Log | Files | Refs

artemis.nix (2100B)


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