From 3e587c83e3cba60c2fa21b37a6f9f8954e2eeae4 Mon Sep 17 00:00:00 2001 From: Isshi0417 Date: Thu, 11 Jul 2024 13:22:57 +0900 Subject: [PATCH] Improve modularity --- hosts/default/configuration.nix | 26 ++++++++++++++++++- hosts/default/home.nix | 5 +--- modules/gaming/default.nix | 9 +++++++ .../gaming.nix => gaming/gayshit/default.nix} | 18 +------------ modules/gaming/lutris/default.nix | 11 ++++++++ modules/gaming/steam/default.nix | 11 ++++++++ .../intel.nix => hardware/cpu/default.nix} | 4 +++ .../hardware/cpu/tiger-lake.nix | 1 - modules/hardware/default.nix | 9 +++++++ modules/hardware/gpu/default.nix | 7 +++++ .../alienware => }/hardware/gpu/intel.nix | 0 .../alienware => }/hardware/gpu/nvidia.nix | 0 .../ssd/ssd.nix => hardware/ssd/default.nix} | 0 modules/nh/default.nix | 9 +++++++ modules/nixos/alienware/alienware.nix | 4 --- 15 files changed, 87 insertions(+), 27 deletions(-) create mode 100644 modules/gaming/default.nix rename modules/{nixos/alienware/gaming.nix => gaming/gayshit/default.nix} (55%) create mode 100644 modules/gaming/lutris/default.nix create mode 100644 modules/gaming/steam/default.nix rename modules/{nixos/alienware/hardware/cpu/intel.nix => hardware/cpu/default.nix} (75%) rename modules/{nixos/alienware => }/hardware/cpu/tiger-lake.nix (95%) create mode 100644 modules/hardware/default.nix create mode 100644 modules/hardware/gpu/default.nix rename modules/{nixos/alienware => }/hardware/gpu/intel.nix (100%) rename modules/{nixos/alienware => }/hardware/gpu/nvidia.nix (100%) rename modules/{nixos/alienware/hardware/ssd/ssd.nix => hardware/ssd/default.nix} (100%) create mode 100644 modules/nh/default.nix diff --git a/hosts/default/configuration.nix b/hosts/default/configuration.nix index c81c85f..29bbe44 100644 --- a/hosts/default/configuration.nix +++ b/hosts/default/configuration.nix @@ -8,7 +8,13 @@ imports = [ # Hardware-related ./hardware-configuration.nix - ../../modules/nixos/alienware/alienware.nix + ../../modules/hardware + + # NH + ../../modules/nh + + # Gaming + ../../modules/gaming # Gnome customization ../../modules/nixos/gnome.nix @@ -35,6 +41,24 @@ }; }; + swapDevices = [{ + device = "/var/lib/swapfile"; + size = 20*1024; + }]; + + hardware = { + enableRedistributableFirmware = lib.mkDefault true; + }; + + services = { + fwupd = { + enable = lib.mkDefault true; + }; + thermald = { + enable = lib.mkDefault true; + }; + }; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; networking.hostName = "alienware"; # Define your hostname. diff --git a/hosts/default/home.nix b/hosts/default/home.nix index 9a0f533..66dea1e 100644 --- a/hosts/default/home.nix +++ b/hosts/default/home.nix @@ -65,10 +65,7 @@ # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. home.file = { - ".config/awesome" = { - recursive = true; - source = ../../modules/nixos/alienware/awesomewm; - }; + }; # Home Manager can also manage your environment variables through diff --git a/modules/gaming/default.nix b/modules/gaming/default.nix new file mode 100644 index 0000000..0dec36c --- /dev/null +++ b/modules/gaming/default.nix @@ -0,0 +1,9 @@ +{ ... }: + +{ + imports = [ + ./steam + ./lutris + ./gayshit + ]; +} \ No newline at end of file diff --git a/modules/nixos/alienware/gaming.nix b/modules/gaming/gayshit/default.nix similarity index 55% rename from modules/nixos/alienware/gaming.nix rename to modules/gaming/gayshit/default.nix index 723ea70..116fc6f 100644 --- a/modules/nixos/alienware/gaming.nix +++ b/modules/gaming/gayshit/default.nix @@ -1,22 +1,6 @@ -{ pkgs, ... }: +{ ... }: { - # Enable Steam - programs.steam = { - enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = true; - localNetworkGameTransfers.openFirewall = true; - }; - - # Enable wine - environment.systemPackages = with pkgs; [ - wineWowPackages.stable - wineWowPackages.staging - winetricks - lutris - ]; - # Aagl config nix.settings = { substituters = [ "https://ezkea.cachix.org" ]; diff --git a/modules/gaming/lutris/default.nix b/modules/gaming/lutris/default.nix new file mode 100644 index 0000000..6c75dd3 --- /dev/null +++ b/modules/gaming/lutris/default.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +{ + # Enable wine + environment.systemPackages = with pkgs; [ + wineWowPackages.stable + wineWowPackages.staging + winetricks + lutris + ]; +} \ No newline at end of file diff --git a/modules/gaming/steam/default.nix b/modules/gaming/steam/default.nix new file mode 100644 index 0000000..89b11ce --- /dev/null +++ b/modules/gaming/steam/default.nix @@ -0,0 +1,11 @@ +{ ... }: + +{ + # Enable Steam + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + }; +} \ No newline at end of file diff --git a/modules/nixos/alienware/hardware/cpu/intel.nix b/modules/hardware/cpu/default.nix similarity index 75% rename from modules/nixos/alienware/hardware/cpu/intel.nix rename to modules/hardware/cpu/default.nix index ca0626d..de612e6 100644 --- a/modules/nixos/alienware/hardware/cpu/intel.nix +++ b/modules/hardware/cpu/default.nix @@ -1,4 +1,8 @@ { config, lib, ... }: { + imports = [ + ./tiger-lake.nix + ]; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } \ No newline at end of file diff --git a/modules/nixos/alienware/hardware/cpu/tiger-lake.nix b/modules/hardware/cpu/tiger-lake.nix similarity index 95% rename from modules/nixos/alienware/hardware/cpu/tiger-lake.nix rename to modules/hardware/cpu/tiger-lake.nix index cb47faa..b3fc408 100644 --- a/modules/nixos/alienware/hardware/cpu/tiger-lake.nix +++ b/modules/hardware/cpu/tiger-lake.nix @@ -1,7 +1,6 @@ { config, lib, ... }: { imports = [ - ./intel.nix ../gpu/intel.nix ]; config = lib.mkMerge [ diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix new file mode 100644 index 0000000..cc2bd19 --- /dev/null +++ b/modules/hardware/default.nix @@ -0,0 +1,9 @@ +{ ... }: + +{ + imports = [ + ./cpu + ./gpu + ./ssd + ]; +} \ No newline at end of file diff --git a/modules/hardware/gpu/default.nix b/modules/hardware/gpu/default.nix new file mode 100644 index 0000000..9d61d4c --- /dev/null +++ b/modules/hardware/gpu/default.nix @@ -0,0 +1,7 @@ +{ ... }: + +{ + imports = [ + ./nvidia.nix + ]; +} \ No newline at end of file diff --git a/modules/nixos/alienware/hardware/gpu/intel.nix b/modules/hardware/gpu/intel.nix similarity index 100% rename from modules/nixos/alienware/hardware/gpu/intel.nix rename to modules/hardware/gpu/intel.nix diff --git a/modules/nixos/alienware/hardware/gpu/nvidia.nix b/modules/hardware/gpu/nvidia.nix similarity index 100% rename from modules/nixos/alienware/hardware/gpu/nvidia.nix rename to modules/hardware/gpu/nvidia.nix diff --git a/modules/nixos/alienware/hardware/ssd/ssd.nix b/modules/hardware/ssd/default.nix similarity index 100% rename from modules/nixos/alienware/hardware/ssd/ssd.nix rename to modules/hardware/ssd/default.nix diff --git a/modules/nh/default.nix b/modules/nh/default.nix new file mode 100644 index 0000000..e202470 --- /dev/null +++ b/modules/nh/default.nix @@ -0,0 +1,9 @@ +{ config, pkgs, ... }: + +{ + programs.nh = { + enable = true; + clean.enable = true; + clean.extraArgs = "--keep-since 4d --keep 3"; + }; +} \ No newline at end of file diff --git a/modules/nixos/alienware/alienware.nix b/modules/nixos/alienware/alienware.nix index 2e8b5b4..82f339f 100644 --- a/modules/nixos/alienware/alienware.nix +++ b/modules/nixos/alienware/alienware.nix @@ -2,10 +2,6 @@ { imports = [ - ./hardware/cpu/tiger-lake.nix - ./hardware/gpu/nvidia.nix - ./hardware/ssd/ssd.nix - ./gaming.nix ./nh.nix ];