1
1
Fork 1
mirror of https://github.com/oddlama/nix-config.git synced 2025-10-10 23:00:39 +02:00
oddlama_nix-config/hosts/kroma/default.nix

100 lines
2.5 KiB
Nix

{
inputs,
lib,
minimal,
...
}:
{
imports = [
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
../../config
../../config/hardware/physical.nix
../../config/hardware/nvidia.nix
../../config/hardware/bluetooth.nix
../../config/dev
../../config/graphical
../../config/optional/laptop.nix
../../config/optional/sound.nix
../../config/optional/zfs.nix
../../users/myuser
./fs.nix
./net.nix
./unifi.nix
];
nixpkgs.hostPlatform = "x86_64-linux";
nixpkgs.config.cudaSupport = true;
boot.mode = "efi";
boot.kernelModules = [ "nvidia_uvm" ]; # FIXME: For some reason this doesn't load automatically for me, causing CUDA_ERROR_UNKNOWN (999) issues when trying to cuInit
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.binfmt.emulatedSystems = [
"aarch64-linux"
"i686-linux"
"x86_64-windows"
"riscv32-linux"
"riscv64-linux"
];
}
// lib.optionalAttrs (!minimal) {
# TODO goodbye once -sk keys.
environment.shellInit = ''
gpg-connect-agent /bye
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
'';
networking.extraHosts = "127.0.0.1 modules-cdn.eac-prod.on.epicgames.com";
#systemd.services."systemd-networkd".environment.SYSTEMD_LOG_LEVEL = "debug";
#systemd.services."systemd-resolved".environment.SYSTEMD_LOG_LEVEL = "debug";
graphical.gaming.enable = true;
nix.settings.trusted-substituters = [
"https://ai.cachix.org"
];
nix.settings.trusted-public-keys = [
"ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc="
];
#meta.promtail = {
# enable = true;
# proxy = "sentinel";
#};
## Connect safely via wireguard to skip authentication
#networking.hosts.${globals.wireguard.proxy-sentinel.hosts.sentinel.ipv4} = [globals.services.influxdb.domain];
#meta.telegraf = {
# enable = true;
# influxdb2 = {
# domain = globals.services.influxdb.domain;
# organization = "machines";
# bucket = "telegraf";
# node = "sire-influxdb";
# };
#};
programs.nix-ld.enable = true;
topology.self.icon = "devices.desktop";
hardware.nvidia-container-toolkit.enable = true;
virtualisation.containers.enable = true;
virtualisation.podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
}