nixos/system/default.nix

81 lines
1.8 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
let flakeURL = "git+https://git.xenia.me.uk/xenia/nixos.git?ref=main";
in {
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
extraOptions = ''
keep-outputs = true
keep-derivations = true
min-free = ${toString (100 * 1024 * 1024)}
max-free = ${toString (1024 * 1024 * 1024)}
'';
};
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"steam"
"steam-original"
"steam-run"
"nomachine-client"
];
networking = {
networkmanager.enable = true;
nameservers = [ "9.9.9.9" ];
};
environment = {
systemPackages = with pkgs; [
libsecret
git
neofetch
nitch
dig
silver-searcher
gnumake
mc
];
localBinInPath = true;
shellAliases.rebuild = ''
sudo nixos-rebuild switch --flake "${flakeURL}" --refresh \
&& hyprctl reload \
&& doom sync -p
'';
};
console.keyMap = "uk";
programs.ssh.startAgent = true;
services = {
upower.enable = true;
power-profiles-daemon.enable = true;
};
virtualisation.podman.enable = true;
time.timeZone = "Europe/London";
i18n = let locale = "en_GB.UTF-8";
in {
# Select internationalisation properties.
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;
};
};
system.autoUpgrade = {
enable = true;
dates = "02:00";
allowReboot = false;
flake = flakeURL;
};
}