{ config, lib, pkgs, imports, modulesPath, ... }:
with lib;
{
# NOTE
# Some 'global' areas have defaults set in their respective modules.
# These will be applied when the modules are loaded
# Not the global role.
# Not sure at this point a good way to manage globals in one place
# without mono-repo config.
imports =
[
(modulesPath + "/installer/scan/not-detected.nix") # Generated by nixos-config-generate
./global
];
options.mySystem.system.impermanence = {
enable = mkEnableOption "impermanence";
# explicitly specify ssh path key
# just so I can track where sops-nix needs to find it
sshPath = mkOption {
type = types.str;
default = "/etc/ssh";
};
config = {
mySystem = {
# basics for all devices
time.timeZone = "Australia/Melbourne";
security.increaseWheelLoginLimits = true;
system.packages = [ pkgs.bat ];
domain = "trux.dev";
internalDomain = "l.voltaicforge.com";
shell.fish.enable = true;
# But wont enable plugins globally, leave them for workstations
system.resticBackup.remote.location = "s3:https://f3b4625a2d02b0e6d1dec5a44f427191.r2.cloudflarestorage.com/nixos-restic";
environment.systemPackages = with pkgs; [
curl
wget
dnsutils
networking.useDHCP = lib.mkDefault true;
networking.domain = config.mySystem.domain;
}