dotfiles/hosts/Kell/default.nix

87 lines
2.6 KiB
Nix

{ inputs, config, pkgs, ... }:
{
# AMD CPU
boot.blacklistedKernelModules = [ "k10temp" ];
boot.extraModulePackages = [ config.boot.kernelPackages.zenpower ];
boot.kernelModules = [ "zenpower amd_pstate=active" ];
# AMD CPU & GPU
boot.initrd.kernelModules = [ "amdgpu" ];
services.pcscd.enable = true;
services.udev.packages = [ pkgs.yubikey-personalization ];
services.logind.extraConfig = ''HandlePowerKey=suspend'';
services.fstrim.enable = true;
services.fwupd.enable = true;
# Calendar
programs.dconf.enable = true;
services.gnome.evolution-data-server.enable = true;
services.gnome.gnome-online-accounts.enable = true;
services.gnome.gnome-keyring.enable = true;
environment.systemPackages = with pkgs; [
wireguard-tools
# Podman
dive
podman-tui
docker-compose
];
# Add the server using gnome-online-accounts:
# nix-shell -p gnome.gnome-control-center --run "gnome-control-center"
# Just add the main webdav server and gnome-calendar will automatically pick up all available calendars.
virtualisation.containers.enable = true;
virtualisation = {
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
};
services.ollama = {
enable = true;
# acceleration = "";
};
networking.wg-quick.interfaces = {
wg0 = {
address = [ "10.0.0.10/24" " 2a02:a03f:83ad:2101::2/128" ];
dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
privateKeyFile = "/home/user/.secrets/Wireguard/Kell.key";
listenPort = 51820;
peers = [{
publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
allowedIPs = [ "10.0.0.1/8" ];
endpoint = "192.168.1.1:13231";
}];
};
};
fileSystems."/home/server" = {
device = "192.168.1.2:/home/server";
fsType = "nfs";
options = [ "x-systemd.automount" "noauto" ];
};
fileSystems."/home/user/Workspace" = {
device = "192.168.1.2:/home/server/Workspace";
fsType = "nfs";
options = [ "x-systemd.automount" "noauto" ];
};
fileSystems."/home/user/Documents" = {
device = "192.168.1.2:/home/server/Storage/Thomas/Documents";
fsType = "nfs";
options = [ "x-systemd.automount" "noauto" ];
};
fileSystems."/home/user/Pictures" = {
device = "192.168.1.2:/home/server/Storage/Thomas/Pictures";
fsType = "nfs";
options = [ "x-systemd.automount" "noauto" ];
};
fileSystems."/home/user/Videos" = {
device = "192.168.1.2:/home/server/Storage/Thomas/Videos";
fsType = "nfs";
options = [ "x-systemd.automount" "noauto" ];
};
}