From ec11905096868338f79963d1c70c4a411c1564dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20R=C3=B6ger?= Date: Sun, 4 May 2025 05:05:26 +0200 Subject: [PATCH] System Gen3 @ 2025-05-04-05:05:26 by jonas@monolith --- flake.nix | 8 ++++-- hosts/monolith/configuration.nix | 44 +++++++++++++++++++++++++++++++- modules/home/doom/doom.nix | 4 ++- 3 files changed, 52 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index 67149be..b5f9f5d 100644 --- a/flake.nix +++ b/flake.nix @@ -62,7 +62,7 @@ modules = [ ({...}: {nixpkgs.overlays = [overlay-unstable];}) ({...}: {nixpkgs.config.allowUnfree = true;}) - nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1 + nixos-hardware.nixosModules.msi-b550-a-pro inputs.sops-nix.nixosModules.sops ./modules ./hosts/comfy-station/configuration.nix @@ -76,13 +76,17 @@ }; modules = [ ({...}: {nixpkgs.overlays = [overlay-unstable];}) - ({...}: {nixpkgs.config.allowUnfree = true;}) + ({...}: { + nixpkgs.config.allowUnfree = true; + nixpkgs.config.nvidia.acceptLicense = true; + }) { nix.settings = { substituters = ["https://cosmic.cachix.org/"]; trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="]; }; } + nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1 inputs.sops-nix.nixosModules.sops nixos-cosmic.nixosModules.default ./modules diff --git a/hosts/monolith/configuration.nix b/hosts/monolith/configuration.nix index 53c9220..74926bb 100644 --- a/hosts/monolith/configuration.nix +++ b/hosts/monolith/configuration.nix @@ -1,7 +1,11 @@ # Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{pkgs, ...}: { +{ + config, + pkgs, + ... +}: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix @@ -79,6 +83,44 @@ services.udev.packages = [pkgs.openhantek6022]; virtualisation.docker.enable = true; + # # Enable OpenGL + hardware.graphics = { + enable = true; + }; + + # Load nvidia driver for Xorg and Wayland + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + powerManagement.enable = false; + + # Fine-grained power management. Turns off GPU when not in use. + # Experimental and only works on modern Nvidia GPUs (Turing or newer). + powerManagement.finegrained = false; + + # Use the NVidia open source kernel module (not to be confused with the + # independent third-party "nouveau" open source driver). + # Support is limited to the Turing and later architectures. Full list of + # supported GPUs is at: + # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus + # Only available from driver 515.43.04+ + open = false; + + # Enable the Nvidia settings menu, + # accessible via `nvidia-settings`. + nvidiaSettings = true; + + # Optionally, you may need to select the appropriate driver version for your specific GPU. + package = config.boot.kernelPackages.nvidiaPackages.legacy_390; + }; + # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave diff --git a/modules/home/doom/doom.nix b/modules/home/doom/doom.nix index 5d3e8b7..5db35a3 100644 --- a/modules/home/doom/doom.nix +++ b/modules/home/doom/doom.nix @@ -6,9 +6,11 @@ }: let cfg = config.hive.doom; doom-pkgs = with pkgs; [ + cmake + emacs-all-the-icons-fonts fira fira-code-nerdfont - emacs-all-the-icons-fonts + gcc ]; default-core-pkgs = with pkgs; [ (ripgrep.override {withPCRE2 = true;})