From 3660ef23f104679ed9853c625590fe3bab669b77 Mon Sep 17 00:00:00 2001 From: Nico Date: Sat, 3 May 2025 16:16:03 +1000 Subject: [PATCH] chore: organise modules Organise modules in a significantly better way with categories. --- flake.nix | 52 ++++++++++--------- .../darwin.nix} | 10 +--- .../default.nix} | 3 ++ modules/{ => browser}/firefox.nix | 0 .../desktop.nix => desktop/de/darwin.nix} | 0 modules/{linux => desktop/de}/gnome.nix | 0 modules/{linux => desktop/de}/hyprland.nix | 0 modules/{linux => desktop/de}/kde.nix | 0 modules/{linux => desktop/de}/niri.nix | 0 modules/{linux => desktop/de}/steamui.nix | 0 modules/desktop/default.nix | 12 +++++ modules/desktop/flatpak.nix | 5 ++ modules/{ => desktop}/fonts.nix | 0 .../login/autologin.nix} | 0 modules/desktop/pipewire.nix | 13 +++++ .../programs}/sketchybar.nix | 0 .../{darwin/games.nix => games/darwin.nix} | 2 +- modules/{games.nix => games/default.nix} | 0 modules/{linux/games.nix => games/linux.nix} | 5 +- .../hardware.nix => hardware/darwin.nix} | 0 modules/{linux => hardware}/secureboot.nix | 0 modules/linux/desktop.nix | 26 ---------- modules/linux/tailscale.nix | 8 --- modules/{linux => network}/avahi.nix | 0 .../firewall}/opensnitch.nix | 0 modules/{darwin => network/vpn}/tailscale.nix | 0 modules/{darwin/nix.nix => nix/darwin.nix} | 0 modules/{nix.nix => nix/linux.nix} | 0 modules/{linux => services}/glance.nix | 0 modules/{linux => services/media}/arr.nix | 7 --- modules/services/media/jellyfin.nix | 10 ++++ modules/{linux => services}/ssh.nix | 0 modules/{linux/users.nix => users/nico.nix} | 0 33 files changed, 77 insertions(+), 76 deletions(-) rename modules/{darwin/applications.nix => applications/darwin.nix} (89%) rename modules/{applications.nix => applications/default.nix} (80%) rename modules/{ => browser}/firefox.nix (100%) rename modules/{darwin/desktop.nix => desktop/de/darwin.nix} (100%) rename modules/{linux => desktop/de}/gnome.nix (100%) rename modules/{linux => desktop/de}/hyprland.nix (100%) rename modules/{linux => desktop/de}/kde.nix (100%) rename modules/{linux => desktop/de}/niri.nix (100%) rename modules/{linux => desktop/de}/steamui.nix (100%) create mode 100644 modules/desktop/default.nix create mode 100644 modules/desktop/flatpak.nix rename modules/{ => desktop}/fonts.nix (100%) rename modules/{linux/tuigreet.nix => desktop/login/autologin.nix} (100%) create mode 100644 modules/desktop/pipewire.nix rename modules/{darwin => desktop/programs}/sketchybar.nix (100%) rename modules/{darwin/games.nix => games/darwin.nix} (91%) rename modules/{games.nix => games/default.nix} (100%) rename modules/{linux/games.nix => games/linux.nix} (53%) rename modules/{darwin/hardware.nix => hardware/darwin.nix} (100%) rename modules/{linux => hardware}/secureboot.nix (100%) delete mode 100644 modules/linux/desktop.nix delete mode 100644 modules/linux/tailscale.nix rename modules/{linux => network}/avahi.nix (100%) rename modules/{linux => network/firewall}/opensnitch.nix (100%) rename modules/{darwin => network/vpn}/tailscale.nix (100%) rename modules/{darwin/nix.nix => nix/darwin.nix} (100%) rename modules/{nix.nix => nix/linux.nix} (100%) rename modules/{linux => services}/glance.nix (100%) rename modules/{linux => services/media}/arr.nix (88%) create mode 100644 modules/services/media/jellyfin.nix rename modules/{linux => services}/ssh.nix (100%) rename modules/{linux/users.nix => users/nico.nix} (100%) diff --git a/flake.nix b/flake.nix index 5a61ac2..7309263 100644 --- a/flake.nix +++ b/flake.nix @@ -20,25 +20,27 @@ modules = [ ./hosts/nixos-common.nix - ./modules/applications.nix - ./modules/firefox.nix - ./modules/fonts.nix - ./modules/linux/games.nix - ./modules/nix.nix + ./modules/applications/default.nix + ./modules/browser/firefox.nix + ./modules/games/linux.nix + ./modules/nix/linux.nix ./modules/shell.nix - ./modules/linux/arr.nix - ./modules/linux/glance.nix - ./modules/linux/avahi.nix -# ./modules/linux/tuigreet.nix - ./modules/linux/desktop.nix - ./modules/linux/ssh.nix - ./modules/linux/opensnitch.nix - ./modules/linux/hyprland.nix - ./modules/linux/tailscale.nix - ./modules/linux/niri.nix - ./modules/linux/users.nix - ./modules/linux/secureboot.nix + ./modules/desktop/default.nix + ./modules/desktop/de/hyprland.nix + ./modules/desktop/de/niri.nix + + ./modules/services/media/arr.nix + ./modules/services/media/jellyfin.nix + ./modules/services/glance.nix + ./modules/services/ssh.nix + + ./modules/network/avahi.nix + ./modules/network/firewall/opensnitch.nix + ./modules/network/vpn/tailscale.nix + + ./modules/users/nico.nix + ./modules/hardware/secureboot.nix lanzaboote.nixosModules.lanzaboote ./hosts/disko-desktop.nix @@ -51,16 +53,16 @@ darwinConfigurations.faye = nix-darwin.lib.darwinSystem { system = "aarch64-darwin"; modules = [ - ./modules/fonts.nix - ./modules/nix.nix + ./modules/desktop/fonts.nix + ./modules/nix/darwin.nix ./modules/shell.nix - ./modules/darwin/games.nix - ./modules/darwin/applications.nix - ./modules/darwin/desktop.nix - ./modules/darwin/hardware.nix - ./modules/darwin/nix.nix - ./modules/darwin/tailscale.nix + ./modules/games/darwin.nix + ./modules/applications/darwin.nix + ./modules/desktop/de/darwin.nix + ./modules/hardware/darwin.nix + ./modules/nix/darwin.nix + ./modules/network/vpn/tailscale.nix ./hosts/faye/conf.nix ]; diff --git a/modules/darwin/applications.nix b/modules/applications/darwin.nix similarity index 89% rename from modules/darwin/applications.nix rename to modules/applications/darwin.nix index fd8dd7f..83e8dc7 100644 --- a/modules/darwin/applications.nix +++ b/modules/applications/darwin.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: { - imports = [ ../applications.nix ]; + imports = [ ./default.nix ]; # dock system.defaults.dock.persistent-apps = [ @@ -23,13 +23,7 @@ "/Applications/Krita.app" "/Applications/Blender.app" "/Applications/OpenUTAU.app" - ]; - - # nix pkgs - environment.systemPackages = with pkgs; [ - iina - utm - ]; + ]; # homebrew pkgs homebrew = { diff --git a/modules/applications.nix b/modules/applications/default.nix similarity index 80% rename from modules/applications.nix rename to modules/applications/default.nix index 9da1b3e..a86f2e4 100644 --- a/modules/applications.nix +++ b/modules/applications/default.nix @@ -16,5 +16,8 @@ openutau obs-studio blender + ]) ++ lib.optionals pkgs.stdenv.isDarwin (with pkgs; [ + iina + utm ]); } diff --git a/modules/firefox.nix b/modules/browser/firefox.nix similarity index 100% rename from modules/firefox.nix rename to modules/browser/firefox.nix diff --git a/modules/darwin/desktop.nix b/modules/desktop/de/darwin.nix similarity index 100% rename from modules/darwin/desktop.nix rename to modules/desktop/de/darwin.nix diff --git a/modules/linux/gnome.nix b/modules/desktop/de/gnome.nix similarity index 100% rename from modules/linux/gnome.nix rename to modules/desktop/de/gnome.nix diff --git a/modules/linux/hyprland.nix b/modules/desktop/de/hyprland.nix similarity index 100% rename from modules/linux/hyprland.nix rename to modules/desktop/de/hyprland.nix diff --git a/modules/linux/kde.nix b/modules/desktop/de/kde.nix similarity index 100% rename from modules/linux/kde.nix rename to modules/desktop/de/kde.nix diff --git a/modules/linux/niri.nix b/modules/desktop/de/niri.nix similarity index 100% rename from modules/linux/niri.nix rename to modules/desktop/de/niri.nix diff --git a/modules/linux/steamui.nix b/modules/desktop/de/steamui.nix similarity index 100% rename from modules/linux/steamui.nix rename to modules/desktop/de/steamui.nix diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix new file mode 100644 index 0000000..002678f --- /dev/null +++ b/modules/desktop/default.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ./pipewire.nix + ./flatpak.nix + ./fonts.nix + ]; + + # Enable font dir for compatability + fonts.fontDir.enable = true; +} diff --git a/modules/desktop/flatpak.nix b/modules/desktop/flatpak.nix new file mode 100644 index 0000000..e785c3f --- /dev/null +++ b/modules/desktop/flatpak.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + services.flatpak.enable = true; +} diff --git a/modules/fonts.nix b/modules/desktop/fonts.nix similarity index 100% rename from modules/fonts.nix rename to modules/desktop/fonts.nix diff --git a/modules/linux/tuigreet.nix b/modules/desktop/login/autologin.nix similarity index 100% rename from modules/linux/tuigreet.nix rename to modules/desktop/login/autologin.nix diff --git a/modules/desktop/pipewire.nix b/modules/desktop/pipewire.nix new file mode 100644 index 0000000..fac7d65 --- /dev/null +++ b/modules/desktop/pipewire.nix @@ -0,0 +1,13 @@ +{ ... }: + +{ + # Enable sound. + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; +} diff --git a/modules/darwin/sketchybar.nix b/modules/desktop/programs/sketchybar.nix similarity index 100% rename from modules/darwin/sketchybar.nix rename to modules/desktop/programs/sketchybar.nix diff --git a/modules/darwin/games.nix b/modules/games/darwin.nix similarity index 91% rename from modules/darwin/games.nix rename to modules/games/darwin.nix index d6d7262..fd50a97 100644 --- a/modules/darwin/games.nix +++ b/modules/games/darwin.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: { - imports = [ ../games.nix ]; + imports = [ ./default.nix ]; homebrew.casks = [ "whisky" diff --git a/modules/games.nix b/modules/games/default.nix similarity index 100% rename from modules/games.nix rename to modules/games/default.nix diff --git a/modules/linux/games.nix b/modules/games/linux.nix similarity index 53% rename from modules/linux/games.nix rename to modules/games/linux.nix index 5c65493..d2520ec 100644 --- a/modules/linux/games.nix +++ b/modules/games/linux.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: { - imports = [ ../games.nix ]; + imports = [ ./default.nix ]; environment.systemPackages = with pkgs; [ heroic @@ -10,5 +10,8 @@ programs.steam = { enable = true; + extraPackages = [ pkgs.gamescope ]; + gamescopeSession.enable = true; + extest.enable = true; }; } diff --git a/modules/darwin/hardware.nix b/modules/hardware/darwin.nix similarity index 100% rename from modules/darwin/hardware.nix rename to modules/hardware/darwin.nix diff --git a/modules/linux/secureboot.nix b/modules/hardware/secureboot.nix similarity index 100% rename from modules/linux/secureboot.nix rename to modules/hardware/secureboot.nix diff --git a/modules/linux/desktop.nix b/modules/linux/desktop.nix deleted file mode 100644 index 79a86b6..0000000 --- a/modules/linux/desktop.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - # Enable sound. - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - }; - - # Applications - programs.steam = { - # doesn't do anything if steam isn't enabled so safe here - extraPackages = [ pkgs.gamescope ]; - gamescopeSession.enable = true; - extest.enable = true; - }; - - # Enable font dir for compatability - fonts.fontDir.enable = true; - - services.flatpak.enable = true; -} diff --git a/modules/linux/tailscale.nix b/modules/linux/tailscale.nix deleted file mode 100644 index 1e2d8a5..0000000 --- a/modules/linux/tailscale.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - services.tailscale = { - enable = true; - openFirewall = true; - }; -} diff --git a/modules/linux/avahi.nix b/modules/network/avahi.nix similarity index 100% rename from modules/linux/avahi.nix rename to modules/network/avahi.nix diff --git a/modules/linux/opensnitch.nix b/modules/network/firewall/opensnitch.nix similarity index 100% rename from modules/linux/opensnitch.nix rename to modules/network/firewall/opensnitch.nix diff --git a/modules/darwin/tailscale.nix b/modules/network/vpn/tailscale.nix similarity index 100% rename from modules/darwin/tailscale.nix rename to modules/network/vpn/tailscale.nix diff --git a/modules/darwin/nix.nix b/modules/nix/darwin.nix similarity index 100% rename from modules/darwin/nix.nix rename to modules/nix/darwin.nix diff --git a/modules/nix.nix b/modules/nix/linux.nix similarity index 100% rename from modules/nix.nix rename to modules/nix/linux.nix diff --git a/modules/linux/glance.nix b/modules/services/glance.nix similarity index 100% rename from modules/linux/glance.nix rename to modules/services/glance.nix diff --git a/modules/linux/arr.nix b/modules/services/media/arr.nix similarity index 88% rename from modules/linux/arr.nix rename to modules/services/media/arr.nix index 2b627f6..c51dbac 100644 --- a/modules/linux/arr.nix +++ b/modules/services/media/arr.nix @@ -45,13 +45,6 @@ }; - # Streaming frontend - services.jellyfin = { - enable = true; - openFirewall = true; - group = "media"; - }; - # Requesting Frontend services.jellyseerr = { enable = true; diff --git a/modules/services/media/jellyfin.nix b/modules/services/media/jellyfin.nix new file mode 100644 index 0000000..16e5fdc --- /dev/null +++ b/modules/services/media/jellyfin.nix @@ -0,0 +1,10 @@ +{ ... }: + +{ + # Streaming frontend + services.jellyfin = { + enable = true; + openFirewall = true; + group = "media"; + }; +} diff --git a/modules/linux/ssh.nix b/modules/services/ssh.nix similarity index 100% rename from modules/linux/ssh.nix rename to modules/services/ssh.nix diff --git a/modules/linux/users.nix b/modules/users/nico.nix similarity index 100% rename from modules/linux/users.nix rename to modules/users/nico.nix