Evie Litherland-Smith
010f0f6fc3
nixpkgs url and flake lock updates Remove nixpkgs from registry and nixPath as it's done automatically in NixOS now Stop setting nix package to nixVersions.unstable as that's now deprecated
135 lines
3.3 KiB
Nix
135 lines
3.3 KiB
Nix
{
|
|
pkgs,
|
|
iosevkaCustom,
|
|
...
|
|
}: {
|
|
nix = {
|
|
enable = true;
|
|
settings = {
|
|
cores = 0;
|
|
max-jobs = "auto";
|
|
trusted-users = ["root"];
|
|
experimental-features = ["nix-command" "flakes"];
|
|
auto-optimise-store = true;
|
|
};
|
|
channel.enable = true;
|
|
gc = {
|
|
automatic = true;
|
|
options = "--delete-older-than 7d";
|
|
};
|
|
optimise.automatic = true;
|
|
extraOptions = ''
|
|
keep-outputs = false
|
|
keep-derivations = false
|
|
min-free = ${toString (100 * 1024 * 1024)}
|
|
max-free = ${toString (1024 * 1024 * 1024)}
|
|
'';
|
|
};
|
|
nixpkgs.config.allowUnfree = true;
|
|
system.stateVersion = "23.05";
|
|
boot.loader = {
|
|
systemd-boot.enable = true;
|
|
efi.canTouchEfiVariables = true;
|
|
};
|
|
networking = {
|
|
networkmanager.enable = true;
|
|
firewall.enable = true;
|
|
nameservers = ["9.9.9.9"];
|
|
};
|
|
users.users.root.openssh.authorizedKeys.keys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINI1dWlS16Keil0MGPWmMsBzx8F9ylfz+fRwxUr8/tZ/ ion"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC4M1zV3yLMMI1tYwdY9QDXJDlOBugm7UXKC+Xk89yHq pixelifytica@Vanguard"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICPypUUGVAdpl0SHrUDVw0RureuFNsljrXQvrf0uc055 pixelifytica@Northstar"
|
|
];
|
|
environment = {
|
|
sessionVariables = {
|
|
XDG_CONFIG_HOME = "$HOME/.config";
|
|
XDG_CACHE_HOME = "$HOME/.cache";
|
|
XDG_DATA_HOME = "$HOME/.local/share";
|
|
XDG_STATE_HOME = "$HOME/.local/state";
|
|
};
|
|
systemPackages = with pkgs; [
|
|
libsecret
|
|
coreutils-full
|
|
gnumake
|
|
git
|
|
file
|
|
zip
|
|
unzip
|
|
curl
|
|
wget
|
|
dig
|
|
wireguard-tools
|
|
du-dust
|
|
nitch
|
|
bottom
|
|
nil
|
|
(quickemu.override {qemu = qemu_full;})
|
|
];
|
|
localBinInPath = true;
|
|
};
|
|
console.keyMap = "uk";
|
|
programs = {
|
|
command-not-found.enable = false;
|
|
ssh.startAgent = true;
|
|
nano = {
|
|
enable = true;
|
|
syntaxHighlight = true;
|
|
nanorc = ''
|
|
set nowrap
|
|
set tabstospaces
|
|
set tabsize 2
|
|
'';
|
|
};
|
|
};
|
|
services = {
|
|
passSecretService.enable = true;
|
|
upower.enable = true;
|
|
power-profiles-daemon.enable = true;
|
|
system76-scheduler = {
|
|
enable = true;
|
|
useStockConfig = 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;
|
|
};
|
|
};
|
|
fonts = {
|
|
packages = with pkgs;
|
|
with iosevkaCustom.packages; [
|
|
iosevka-custom-nerdfont
|
|
iosevka-custom-aile
|
|
(nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];}) # Status bar
|
|
emacs-all-the-icons-fonts # Emacs
|
|
weather-icons # Emacs
|
|
lmodern # LaTeX
|
|
noto-fonts-emoji # Emoji
|
|
];
|
|
fontconfig = {
|
|
enable = true;
|
|
defaultFonts = with iosevkaCustom.names; {
|
|
serif = [iosevka-custom-aile];
|
|
sansSerif = [iosevka-custom-aile];
|
|
monospace = [iosevka-custom-nerdfont];
|
|
emoji = ["Noto Color Emoji"];
|
|
};
|
|
};
|
|
};
|
|
}
|