nixos/configuration/default.nix
Evie Litherland-Smith 62ca892b30 Squashed commit of the following:
commit 5374ae3e46
Author: Evie Litherland-Smith <evie@xenia.me.uk>
Date:   Mon Jun 17 08:25:18 2024 +0100

    Fix sddm crash/restart (hopefully) by removing x11-user

    Re-enable kdeconnect

commit ae08b23335
Author: Evie Litherland-Smith <evie@xenia.me.uk>
Date:   Sun Jun 16 20:47:03 2024 +0100

    Disable/remove more options not needed for plasma6

commit a44d79e6a0
Author: Evie Litherland-Smith <evie@xenia.me.uk>
Date:   Sun Jun 16 19:28:56 2024 +0100

    Disable extra services/programs covered by KDE
2024-06-17 08:46:29 +01:00

135 lines
3.3 KiB
Nix

{
config,
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";
autoUpgrade = {
enable = true;
persistent = true;
flake = "git+${config.nix.registry.my-nixos.to.url}";
dates = "02:00";
randomizedDelaySec = "45min";
flags = [
"--option"
"extra-binary-caches"
"https://nix.xenia.me.uk"
];
};
};
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 = {
pathsToLink = ["/share/zsh"];
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
nil
(quickemu.override {qemu = qemu_full;})
];
localBinInPath = true;
};
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.defaultLocale = "en_GB.UTF-8";
console = {
font = iosevkaCustom.names.iosevka-custom-nerdfont;
useXkbConfig = true;
};
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"];
};
};
};
}