From 6e967a751f7deb5d8e6a4cc52f9df396ca29925c Mon Sep 17 00:00:00 2001
From: Crony Akatsuki <crony@cronyakatsuki.xyz>
Date: Sun, 23 Mar 2025 20:01:51 +0100
Subject: [PATCH] feat: better modules aragement.

---
 flake.nix                                     |   7 +++--
 .../home-manager/configs/zsh-functions.zsh    |   0
 .../cross-platform/home-manager/default.nix   |  13 +++++++++
 .../home-manager/neovim.nix                   |   0
 .../home-manager/nvim/autocommands.lua        |   0
 .../home-manager/shell.nix                    |   0
 .../home-manager/tmux.nix                     |   0
 .../{ => cross-platform}/home-manager/zsh.nix |   0
 .../home-manager/browsers/chromium.nix        |   0
 .../home-manager/browsers/default.nix         |   0
 .../home-manager/browsers/librewolf.nix       |   0
 modules/{ => linux}/home-manager/default.nix  |  26 ++++++------------
 modules/{ => linux}/home-manager/desktop.nix  |   0
 .../{ => linux}/home-manager/emulators.nix    |   0
 modules/{ => linux}/home-manager/gaming.nix   |   0
 modules/{ => linux}/home-manager/hyprland.nix |   0
 modules/{ => linux}/home-manager/mangohud.nix |   0
 modules/{ => linux}/home-manager/mpv.nix      |   0
 modules/{ => linux}/home-manager/nh.nix       |   0
 modules/{ => linux}/home-manager/nnn.nix      |   0
 .../{ => linux}/home-manager/obs-studio.nix   |   0
 modules/{ => linux}/home-manager/restic.nix   |   0
 modules/{ => linux}/home-manager/scripts.nix  |   0
 .../home-manager/scripts/bin/cue2chd          |   0
 .../home-manager/scripts/bin/iso2chd          |   0
 .../home-manager/scripts/default.nix          |   0
 .../nixos/additional-hardware/default.nix     |   0
 .../additional-hardware/graphics-tablet.nix   |   0
 modules/{ => linux}/nixos/amdgpu.nix          |   0
 modules/{ => linux}/nixos/auto-cpufreq.nix    |   0
 modules/{ => linux}/nixos/background.png      | Bin
 modules/{ => linux}/nixos/bluetooth.nix       |   0
 modules/{ => linux}/nixos/default.nix         |   0
 .../{ => linux}/nixos/disable-hibernation.nix |   0
 modules/{ => linux}/nixos/gaming.nix          |   0
 .../{ => linux}/nixos/general-services.nix    |   0
 modules/{ => linux}/nixos/hyprland.nix        |   0
 modules/{ => linux}/nixos/nbfc.nix            |   0
 modules/{ => linux}/nixos/nfs-share.nix       |   0
 modules/{ => linux}/nixos/nvidia.nix          |   0
 modules/{ => linux}/nixos/plasma.nix          |   0
 modules/{ => linux}/nixos/qemu.nix            |   0
 modules/{ => linux}/nixos/ryzenadj.nix        |   0
 modules/{ => linux}/nixos/sddm.nix            |   0
 modules/{ => linux}/nixos/stylix.nix          |   0
 modules/{ => linux}/nixos/wallpaper.png       | Bin
 modules/{ => linux}/nixos/watchdog.nix        |   0
 modules/{ => linux}/nixos/wireguard.nix       |   0
 modules/{ => linux}/nixos/zsh.nix             |   0
 49 files changed, 27 insertions(+), 19 deletions(-)
 rename modules/{ => cross-platform}/home-manager/configs/zsh-functions.zsh (100%)
 create mode 100644 modules/cross-platform/home-manager/default.nix
 rename modules/{ => cross-platform}/home-manager/neovim.nix (100%)
 rename modules/{ => cross-platform}/home-manager/nvim/autocommands.lua (100%)
 rename modules/{ => cross-platform}/home-manager/shell.nix (100%)
 rename modules/{ => cross-platform}/home-manager/tmux.nix (100%)
 rename modules/{ => cross-platform}/home-manager/zsh.nix (100%)
 rename modules/{ => linux}/home-manager/browsers/chromium.nix (100%)
 rename modules/{ => linux}/home-manager/browsers/default.nix (100%)
 rename modules/{ => linux}/home-manager/browsers/librewolf.nix (100%)
 rename modules/{ => linux}/home-manager/default.nix (76%)
 rename modules/{ => linux}/home-manager/desktop.nix (100%)
 rename modules/{ => linux}/home-manager/emulators.nix (100%)
 rename modules/{ => linux}/home-manager/gaming.nix (100%)
 rename modules/{ => linux}/home-manager/hyprland.nix (100%)
 rename modules/{ => linux}/home-manager/mangohud.nix (100%)
 rename modules/{ => linux}/home-manager/mpv.nix (100%)
 rename modules/{ => linux}/home-manager/nh.nix (100%)
 rename modules/{ => linux}/home-manager/nnn.nix (100%)
 rename modules/{ => linux}/home-manager/obs-studio.nix (100%)
 rename modules/{ => linux}/home-manager/restic.nix (100%)
 rename modules/{ => linux}/home-manager/scripts.nix (100%)
 rename modules/{ => linux}/home-manager/scripts/bin/cue2chd (100%)
 rename modules/{ => linux}/home-manager/scripts/bin/iso2chd (100%)
 rename modules/{ => linux}/home-manager/scripts/default.nix (100%)
 rename modules/{ => linux}/nixos/additional-hardware/default.nix (100%)
 rename modules/{ => linux}/nixos/additional-hardware/graphics-tablet.nix (100%)
 rename modules/{ => linux}/nixos/amdgpu.nix (100%)
 rename modules/{ => linux}/nixos/auto-cpufreq.nix (100%)
 rename modules/{ => linux}/nixos/background.png (100%)
 rename modules/{ => linux}/nixos/bluetooth.nix (100%)
 rename modules/{ => linux}/nixos/default.nix (100%)
 rename modules/{ => linux}/nixos/disable-hibernation.nix (100%)
 rename modules/{ => linux}/nixos/gaming.nix (100%)
 rename modules/{ => linux}/nixos/general-services.nix (100%)
 rename modules/{ => linux}/nixos/hyprland.nix (100%)
 rename modules/{ => linux}/nixos/nbfc.nix (100%)
 rename modules/{ => linux}/nixos/nfs-share.nix (100%)
 rename modules/{ => linux}/nixos/nvidia.nix (100%)
 rename modules/{ => linux}/nixos/plasma.nix (100%)
 rename modules/{ => linux}/nixos/qemu.nix (100%)
 rename modules/{ => linux}/nixos/ryzenadj.nix (100%)
 rename modules/{ => linux}/nixos/sddm.nix (100%)
 rename modules/{ => linux}/nixos/stylix.nix (100%)
 rename modules/{ => linux}/nixos/wallpaper.png (100%)
 rename modules/{ => linux}/nixos/watchdog.nix (100%)
 rename modules/{ => linux}/nixos/wireguard.nix (100%)
 rename modules/{ => linux}/nixos/zsh.nix (100%)

