{pkgs, lib, config, ...}:{ imports = [ ./nix.nix ./profiles/desktop ./profiles/docs.nix ./profiles/games.nix ./profiles/laptop.nix ./profiles/networking.nix ./profiles/perftools.nix ./profiles/zfs.nix ]; console = { font = "Lat2-Terminus16"; }; time.timeZone = "America/New_York"; i18n = let locale = "en_US.UTF-8"; in { defaultLocale = locale; extraLocaleSettings = { LC_ADDRESS = locale; LC_IDENTIFICATION = locale; LC_MEASUREMENT = locale; LC_MONETARY = locale; LC_NAME = locale; LC_NUMERIC = locale; LC_PAPER = locale; LC_TELEPHONE = locale; LC_TIME = locale; }; }; environment = { systemPackages = with pkgs; [ git nano # for lspci etc pciutils # for lsusb etc usbutils lshw home-manager lm_sensors smartmontools ]; pathsToLink = ["/share/zsh"]; }; programs = { mtr.enable = true; zsh.enable = true; }; profiles = { networking.enable = lib.mkDefault true; }; users.users.joshua = { subUidRanges = [ { startUid = 100000; count = 65536; } ]; subGidRanges = [ { startGid = 100000; count = 65536; } ]; isNormalUser = true; description = "Joshua Barrett"; shell = pkgs.zsh; extraGroups = [ "wheel" "docker" "podman" "wireshark" "kvm" "adbusers" "dialout" ]; linger = true; openssh.authorizedKeys.keys = [ # prospero "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM0G+Ri6crg86mYVWWDHUiO+FX0GB0di9QkdNvE8SWF" # mercury "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG3JS6Mf2PwfjZOAh3Cztmeu1CFzxond254jHAeLQ85O" # uruk "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN4yxSed86xXJ3wuBwxX7HrAHrHSkFliBg7s4Nx53NFS" ]; }; # Enable the Docker daemon. virtualisation.docker = { enable = true; # Docker appears to select `devicemapper` by default, which is not cool. storageDriver = if config.profiles.zfs.enable then "zfs" else "overlay2"; # Prune the docker registry weekly. autoPrune.enable = true; extraOptions = '' --experimental ''; }; virtualisation.oci-containers = { backend = "docker"; }; security.pam.sshAgentAuth.enable = lib.mkDefault true; }