diff --git a/Makefile b/Makefile index ff9d4d0f..2307d7b4 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ i3: nixos-rebuild switch --flake .#ai_i3 --use-remote-sudo s-i3: - nixos-rebuild switch --flake .#shoekei_i3 --use-remote-sudo + nixos-rebuild switch --flake .#shoukei_i3 --use-remote-sudo hypr: nixos-rebuild switch --flake .#ai_hyprland --use-remote-sudo diff --git a/home/linux/desktop/i3/dual-monitor-4k-1080p.sh b/home/linux/desktop/i3/conf/dual-monitor-4k-1080p.sh similarity index 100% rename from home/linux/desktop/i3/dual-monitor-4k-1080p.sh rename to home/linux/desktop/i3/conf/dual-monitor-4k-1080p.sh diff --git a/home/linux/desktop/i3/i3-config b/home/linux/desktop/i3/conf/i3-config similarity index 100% rename from home/linux/desktop/i3/i3-config rename to home/linux/desktop/i3/conf/i3-config diff --git a/home/linux/desktop/i3/i3blocks.conf b/home/linux/desktop/i3/conf/i3blocks.conf similarity index 100% rename from home/linux/desktop/i3/i3blocks.conf rename to home/linux/desktop/i3/conf/i3blocks.conf diff --git a/home/linux/desktop/i3/layouts/README.md b/home/linux/desktop/i3/conf/layouts/README.md similarity index 100% rename from home/linux/desktop/i3/layouts/README.md rename to home/linux/desktop/i3/conf/layouts/README.md diff --git a/home/linux/desktop/i3/layouts/idols-monitor.json b/home/linux/desktop/i3/conf/layouts/idols-monitor.json similarity index 100% rename from home/linux/desktop/i3/layouts/idols-monitor.json rename to home/linux/desktop/i3/conf/layouts/idols-monitor.json diff --git a/home/linux/desktop/i3/rofi-conf/arc_dark_colors.rasi b/home/linux/desktop/i3/conf/rofi/arc_dark_colors.rasi similarity index 100% rename from home/linux/desktop/i3/rofi-conf/arc_dark_colors.rasi rename to home/linux/desktop/i3/conf/rofi/arc_dark_colors.rasi diff --git a/home/linux/desktop/i3/rofi-conf/arc_dark_transparent_colors.rasi b/home/linux/desktop/i3/conf/rofi/arc_dark_transparent_colors.rasi similarity index 100% rename from home/linux/desktop/i3/rofi-conf/arc_dark_transparent_colors.rasi rename to home/linux/desktop/i3/conf/rofi/arc_dark_transparent_colors.rasi diff --git a/home/linux/desktop/i3/rofi-conf/power-profiles.rasi b/home/linux/desktop/i3/conf/rofi/power-profiles.rasi similarity index 100% rename from home/linux/desktop/i3/rofi-conf/power-profiles.rasi rename to home/linux/desktop/i3/conf/rofi/power-profiles.rasi diff --git a/home/linux/desktop/i3/rofi-conf/powermenu.rasi b/home/linux/desktop/i3/conf/rofi/powermenu.rasi similarity index 100% rename from home/linux/desktop/i3/rofi-conf/powermenu.rasi rename to home/linux/desktop/i3/conf/rofi/powermenu.rasi diff --git a/home/linux/desktop/i3/rofi-conf/rofidmenu.rasi b/home/linux/desktop/i3/conf/rofi/rofidmenu.rasi similarity index 100% rename from home/linux/desktop/i3/rofi-conf/rofidmenu.rasi rename to home/linux/desktop/i3/conf/rofi/rofidmenu.rasi diff --git a/home/linux/desktop/i3/rofi-conf/rofikeyhint.rasi b/home/linux/desktop/i3/conf/rofi/rofikeyhint.rasi similarity index 100% rename from home/linux/desktop/i3/rofi-conf/rofikeyhint.rasi rename to home/linux/desktop/i3/conf/rofi/rofikeyhint.rasi diff --git a/home/linux/desktop/i3/scripts/README.md b/home/linux/desktop/i3/conf/scripts/README.md similarity index 100% rename from home/linux/desktop/i3/scripts/README.md rename to home/linux/desktop/i3/conf/scripts/README.md diff --git a/home/linux/desktop/i3/scripts/bandwidth b/home/linux/desktop/i3/conf/scripts/bandwidth similarity index 100% rename from home/linux/desktop/i3/scripts/bandwidth rename to home/linux/desktop/i3/conf/scripts/bandwidth diff --git a/home/linux/desktop/i3/scripts/blur-lock b/home/linux/desktop/i3/conf/scripts/blur-lock similarity index 100% rename from home/linux/desktop/i3/scripts/blur-lock rename to home/linux/desktop/i3/conf/scripts/blur-lock diff --git a/home/linux/desktop/i3/scripts/empty_workspace b/home/linux/desktop/i3/conf/scripts/empty_workspace similarity index 100% rename from home/linux/desktop/i3/scripts/empty_workspace rename to home/linux/desktop/i3/conf/scripts/empty_workspace diff --git a/home/linux/desktop/i3/scripts/power-profiles b/home/linux/desktop/i3/conf/scripts/power-profiles similarity index 100% rename from home/linux/desktop/i3/scripts/power-profiles rename to home/linux/desktop/i3/conf/scripts/power-profiles diff --git a/home/linux/desktop/i3/scripts/powermenu b/home/linux/desktop/i3/conf/scripts/powermenu similarity index 100% rename from home/linux/desktop/i3/scripts/powermenu rename to home/linux/desktop/i3/conf/scripts/powermenu diff --git a/home/linux/desktop/i3/scripts/restore-idols-monitor.sh b/home/linux/desktop/i3/conf/scripts/restore-idols-monitor.sh similarity index 100% rename from home/linux/desktop/i3/scripts/restore-idols-monitor.sh rename to home/linux/desktop/i3/conf/scripts/restore-idols-monitor.sh diff --git a/home/linux/desktop/i3/default.nix b/home/linux/desktop/i3/default.nix index 0f266af5..3520023a 100644 --- a/home/linux/desktop/i3/default.nix +++ b/home/linux/desktop/i3/default.nix @@ -8,7 +8,7 @@ with lib; let cfg = config.modules.desktop.i3; in { imports = [ - ./nvidia.nix + ./options ]; options.modules.desktop.i3 = { @@ -16,13 +16,6 @@ in { }; config = mkIf cfg.enable ( - mkMerge - (map - (path: import path args) - [ - ./i3.nix - ./packages.nix - ./x11-apps.nix - ]) + mkMerge (import ./values args) ); } diff --git a/home/linux/desktop/i3/options/default.nix b/home/linux/desktop/i3/options/default.nix new file mode 100644 index 00000000..eeb48a40 --- /dev/null +++ b/home/linux/desktop/i3/options/default.nix @@ -0,0 +1,3 @@ +{mylib, ...}: { + imports = mylib.scanPaths ./.; +} diff --git a/home/linux/desktop/i3/nvidia.nix b/home/linux/desktop/i3/options/nvidia.nix similarity index 100% rename from home/linux/desktop/i3/nvidia.nix rename to home/linux/desktop/i3/options/nvidia.nix diff --git a/home/linux/desktop/i3/values/default.nix b/home/linux/desktop/i3/values/default.nix new file mode 100644 index 00000000..0e13748d --- /dev/null +++ b/home/linux/desktop/i3/values/default.nix @@ -0,0 +1,4 @@ +{mylib, ...} @ args: +map +(path: import path args) +(mylib.scanPaths ./.) diff --git a/home/linux/desktop/i3/i3.nix b/home/linux/desktop/i3/values/i3.nix similarity index 79% rename from home/linux/desktop/i3/i3.nix rename to home/linux/desktop/i3/values/i3.nix index f5c01892..2f87ac4e 100644 --- a/home/linux/desktop/i3/i3.nix +++ b/home/linux/desktop/i3/values/i3.nix @@ -9,7 +9,7 @@ _: { enable = true; windowManager.i3 = { enable = true; - extraConfig = builtins.readFile ./i3-config; + extraConfig = builtins.readFile ../conf/i3-config; }; # Path, relative to HOME, where Home Manager should write the X session script. # and NixOS will use it to start xorg session when system boot up @@ -17,20 +17,20 @@ _: { }; xdg.configFile = { - "i3/i3blocks.conf".source = ./i3blocks.conf; + "i3/i3blocks.conf".source = ../conf/i3blocks.conf; "i3/scripts" = { - source = ./scripts; + source = ../conf/scripts; # copy the scripts directory recursively recursive = true; executable = true; # make all scripts executable }; "i3/layouts" = { - source = ./layouts; + source = ../conf/layouts; recursive = true; }; # rofi is a application launcher and dmenu replacement "rofi" = { - source = ./rofi-conf; + source = ../conf/rofi; # copy the scripts directory recursively recursive = true; }; @@ -38,16 +38,16 @@ _: { home.file = { ".local/bin/bright" = { - source = ./bin/bright; + source = ../bin/bright; executable = true; }; ".local/bin/logout" = { - source = ./bin/logout; + source = ../bin/logout; executable = true; }; # xrandr - set primary screen - ".screenlayout/monitor.sh".source = ./dual-monitor-4k-1080p.sh; + ".screenlayout/monitor.sh".source = ../conf/dual-monitor-4k-1080p.sh; }; # allow fontconfig to discover fonts and configurations installed through home.packages diff --git a/home/linux/desktop/i3/packages.nix b/home/linux/desktop/i3/values/packages.nix similarity index 91% rename from home/linux/desktop/i3/packages.nix rename to home/linux/desktop/i3/values/packages.nix index 60b95b5e..833efe6d 100644 --- a/home/linux/desktop/i3/packages.nix +++ b/home/linux/desktop/i3/values/packages.nix @@ -10,6 +10,7 @@ picom # transparency and shadows feh # set wallpaper xcolor # color picker + xsel # for clipboard support in x11, required by tmux's clipboard support acpi # battery information arandr # screen layout manager diff --git a/home/linux/desktop/i3/x11-apps.nix b/home/linux/desktop/i3/values/x11-apps.nix similarity index 88% rename from home/linux/desktop/i3/x11-apps.nix rename to home/linux/desktop/i3/values/x11-apps.nix index cb22f208..4ea61f7a 100644 --- a/home/linux/desktop/i3/x11-apps.nix +++ b/home/linux/desktop/i3/values/x11-apps.nix @@ -1,7 +1,6 @@ {pkgs, ...}: { home.packages = with pkgs; [ firefox - xsel # for clipboard support in x11, required by tmux's clipboard support ]; # TODO vscode & chrome both have wayland support, but they don't work with fcitx5, need to fix it. diff --git a/systems/nixos.nix b/systems/nixos.nix index 8b159971..e98caa2e 100644 --- a/systems/nixos.nix +++ b/systems/nixos.nix @@ -16,7 +16,7 @@ in { ai_hyprland = nixosSystem (idol_ai_modules_hyprland // base_args); # shoukei - shoukei_ie = nixosSystem (_12kingdoms_shoukei_modules_i3 // base_args); + shoukei_i3 = nixosSystem (_12kingdoms_shoukei_modules_i3 // base_args); shoukei_hyprland = nixosSystem (_12kingdoms_shoukei_modules_hyprland // base_args); # three virtual machines without desktop environment.