From d5b3261f402519c0bab56c33d8230525179650ff Mon Sep 17 00:00:00 2001 From: harry Date: Sun, 8 Sep 2024 10:52:16 +0200 Subject: [PATCH 1/2] added goober --- features/client/sway.nix | 0 features/isos/goober.nix | 52 ++++++++++++++++++++++++++++++++++++++++ flake.nix | 8 +++++++ 3 files changed, 60 insertions(+) create mode 100644 features/client/sway.nix create mode 100644 features/isos/goober.nix diff --git a/features/client/sway.nix b/features/client/sway.nix new file mode 100644 index 0000000..e69de29 diff --git a/features/isos/goober.nix b/features/isos/goober.nix new file mode 100644 index 0000000..d69f403 --- /dev/null +++ b/features/isos/goober.nix @@ -0,0 +1,52 @@ +{ + pkgs, + modulesPath, + lib, + ... +}: +{ + imports = [ + "${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" + + # Provide an initial copy of the NixOS channel so that the user + # doesn't need to run "nix-channel --update" first. + "${modulesPath}/installer/cd-dvd/channel.nix" + ]; + + # use the latest Linux kernel + boot.kernelPackages = pkgs.linuxPackages_latest; + + # Needed for https://github.com/NixOS/nixpkgs/issues/58959 + boot.supportedFilesystems = lib.mkForce [ + "btrfs" + "reiserfs" + "vfat" + "f2fs" + "xfs" + "ntfs" + "cifs" + ]; + + boot.blacklistedKernelModules = [ + "b43" + "b43legacy" + "ssb" + "bcma" + "bcm43xx" + "brcm80211" + "brcmfmac" + "brcmsmac" + "bcma" + ]; + + boot.extraModprobeConfig = '' + options cfg80211 cfg80211_disable_40mhz_24ghz=Y + ''; + + environment.systemPackages = with pkgs; [ + # Add your own packages here + broadcom_sta + neovim + + ]; +} diff --git a/flake.nix b/flake.nix index 817e05f..5ca5400 100644 --- a/flake.nix +++ b/flake.nix @@ -47,6 +47,14 @@ ./hosts/labouse/configuration.nix ]; }; + + goober = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ./features/isos/goober.nix + ]; + }; }; + }; } From 3df10b933d7757533bbbcff4350c2301f59bc087 Mon Sep 17 00:00:00 2001 From: harry Date: Sun, 8 Sep 2024 11:41:01 +0200 Subject: [PATCH 2/2] 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; + +}