2023-07-13 12:41:00 +01:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
inputs,
|
|
|
|
...
|
|
|
|
}: {
|
|
|
|
imports = [inputs.home-manager.nixosModules.home-manager];
|
2023-06-26 13:23:27 +01:00
|
|
|
nix = {
|
|
|
|
settings.experimental-features = ["nix-command" "flakes"];
|
|
|
|
gc = {
|
|
|
|
automatic = true;
|
|
|
|
dates = "daily";
|
|
|
|
options = "--delete-older-than 7d";
|
|
|
|
};
|
|
|
|
extraOptions = ''
|
|
|
|
keep-outputs = true
|
|
|
|
keep-derivations = true
|
|
|
|
'';
|
|
|
|
};
|
2023-07-04 07:35:30 +01:00
|
|
|
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;
|
2023-06-26 13:23:27 +01:00
|
|
|
services.power-profiles-daemon.enable = true;
|
|
|
|
virtualisation.podman.enable = true;
|
|
|
|
programs = {
|
|
|
|
ssh.startAgent = true;
|
|
|
|
dconf.enable = true;
|
|
|
|
fish.enable = true;
|
|
|
|
zsh.enable = true;
|
|
|
|
};
|
2023-07-12 16:43:18 +01:00
|
|
|
fonts = {
|
|
|
|
fonts = with pkgs; [
|
|
|
|
# icon fonts
|
|
|
|
material-symbols
|
|
|
|
|
|
|
|
# normal fonts
|
|
|
|
jost
|
|
|
|
lexend
|
|
|
|
noto-fonts
|
|
|
|
noto-fonts-cjk
|
|
|
|
noto-fonts-emoji
|
|
|
|
roboto
|
|
|
|
|
|
|
|
# nerdfonts
|
2023-07-15 10:33:52 +01:00
|
|
|
(nerdfonts.override {fonts = ["FiraCode"];})
|
2023-07-12 16:43:18 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
# 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"];
|
2023-07-15 10:33:52 +01:00
|
|
|
monospace = ["FiraCode Nerd Font" "Noto Color Emoji"];
|
2023-07-12 16:43:18 +01:00
|
|
|
emoji = ["Noto Color Emoji"];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-06-26 15:08:44 +01:00
|
|
|
environment = {
|
|
|
|
localBinInPath = true;
|
2023-07-05 11:04:06 +01:00
|
|
|
shellAliases = {
|
|
|
|
ll = "ls -laF";
|
|
|
|
lg = "lazygit";
|
|
|
|
gg = "nvim +Neogit";
|
|
|
|
};
|
2023-06-26 15:08:44 +01:00
|
|
|
};
|
2023-06-26 13:23:27 +01:00
|
|
|
|
|
|
|
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";
|
|
|
|
};
|
|
|
|
|
2023-07-13 12:41:00 +01:00
|
|
|
# Home manager common configuration
|
|
|
|
home-manager = {
|
|
|
|
useGlobalPkgs = true;
|
|
|
|
useUserPackages = false;
|
|
|
|
extraSpecialArgs = {inputs = inputs;};
|
|
|
|
users.root = {
|
2023-07-15 21:06:51 +01:00
|
|
|
# imports = [common.home.env];
|
2023-07-13 12:41:00 +01:00
|
|
|
home = {
|
|
|
|
username = "root";
|
|
|
|
homeDirectory = "/root";
|
|
|
|
stateVersion = "22.11";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-06-26 13:23:27 +01:00
|
|
|
}
|