From 95fd98e0ae85e1df84ca06af9e863945247c4424 Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Tue, 3 Mar 2026 22:36:18 +0100 Subject: [PATCH] migrates config further --- modules/desktop/default.nix | 17 +++++++++++++++++ modules/drawing-tablet/default.nix | 10 ++++++++++ modules/gaming/default.nix | 8 ++++++++ modules/hosts/dnsc-machine/default.nix | 6 ++++-- modules/nvidia-graphics/default.nix | 20 ++++++++++++++++++++ modules/printing/default.nix | 13 +++++++++++++ 6 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 modules/desktop/default.nix create mode 100644 modules/drawing-tablet/default.nix create mode 100644 modules/gaming/default.nix create mode 100644 modules/nvidia-graphics/default.nix create mode 100644 modules/printing/default.nix diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix new file mode 100644 index 0000000..b288dc5 --- /dev/null +++ b/modules/desktop/default.nix @@ -0,0 +1,17 @@ +{ ... }: +{ + flake.modules.nixos.desktop = + { pkgs, ... }: + { + services.displayManager.cosmic-greeter.enable = true; + services.desktopManager.cosmic.enable = true; + services.system76-scheduler.enable = true; + + environment.cosmic.excludePackages = with pkgs; [ + cosmic-term + ]; + }; + + # TODO: Persist ~/.config/cosmic after setup + # and symlink it with home manager +} diff --git a/modules/drawing-tablet/default.nix b/modules/drawing-tablet/default.nix new file mode 100644 index 0000000..aa10c00 --- /dev/null +++ b/modules/drawing-tablet/default.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + flake.modules.nixos.drawing-tablet = + { pkgs, ... }: + { + hardware.opentabletdriver.enable = true; + hardware.uinput.enable = true; + boot.kernelModules = [ "uinput" ]; + }; +} diff --git a/modules/gaming/default.nix b/modules/gaming/default.nix new file mode 100644 index 0000000..b9282de --- /dev/null +++ b/modules/gaming/default.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + flake.modules.nixos.gaming = + { pkgs, ... }: + { + programs.gamemode.enable = true; + }; +} diff --git a/modules/hosts/dnsc-machine/default.nix b/modules/hosts/dnsc-machine/default.nix index 0a714cc..60d71a1 100644 --- a/modules/hosts/dnsc-machine/default.nix +++ b/modules/hosts/dnsc-machine/default.nix @@ -6,12 +6,14 @@ in flake.nixosConfigurations.dnsc-machine = inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = with config.flake.modules.nixos; [ - # Modules home-manager base + nvidia-graphics + graphics-tablet + printing shell + desktop - # Machine-specific configuration { imports = [ ./_hardware-configuration.nix ]; networking.hostName = hostname; diff --git a/modules/nvidia-graphics/default.nix b/modules/nvidia-graphics/default.nix new file mode 100644 index 0000000..b5f397f --- /dev/null +++ b/modules/nvidia-graphics/default.nix @@ -0,0 +1,20 @@ +{ config, ... }: +{ + flake.modules.nixos.nvidia-graphics = + { pkgs, ... }: + { + services.xserver.videoDrivers = [ "nvidia" ]; + hardware = { + graphics.enable = true; + nvidia = { + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + }; + environment.sessionVariables.NIXOS_OZONE_WL = "1"; + }; +} diff --git a/modules/printing/default.nix b/modules/printing/default.nix new file mode 100644 index 0000000..e7ef6cb --- /dev/null +++ b/modules/printing/default.nix @@ -0,0 +1,13 @@ +{ ... }: +{ + flake.modules.nixos.printing = + { pkgs, ... }: + { + services.printing.enable = true; + services.avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + }; +}