# This is your system's configuration file. # Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) { inputs, outputs, pkgs, config, ... }: { # You can import other NixOS modules here imports = [ # Import home-manager's NixOS module inputs.home-manager.nixosModules.home-manager # If you want to use modules your own flake exports (from modules/nixos): # outputs.nixosModules.example # Or modules from other flakes (such as nixos-hardware): # inputs.hardware.nixosModules.common-cpu-amd # inputs.hardware.nixosModules.common-ssd # You can also split up your configuration and import pieces of it here: # ./users.nix # ../../desktop ../../../disko/GLaDOS # Import your generated (nixos-generate-config) hardware configuration ./hardware-configuration.nix ]; environment.systemPackages = with pkgs; [ ]; services.xserver.videoDrivers = ["amdgpu"]; hardware = { # Add vulkan support to GPU graphics.extraPackages = with pkgs; [ amdvlk ]; # For 32 bit applications graphics.extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ]; }; programs = { gamemode.enable = true; gamemode.settings = { general = { renice = 10; }; # Warning: GPU optimisations have the potential to damage hardware # gpu = { # apply_gpu_optimisations = "accept-responsibility"; # gpu_device = 0; # amd_performance_level = "high"; # }; custom = { start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'"; end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'"; }; }; }; boot = { loader.systemd-boot.enable = true; binfmt.emulatedSystems = ["aarch64-linux"]; }; # boot.lanzaboote = { # enable = true; # pkiBundle = "/etc/secureboot"; # }; users.users.lillian.extraGroups = ["gamemode"]; home-manager = { extraSpecialArgs = {inherit inputs outputs;}; users = { # Import your home-manager configuration lillian = import ../../../home-manager/hosts/GLaDOS; }; }; networking = { # virtualisation.waydroid.enable = false; hostName = "GLaDOS"; wireguard.enable = true; wg-quick.interfaces = { wg0 = { autostart = true; address = ["10.0.0.2/24" "fdc9:281f:04d7:9ee9::2/64"]; dns = ["10.0.0.1" "fdc9:281f:04d7:9ee9::1"]; listenPort = 51821; privateKeyFile = config.sops.secrets."wg-private-key".path; peers = [ { publicKey = "A02sO7uLdgflhPIRd0cbJONIaPP4z8HTxDkmX4NegFg="; endpoint = "84.87.146.85:51821"; allowedIPs = ["0.0.0.0/0" "::/0"]; persistentKeepalive = 25; } ]; }; }; }; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = "24.11"; }