116 lines
3 KiB
Nix
116 lines
3 KiB
Nix
# 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
|
|
];
|
|
|
|
sops.defaultSopsFile = ./secrets/sops.yaml;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
];
|
|
|
|
services.xserver.videoDrivers = ["amdgpu"];
|
|
|
|
# Add vulkan support to GPU
|
|
hardware.graphics.extraPackages = with pkgs; [
|
|
amdvlk
|
|
];
|
|
# For 32 bit applications
|
|
hardware.graphics.extraPackages32 = with pkgs; [
|
|
driversi686Linux.amdvlk
|
|
];
|
|
|
|
programs.gamemode = {
|
|
enable = true;
|
|
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;
|
|
boot.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;
|
|
};
|
|
};
|
|
|
|
# virtualisation.waydroid.enable = false;
|
|
networking.hostName = "GLaDOS";
|
|
|
|
sops.secrets."wg-private-key".mode = "0440";
|
|
sops.secrets."wg-private-key".owner = config.users.users.root.name;
|
|
|
|
networking.wireguard.enable = true;
|
|
|
|
networking.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";
|
|
}
|