{ config, self, ... }: let inherit (config.vars) mainUser hostName; in { # ------------------------------------------------ # Imports # ------------------------------------------------ imports = [ ./hardware-configuration.nix ../../modules/kmscon.nix ../../modules/sshd.nix ../../modules/tailscale.nix ./modules/7-days-to-die.nix ./modules/binary-cache.nix ./modules/minecraft.nix ./modules/nfs.nix ./modules/pr-tracker.nix self.nixosModules.docker ]; # State Version: DO NOT CHANGE system.stateVersion = "24.05"; home-manager.users.${mainUser}.home.stateVersion = "24.05"; # ------------------------------------------------ # User Settings # ------------------------------------------------ vars = { mainUser = "matt"; hostName = "servivi"; promptMainColor = "blue"; }; users.users = { ${mainUser} = { isNormalUser = true; extraGroups = [ "wheel" "adm" ]; }; # https://nixos.wiki/wiki/Distributed_build nixremote = { isNormalUser = true; createHome = true; home = "/var/lib/nixremote"; homeMode = "500"; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGOujvC5JLnyjqD1bzl/H0256Gxw/biu7spIHy3YJiDL" ]; }; }; networking = { inherit hostName; resolvconf.enable = true; firewall.enable = false; }; time.timeZone = "America/Montreal"; # ------------------------------------------------ # `Self` Modules configuration # ------------------------------------------------ # ... }