nix-config/configs/nixos/common.nix

61 lines
1.5 KiB
Nix
Raw Normal View History

{
config,
pkgs,
2024-04-04 18:44:59 -05:00
inputs,
outputs,
lib,
...
}: {
nix = {
package = pkgs.nixFlakes;
extraOptions = ''
experimental-features = nix-command flakes
'';
optimise.automatic = true;
settings = {
auto-optimise-store = true;
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
time.timeZone = lib.mkDefault "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = lib.mkDefault "en_US.UTF-8";
# Configure keymap in X11
services.xserver = {
xkb.layout = lib.mkDefault "us";
xkb.variant = lib.mkDefault "";
};
# packages that should be on every system.
environment.systemPackages = [pkgs.neovim];
programs.zsh.enable = lib.mkDefault true;
environment.shells = lib.mkDefault [pkgs.zsh];
users.mutableUsers = false;
users.users.${config.host.user} = {
isNormalUser = true;
hashedPassword = lib.removeSuffix "\n" (builtins.readFile "${inputs.nix-secrets}/password-hash");
description = config.host.fullName;
shell = pkgs.zsh;
extraGroups = ["wheel"];
};
# users.users.root.password = lib.removeSuffix "\n" (builtins.readFile "${inputs.nix-secrets}/password-hash");
2024-04-04 18:44:59 -05:00
imports = [
../../modules/hostopts.nix
];
2024-04-04 18:44:59 -05:00
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {inherit inputs outputs;};
}