From ee90d3577fdc77e7d3f0f2e88d9d686fe384cf67 Mon Sep 17 00:00:00 2001 From: punkfairie Date: Sun, 25 May 2025 18:36:34 -0700 Subject: [PATCH] feat: move nvidia to module option; re-org driver modules --- hosts/nyx/default.nix | 7 +++++-- modules/home/option-inheritance.nix | 4 ---- modules/nixos/default.nix | 1 + modules/nixos/{base/drivers.nix => hardware/audio.nix} | 8 +++----- modules/nixos/hardware/default.nix | 8 ++++++++ modules/nixos/hardware/misc.nix | 3 +++ .../default.nix => modules/nixos/hardware/nvidia.nix | 4 ++-- modules/options/profiles.nix | 4 ---- 8 files changed, 22 insertions(+), 17 deletions(-) rename modules/nixos/{base/drivers.nix => hardware/audio.nix} (78%) create mode 100644 modules/nixos/hardware/default.nix create mode 100644 modules/nixos/hardware/misc.nix rename snowflake/modules/nixos/nvidia/default.nix => modules/nixos/hardware/nvidia.nix (80%) diff --git a/hosts/nyx/default.nix b/hosts/nyx/default.nix index 8cb6ac4..4efdf2a 100644 --- a/hosts/nyx/default.nix +++ b/hosts/nyx/default.nix @@ -15,8 +15,11 @@ in { marleyos = { profiles = { - desktop = enabled; - hardware.nvidia = enabled; + desktop = true; + }; + + hardware = { + nvidia = enabled; }; mounts.babeshare = enabled; diff --git a/modules/home/option-inheritance.nix b/modules/home/option-inheritance.nix index 1ac3753..b202b9c 100644 --- a/modules/home/option-inheritance.nix +++ b/modules/home/option-inheritance.nix @@ -4,10 +4,6 @@ in { marleyos = { profiles = { inherit (cfg.profiles) desktop server; - - hardware = { - inherit (cfg.profiles.hardware) nvidia; - }; }; my = { diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index d7a3b1b..79e9b48 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -5,5 +5,6 @@ ../base ./base + ./hardware ]; } diff --git a/modules/nixos/base/drivers.nix b/modules/nixos/hardware/audio.nix similarity index 78% rename from modules/nixos/base/drivers.nix rename to modules/nixos/hardware/audio.nix index 5d410ba..ba4ff3a 100644 --- a/modules/nixos/base/drivers.nix +++ b/modules/nixos/hardware/audio.nix @@ -1,11 +1,11 @@ { - pkgs, - config, lib, + config, + pkgs, ... }: { config = lib.mkIf (!config.marleyos.profiles.server) { - security.rtkit.enable = true; # Used for pulseaudio. + security.rtkit.enable = true; # for pulseaudio hardware.pulseaudio.enable = false; @@ -15,8 +15,6 @@ alsa.enable = true; pulse.enable = true; }; - - printing.enable = true; }; environment.systemPackages = [pkgs.pwvucontrol]; diff --git a/modules/nixos/hardware/default.nix b/modules/nixos/hardware/default.nix new file mode 100644 index 0000000..011757c --- /dev/null +++ b/modules/nixos/hardware/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ + ./audio.nix + ./nvidia.nix + + ./misc.nix # try to use this as little as possible + ]; +} diff --git a/modules/nixos/hardware/misc.nix b/modules/nixos/hardware/misc.nix new file mode 100644 index 0000000..dc591ea --- /dev/null +++ b/modules/nixos/hardware/misc.nix @@ -0,0 +1,3 @@ +{ + services.printing.enable = true; +} diff --git a/snowflake/modules/nixos/nvidia/default.nix b/modules/nixos/hardware/nvidia.nix similarity index 80% rename from snowflake/modules/nixos/nvidia/default.nix rename to modules/nixos/hardware/nvidia.nix index 7a35664..c82e3ec 100644 --- a/snowflake/modules/nixos/nvidia/default.nix +++ b/modules/nixos/hardware/nvidia.nix @@ -3,9 +3,9 @@ config, ... }: let - cfg = config.marleyos.nvidia; + cfg = config.marleyos.hardware.nvidia; in { - options.marleyos.nvidia.enable = lib.mkEnableOption "nvidia"; + options.marleyos.hardware.nvidia.enable = lib.mkEnableOption "nvidia"; config = lib.mkIf cfg.enable { # NVIDIA drivers are unfree. diff --git a/modules/options/profiles.nix b/modules/options/profiles.nix index b7ad679..c471fe7 100644 --- a/modules/options/profiles.nix +++ b/modules/options/profiles.nix @@ -2,9 +2,5 @@ options.marleyos.profiles = { desktop = lib.mkEnableOption "graphical desktop profile"; server = lib.mkEnableOption "server profile"; - - hardware = { - nvidia = lib.mkEnableOption "Nvidia profile"; - }; }; }