{ config, pkgs, inputs, ... }: { users = { users.alex = { isNormalUser = true; description = "Alexander Wainwright"; extraGroups = [ "dialout" "input" "networkmanager" "plugdev" "render" "video" "wheel" ]; packages = []; shell = pkgs.fish; }; groups.pluggdev = {}; }; programs.fish.enable = true; # generating man caches is very slow when fish is enabled and may not # complete during activation. disabling breaks fish man completion and # apropos but is otherwise harmless. documentation.man.generateCaches = false; documentation.man.man-db.enable = false; time.timeZone = "Australia/Brisbane"; i18n.defaultLocale = "en_GB.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_AU.UTF-8"; LC_IDENTIFICATION = "en_AU.UTF-8"; LC_MEASUREMENT = "en_AU.UTF-8"; LC_MONETARY = "en_AU.UTF-8"; LC_NAME = "en_AU.UTF-8"; LC_NUMERIC = "en_AU.UTF-8"; LC_PAPER = "en_AU.UTF-8"; LC_TELEPHONE = "en_AU.UTF-8"; LC_TIME = "en_AU.UTF-8"; }; console.keyMap = "dvorak"; nixpkgs.config.allowUnfree = true; nix.settings = { experimental-features = [ "nix-command" "flakes" ]; auto-optimise-store = true; trusted-users = [ "root" "alex" ]; }; nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; services.openssh.enable = true; environment.variables.EDITOR = "nvim"; environment.systemPackages = with pkgs; [ curl git neovim wget ]; }