From 3df10b933d7757533bbbcff4350c2301f59bc087 Mon Sep 17 00:00:00 2001 From: harry Date: Sun, 8 Sep 2024 11:41:01 +0200 Subject: [PATCH] updated goober config --- .gitignore | 1 + features/isos/goober.nix | 44 ++++++++++++++++++++++++++++++++-- flake.lock | 17 +++++++++++++ flake.nix | 34 +++++++++++++++++++++++++- hosts/goober/configuration.nix | 5 ++++ 5 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 hosts/goober/configuration.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1cd791b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +result/ diff --git a/features/isos/goober.nix b/features/isos/goober.nix index d69f403..9168072 100644 --- a/features/isos/goober.nix +++ b/features/isos/goober.nix @@ -1,4 +1,5 @@ { + config, pkgs, modulesPath, lib, @@ -43,10 +44,49 @@ options cfg80211 cfg80211_disable_40mhz_24ghz=Y ''; + nixpkgs.config.allowUnfreePredicate = + pkg: + builtins.elem (lib.getName pkg) [ + "nvidia" + "broadcom-sta" + ]; + + boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; environment.systemPackages = with pkgs; [ # Add your own packages here - broadcom_sta neovim - + git ]; + boot.kernelModules = [ "wl" ]; + + 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+ + # Currently "beta quality", so false is currently the recommended setting. + 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.stable; + }; } diff --git a/flake.lock b/flake.lock index e872fff..e5ce253 100644 --- a/flake.lock +++ b/flake.lock @@ -61,6 +61,22 @@ "type": "github" } }, + "nix-secrets": { + "flake": false, + "locked": { + "lastModified": 1724661327, + "narHash": "sha256-NQ+PmZwUJdDh0d1WiP7ibqw7aFd2Xn+2Xu6wOZV3E8E=", + "ref": "refs/heads/main", + "rev": "750285c41d23803be0b66571296e1f1685939511", + "revCount": 8, + "type": "git", + "url": "https://git.hypervirtual.world/harry123/nix-secrets.git" + }, + "original": { + "type": "git", + "url": "https://git.hypervirtual.world/harry123/nix-secrets.git" + } + }, "nixpkgs": { "locked": { "lastModified": 1723688146, @@ -112,6 +128,7 @@ "root": { "inputs": { "alejandra": "alejandra", + "nix-secrets": "nix-secrets", "nixpkgs": "nixpkgs", "sops-nix": "sops-nix" } diff --git a/flake.nix b/flake.nix index 5ca5400..ecc7c95 100644 --- a/flake.nix +++ b/flake.nix @@ -9,9 +9,14 @@ alejandra.inputs.nixpkgs.follows = "nixpkgs"; nix-secrets = { - url = "git+https://git.hypervirtual.world/harry123/nix-secrets.git"; + url = "git+https://git.hypervirtual.world/harry123/nix-secrets.git"; # replace with your own repo flake = false; }; + + nixos-generators = { + url = "github:nix-community/nixos-generators"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -41,6 +46,8 @@ ]; }; + # athena = nixpkgs.lib.nixosSystem {}: + labouse = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ @@ -48,6 +55,17 @@ ]; }; + goober = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = specialArgs; + modules = [ + ./hosts/goober/configuration.nix + ]; + }; + + }; + + isos = { goober = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ @@ -56,5 +74,19 @@ }; }; + proxmox = { + sisyphe = nixos-generators.nixosGenerate { + system = "x86_64-linux"; + specialArgs = { + diskSize = 600 * 1024; + inherit specialArgs; + }; + modules = [ + ./hosts/sisyphe/configuration.nix + sops-nix.nixosModules.sops + ]; + format = "proxmox"; + }; + }; }; } diff --git a/hosts/goober/configuration.nix b/hosts/goober/configuration.nix new file mode 100644 index 0000000..805f340 --- /dev/null +++ b/hosts/goober/configuration.nix @@ -0,0 +1,5 @@ +{ config, ... }: +{ + services.flatpak.enable = true; + +}