diff --git a/flake.nix b/flake.nix
index f786205..4b20b12 100644
--- a/flake.nix
+++ b/flake.nix
@@ -89,7 +89,9 @@
         # Load updated auto-cpufreq
         auto-cpufreq.nixosModules.default
         # Load my modules
-        ./modules/nixos
+        ./modules/linux/nixos
+        # Still no specific modules here
+        # ./modules/cross-platform/nixos
         # Setup home manager for my user
         home-manager.nixosModules.home-manager
         {
@@ -99,7 +101,8 @@
           home-manager.users.crony = {
             imports = [
               ./hosts/nixos/home.nix
-              ./modules/home-manager
+              ./modules/linux/home-manager
+              ./modules/cross-platform/home-manager
             ];
           };
         }
diff --git a/modules/home-manager/configs/zsh-functions.zsh b/modules/cross-platform/home-manager/configs/zsh-functions.zsh
similarity index 100%
rename from modules/home-manager/configs/zsh-functions.zsh
rename to modules/cross-platform/home-manager/configs/zsh-functions.zsh
diff --git a/modules/cross-platform/home-manager/default.nix b/modules/cross-platform/home-manager/default.nix
new file mode 100644
index 0000000..1c01bef
--- /dev/null
+++ b/modules/cross-platform/home-manager/default.nix
@@ -0,0 +1,13 @@
+{lib, ...}: {
+  imports = [
+    ./neovim.nix
+    ./shell.nix
+    ./tmux.nix
+    ./zsh.nix
+  ];
+
+  crony.neovim.enable = lib.mkDefault true;
+  crony.shell.enable = lib.mkDefault true;
+  crony.tmux.enable = lib.mkDefault true;
+  crony.zsh.enable = lib.mkDefault true;
+}
diff --git a/modules/home-manager/neovim.nix b/modules/cross-platform/home-manager/neovim.nix
similarity index 100%
rename from modules/home-manager/neovim.nix
rename to modules/cross-platform/home-manager/neovim.nix
diff --git a/modules/home-manager/nvim/autocommands.lua b/modules/cross-platform/home-manager/nvim/autocommands.lua
similarity index 100%
rename from modules/home-manager/nvim/autocommands.lua
rename to modules/cross-platform/home-manager/nvim/autocommands.lua
diff --git a/modules/home-manager/shell.nix b/modules/cross-platform/home-manager/shell.nix
similarity index 100%
rename from modules/home-manager/shell.nix
rename to modules/cross-platform/home-manager/shell.nix
diff --git a/modules/home-manager/tmux.nix b/modules/cross-platform/home-manager/tmux.nix
similarity index 100%
rename from modules/home-manager/tmux.nix
rename to modules/cross-platform/home-manager/tmux.nix
diff --git a/modules/home-manager/zsh.nix b/modules/cross-platform/home-manager/zsh.nix
similarity index 100%
rename from modules/home-manager/zsh.nix
rename to modules/cross-platform/home-manager/zsh.nix
diff --git a/modules/home-manager/browsers/chromium.nix b/modules/linux/home-manager/browsers/chromium.nix
similarity index 100%
rename from modules/home-manager/browsers/chromium.nix
rename to modules/linux/home-manager/browsers/chromium.nix
diff --git a/modules/home-manager/browsers/default.nix b/modules/linux/home-manager/browsers/default.nix
similarity index 100%
rename from modules/home-manager/browsers/default.nix
rename to modules/linux/home-manager/browsers/default.nix
diff --git a/modules/home-manager/browsers/librewolf.nix b/modules/linux/home-manager/browsers/librewolf.nix
similarity index 100%
rename from modules/home-manager/browsers/librewolf.nix
rename to modules/linux/home-manager/browsers/librewolf.nix
diff --git a/modules/home-manager/default.nix b/modules/linux/home-manager/default.nix
similarity index 76%
rename from modules/home-manager/default.nix
rename to modules/linux/home-manager/default.nix
index 83775bf..34269a5 100644
--- a/modules/home-manager/default.nix
+++ b/modules/linux/home-manager/default.nix
@@ -1,27 +1,20 @@
 {lib, ...}: {
   imports = [
-    ./mangohud.nix
-    ./neovim.nix
-    ./zsh.nix
-    ./tmux.nix
-    ./nnn.nix
-    ./mpv.nix
-    ./obs-studio.nix
-    ./nh.nix
-    ./restic.nix
-    ./hyprland.nix
     ./browsers
-    ./shell.nix
-    ./scripts.nix
-    ./emulators.nix
     ./desktop.nix
+    ./emulators.nix
     ./gaming.nix
+    ./hyprland.nix
+    ./mangohud.nix
+    ./mpv.nix
+    ./nh.nix
+    ./nnn.nix
+    ./obs-studio.nix
+    ./restic.nix
+    ./scripts.nix
   ];
 
   crony.mangohud.enable = lib.mkDefault true;
-  crony.neovim.enable = lib.mkDefault true;
-  crony.zsh.enable = lib.mkDefault true;
-  crony.tmux.enable = lib.mkDefault true;
   crony.nnn.enable = lib.mkDefault true;
   crony.mpv.enable = lib.mkDefault true;
   crony.obs-studio.enable = lib.mkDefault true;
@@ -29,7 +22,6 @@
   crony.restic.enable = lib.mkDefault true;
   crony.hyprland.enable = lib.mkDefault true;
   crony.browsers.enable = lib.mkDefault true;
-  crony.shell.enable = lib.mkDefault true;
   crony.scripts.enable = lib.mkDefault true;
   crony.emulators.enable = lib.mkDefault true;
   crony.desktop.enable = lib.mkDefault true;
diff --git a/modules/home-manager/desktop.nix b/modules/linux/home-manager/desktop.nix
similarity index 100%
rename from modules/home-manager/desktop.nix
rename to modules/linux/home-manager/desktop.nix
diff --git a/modules/home-manager/emulators.nix b/modules/linux/home-manager/emulators.nix
similarity index 100%
rename from modules/home-manager/emulators.nix
rename to modules/linux/home-manager/emulators.nix
diff --git a/modules/home-manager/gaming.nix b/modules/linux/home-manager/gaming.nix
similarity index 100%
rename from modules/home-manager/gaming.nix
rename to modules/linux/home-manager/gaming.nix
diff --git a/modules/home-manager/hyprland.nix b/modules/linux/home-manager/hyprland.nix
similarity index 100%
rename from modules/home-manager/hyprland.nix
rename to modules/linux/home-manager/hyprland.nix
diff --git a/modules/home-manager/mangohud.nix b/modules/linux/home-manager/mangohud.nix
similarity index 100%
rename from modules/home-manager/mangohud.nix
rename to modules/linux/home-manager/mangohud.nix
diff --git a/modules/home-manager/mpv.nix b/modules/linux/home-manager/mpv.nix
similarity index 100%
rename from modules/home-manager/mpv.nix
rename to modules/linux/home-manager/mpv.nix
diff --git a/modules/home-manager/nh.nix b/modules/linux/home-manager/nh.nix
similarity index 100%
rename from modules/home-manager/nh.nix
rename to modules/linux/home-manager/nh.nix
diff --git a/modules/home-manager/nnn.nix b/modules/linux/home-manager/nnn.nix
similarity index 100%
rename from modules/home-manager/nnn.nix
rename to modules/linux/home-manager/nnn.nix
diff --git a/modules/home-manager/obs-studio.nix b/modules/linux/home-manager/obs-studio.nix
similarity index 100%
rename from modules/home-manager/obs-studio.nix
rename to modules/linux/home-manager/obs-studio.nix
diff --git a/modules/home-manager/restic.nix b/modules/linux/home-manager/restic.nix
similarity index 100%
rename from modules/home-manager/restic.nix
rename to modules/linux/home-manager/restic.nix
diff --git a/modules/home-manager/scripts.nix b/modules/linux/home-manager/scripts.nix
similarity index 100%
rename from modules/home-manager/scripts.nix
rename to modules/linux/home-manager/scripts.nix
diff --git a/modules/home-manager/scripts/bin/cue2chd b/modules/linux/home-manager/scripts/bin/cue2chd
similarity index 100%
rename from modules/home-manager/scripts/bin/cue2chd
rename to modules/linux/home-manager/scripts/bin/cue2chd
diff --git a/modules/home-manager/scripts/bin/iso2chd b/modules/linux/home-manager/scripts/bin/iso2chd
similarity index 100%
rename from modules/home-manager/scripts/bin/iso2chd
rename to modules/linux/home-manager/scripts/bin/iso2chd
diff --git a/modules/home-manager/scripts/default.nix b/modules/linux/home-manager/scripts/default.nix
similarity index 100%
rename from modules/home-manager/scripts/default.nix
rename to modules/linux/home-manager/scripts/default.nix
diff --git a/modules/nixos/additional-hardware/default.nix b/modules/linux/nixos/additional-hardware/default.nix
similarity index 100%
rename from modules/nixos/additional-hardware/default.nix
rename to modules/linux/nixos/additional-hardware/default.nix
diff --git a/modules/nixos/additional-hardware/graphics-tablet.nix b/modules/linux/nixos/additional-hardware/graphics-tablet.nix
similarity index 100%
rename from modules/nixos/additional-hardware/graphics-tablet.nix
rename to modules/linux/nixos/additional-hardware/graphics-tablet.nix
diff --git a/modules/nixos/amdgpu.nix b/modules/linux/nixos/amdgpu.nix
similarity index 100%
rename from modules/nixos/amdgpu.nix
rename to modules/linux/nixos/amdgpu.nix
diff --git a/modules/nixos/auto-cpufreq.nix b/modules/linux/nixos/auto-cpufreq.nix
similarity index 100%
rename from modules/nixos/auto-cpufreq.nix
rename to modules/linux/nixos/auto-cpufreq.nix
diff --git a/modules/nixos/background.png b/modules/linux/nixos/background.png
similarity index 100%
rename from modules/nixos/background.png
rename to modules/linux/nixos/background.png
diff --git a/modules/nixos/bluetooth.nix b/modules/linux/nixos/bluetooth.nix
similarity index 100%
rename from modules/nixos/bluetooth.nix
rename to modules/linux/nixos/bluetooth.nix
diff --git a/modules/nixos/default.nix b/modules/linux/nixos/default.nix
similarity index 100%
rename from modules/nixos/default.nix
rename to modules/linux/nixos/default.nix
diff --git a/modules/nixos/disable-hibernation.nix b/modules/linux/nixos/disable-hibernation.nix
similarity index 100%
rename from modules/nixos/disable-hibernation.nix
rename to modules/linux/nixos/disable-hibernation.nix
diff --git a/modules/nixos/gaming.nix b/modules/linux/nixos/gaming.nix
similarity index 100%
rename from modules/nixos/gaming.nix
rename to modules/linux/nixos/gaming.nix
diff --git a/modules/nixos/general-services.nix b/modules/linux/nixos/general-services.nix
similarity index 100%
rename from modules/nixos/general-services.nix
rename to modules/linux/nixos/general-services.nix
diff --git a/modules/nixos/hyprland.nix b/modules/linux/nixos/hyprland.nix
similarity index 100%
rename from modules/nixos/hyprland.nix
rename to modules/linux/nixos/hyprland.nix
diff --git a/modules/nixos/nbfc.nix b/modules/linux/nixos/nbfc.nix
similarity index 100%
rename from modules/nixos/nbfc.nix
rename to modules/linux/nixos/nbfc.nix
diff --git a/modules/nixos/nfs-share.nix b/modules/linux/nixos/nfs-share.nix
similarity index 100%
rename from modules/nixos/nfs-share.nix
rename to modules/linux/nixos/nfs-share.nix
diff --git a/modules/nixos/nvidia.nix b/modules/linux/nixos/nvidia.nix
similarity index 100%
rename from modules/nixos/nvidia.nix
rename to modules/linux/nixos/nvidia.nix
diff --git a/modules/nixos/plasma.nix b/modules/linux/nixos/plasma.nix
similarity index 100%
rename from modules/nixos/plasma.nix
rename to modules/linux/nixos/plasma.nix
diff --git a/modules/nixos/qemu.nix b/modules/linux/nixos/qemu.nix
similarity index 100%
rename from modules/nixos/qemu.nix
rename to modules/linux/nixos/qemu.nix
diff --git a/modules/nixos/ryzenadj.nix b/modules/linux/nixos/ryzenadj.nix
similarity index 100%
rename from modules/nixos/ryzenadj.nix
rename to modules/linux/nixos/ryzenadj.nix
diff --git a/modules/nixos/sddm.nix b/modules/linux/nixos/sddm.nix
similarity index 100%
rename from modules/nixos/sddm.nix
rename to modules/linux/nixos/sddm.nix
diff --git a/modules/nixos/stylix.nix b/modules/linux/nixos/stylix.nix
similarity index 100%
rename from modules/nixos/stylix.nix
rename to modules/linux/nixos/stylix.nix
diff --git a/modules/nixos/wallpaper.png b/modules/linux/nixos/wallpaper.png
similarity index 100%
rename from modules/nixos/wallpaper.png
rename to modules/linux/nixos/wallpaper.png
diff --git a/modules/nixos/watchdog.nix b/modules/linux/nixos/watchdog.nix
similarity index 100%
rename from modules/nixos/watchdog.nix
rename to modules/linux/nixos/watchdog.nix
diff --git a/modules/nixos/wireguard.nix b/modules/linux/nixos/wireguard.nix
similarity index 100%
rename from modules/nixos/wireguard.nix
rename to modules/linux/nixos/wireguard.nix
diff --git a/modules/nixos/zsh.nix b/modules/linux/nixos/zsh.nix
similarity index 100%
rename from modules/nixos/zsh.nix
rename to modules/linux/nixos/zsh.nix