nixos/hosts/common.nix

113 lines
2.6 KiB
Nix
Raw Normal View History

{
pkgs,
inputs,
common,
...
}: {
imports = [inputs.home-manager.nixosModules.home-manager];
nix = {
settings.experimental-features = ["nix-command" "flakes"];
gc = {
automatic = true;
dates = "daily";
options = "--delete-older-than 7d";
};
extraOptions = ''
keep-outputs = true
keep-derivations = true
'';
};
system.autoUpgrade = {
enable = true;
flake = "git+https://git.xenia.me.uk/xenia/nixos.git?ref=main";
};
2023-07-07 17:25:04 +01:00
networking.networkmanager.enable = true;
services.power-profiles-daemon.enable = true;
virtualisation.podman.enable = true;
programs = {
ssh.startAgent = true;
dconf.enable = true;
fish.enable = true;
zsh.enable = true;
};
fonts = {
fonts = with pkgs; [
# icon fonts
material-symbols
# normal fonts
jost
lexend
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
roboto
# nerdfonts
(nerdfonts.override {fonts = ["FiraCode"];})
];
# use fonts specified by user rather than default ones
enableDefaultFonts = false;
fontconfig = {
enable = true;
# user defined fonts
# the reason there's Noto Color Emoji everywhere is to override DejaVu's
# B&W emojis that would sometimes show instead of some Color emojis
defaultFonts = {
serif = ["Noto Serif" "Noto Color Emoji"];
sansSerif = ["Noto Sans" "Noto Color Emoji"];
monospace = ["FiraCode Nerd Font" "Noto Color Emoji"];
emoji = ["Noto Color Emoji"];
};
};
};
environment = {
localBinInPath = true;
2023-07-05 11:04:06 +01:00
shellAliases = {
ll = "ls -laF";
lg = "lazygit";
gg = "nvim +Neogit";
};
};
services.xserver = {
layout = "gb";
xkbVariant = "";
};
console.keyMap = "uk";
# Set your time zone.
time.timeZone = "Europe/London";
# Select internationalisation properties.
i18n.defaultLocale = "en_GB.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_GB.UTF-8";
LC_IDENTIFICATION = "en_GB.UTF-8";
LC_MEASUREMENT = "en_GB.UTF-8";
LC_MONETARY = "en_GB.UTF-8";
LC_NAME = "en_GB.UTF-8";
LC_NUMERIC = "en_GB.UTF-8";
LC_PAPER = "en_GB.UTF-8";
LC_TELEPHONE = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
# Home manager common configuration
home-manager = {
useGlobalPkgs = true;
useUserPackages = false;
extraSpecialArgs = {inputs = inputs;};
users.root = {
imports = [common.home.env];
home = {
username = "root";
homeDirectory = "/root";
stateVersion = "22.11";
};
};
};
}