From 00b46789d6a5e922d7aade3780a4285d7024588d Mon Sep 17 00:00:00 2001 From: Bryan Ramos Date: Wed, 15 May 2024 21:00:37 -0400 Subject: [PATCH] wm.sway module --- .../desktop/modules/home-manager/home.nix | 2 +- src/system/machines/workstation/home.nix | 2 +- src/user/configs/default.nix | 2 +- src/user/configs/wallpapers | 1 + src/user/modules/bash/config/alias.nix | 2 +- src/user/modules/bash/default.nix | 8 ++++++-- src/user/modules/default.nix | 19 +++++++----------- src/user/modules/gui/default.nix | 1 - .../modules/gui/modules/alacritty/default.nix | 7 ++++++- src/user/modules/gui/modules/default.nix | 1 + .../{ => modules}/wallpapers/mountains.jpg | Bin .../wm}/default.nix | 0 .../wm}/sway/config/rofi.nix | 0 .../wm}/sway/config/shellHook.nix | 0 .../wm}/sway/config/sway.nix | 8 ++++++-- .../gui/modules/wm/sway/config/wallpapers | 1 + .../wm}/sway/default.nix | 9 ++------- 17 files changed, 34 insertions(+), 29 deletions(-) create mode 120000 src/user/configs/wallpapers rename src/user/modules/gui/{ => modules}/wallpapers/mountains.jpg (100%) rename src/user/modules/gui/{desktopEnvironments => modules/wm}/default.nix (100%) rename src/user/modules/gui/{desktopEnvironments => modules/wm}/sway/config/rofi.nix (100%) rename src/user/modules/gui/{desktopEnvironments => modules/wm}/sway/config/shellHook.nix (100%) rename src/user/modules/gui/{desktopEnvironments => modules/wm}/sway/config/sway.nix (91%) create mode 120000 src/user/modules/gui/modules/wm/sway/config/wallpapers rename src/user/modules/gui/{desktopEnvironments => modules/wm}/sway/default.nix (82%) diff --git a/src/system/machines/desktop/modules/home-manager/home.nix b/src/system/machines/desktop/modules/home-manager/home.nix index edf0a10..6bc5c53 100644 --- a/src/system/machines/desktop/modules/home-manager/home.nix +++ b/src/system/machines/desktop/modules/home-manager/home.nix @@ -32,7 +32,7 @@ }; gui = { - sway.enable = true; + wm.sway.enable = true; alacritty.enable = true; browsers.enable = true; corn.enable = true; diff --git a/src/system/machines/workstation/home.nix b/src/system/machines/workstation/home.nix index 1a564c6..3aa0625 100644 --- a/src/system/machines/workstation/home.nix +++ b/src/system/machines/workstation/home.nix @@ -34,7 +34,7 @@ }; gui = { - sway.enable = true; + wm.sway.enable = true; alacritty.enable = true; browsers.enable = true; neovim.enable = true; diff --git a/src/user/configs/default.nix b/src/user/configs/default.nix index b447992..9eddd80 100644 --- a/src/user/configs/default.nix +++ b/src/user/configs/default.nix @@ -9,7 +9,7 @@ userConfigs = rec { email = "bryan@ramos.codes"; shell = pkgs.bash; - # Image name from ~Pictures/wallpapers directory + # From wallpapers directory wallpaper = "mountains.jpg"; groups = [ "wheel" "networkmanager" "home-manager" "input" ]; diff --git a/src/user/configs/wallpapers b/src/user/configs/wallpapers new file mode 120000 index 0000000..c7f81f9 --- /dev/null +++ b/src/user/configs/wallpapers @@ -0,0 +1 @@ +../modules/gui/modules/wm/sway/config/wallpapers/ \ No newline at end of file diff --git a/src/user/modules/bash/config/alias.nix b/src/user/modules/bash/config/alias.nix index 24b311f..0fb5908 100644 --- a/src/user/modules/bash/config/alias.nix +++ b/src/user/modules/bash/config/alias.nix @@ -1,4 +1,4 @@ -{ lib }: +{ lib, ... }: with lib; { diff --git a/src/user/modules/bash/default.nix b/src/user/modules/bash/default.nix index d823eed..6eb15bf 100644 --- a/src/user/modules/bash/default.nix +++ b/src/user/modules/bash/default.nix @@ -3,7 +3,11 @@ with lib; let cfg = config.modules.user.bash; - gui = config.modules.user.gui.sway; + gui = config.modules.user.gui.wm; + + wm = { + enable = builtins.any (mod: mod.enable or false) (builtins.attrValues gui); + }; in { options.modules.user.bash = { enable = mkEnableOption "user.bash"; }; @@ -22,7 +26,7 @@ in eza = { enable = true; enableAliases = true; - } // optionalAttrs gui.enable { + } // optionalAttrs wm.enable { icons = true; }; }; diff --git a/src/user/modules/default.nix b/src/user/modules/default.nix index 7126bfd..01abb97 100644 --- a/src/user/modules/default.nix +++ b/src/user/modules/default.nix @@ -1,14 +1,9 @@ -{ lib, ... }: - -with lib; -let - mkModules = dir: recursiveUpdate - (attrsets.mapAttrs (_: moduleDir: { - inherit (moduleDir) default; - }) (filterAttrs (n: v: isAttrs v) (attrsets.mapAttrs (_: v: builtins.readDir v) dir))) - { inherit (dir) default; }; - -in { - imports = mkModules ./.; + imports = [ + ./bash + ./git + ./gui + ./security + ./utils + ]; } diff --git a/src/user/modules/gui/default.nix b/src/user/modules/gui/default.nix index 1ed120c..6fa08dd 100644 --- a/src/user/modules/gui/default.nix +++ b/src/user/modules/gui/default.nix @@ -1,6 +1,5 @@ { imports = [ - ./desktopEnvironments ./modules ]; } diff --git a/src/user/modules/gui/modules/alacritty/default.nix b/src/user/modules/gui/modules/alacritty/default.nix index 1f96567..23a4467 100644 --- a/src/user/modules/gui/modules/alacritty/default.nix +++ b/src/user/modules/gui/modules/alacritty/default.nix @@ -3,10 +3,15 @@ with lib; let cfg = config.modules.user.gui.alacritty; + gui = config.modules.user.gui.wm; + + wm = { + enable = builtins.any (mod: mod.enable or false) (builtins.attrValues gui); + }; in { options.modules.user.gui.alacritty = { enable = mkEnableOption "user.gui.alacritty"; }; - config = mkIf cfg.enable { + config = mkIf (cfg.enable && wm.enable) { programs.alacritty = { enable = true; settings = import ./config/alacritty.nix; diff --git a/src/user/modules/gui/modules/default.nix b/src/user/modules/gui/modules/default.nix index 86e7558..5227a48 100644 --- a/src/user/modules/gui/modules/default.nix +++ b/src/user/modules/gui/modules/default.nix @@ -6,5 +6,6 @@ ./fun ./utils ./writing + ./wm ]; } diff --git a/src/user/modules/gui/wallpapers/mountains.jpg b/src/user/modules/gui/modules/wallpapers/mountains.jpg similarity index 100% rename from src/user/modules/gui/wallpapers/mountains.jpg rename to src/user/modules/gui/modules/wallpapers/mountains.jpg diff --git a/src/user/modules/gui/desktopEnvironments/default.nix b/src/user/modules/gui/modules/wm/default.nix similarity index 100% rename from src/user/modules/gui/desktopEnvironments/default.nix rename to src/user/modules/gui/modules/wm/default.nix diff --git a/src/user/modules/gui/desktopEnvironments/sway/config/rofi.nix b/src/user/modules/gui/modules/wm/sway/config/rofi.nix similarity index 100% rename from src/user/modules/gui/desktopEnvironments/sway/config/rofi.nix rename to src/user/modules/gui/modules/wm/sway/config/rofi.nix diff --git a/src/user/modules/gui/desktopEnvironments/sway/config/shellHook.nix b/src/user/modules/gui/modules/wm/sway/config/shellHook.nix similarity index 100% rename from src/user/modules/gui/desktopEnvironments/sway/config/shellHook.nix rename to src/user/modules/gui/modules/wm/sway/config/shellHook.nix diff --git a/src/user/modules/gui/desktopEnvironments/sway/config/sway.nix b/src/user/modules/gui/modules/wm/sway/config/sway.nix similarity index 91% rename from src/user/modules/gui/desktopEnvironments/sway/config/sway.nix rename to src/user/modules/gui/modules/wm/sway/config/sway.nix index 5826473..838f67f 100644 --- a/src/user/modules/gui/desktopEnvironments/sway/config/sway.nix +++ b/src/user/modules/gui/modules/wm/sway/config/sway.nix @@ -2,6 +2,10 @@ let modifier = config.wayland.windowManager.sway.config.modifier; + wallpapers = builtins.path { + path = ./wallpapers; + name = "wallpapers"; + }; in { enable = true; @@ -17,13 +21,13 @@ in HDMI-A-1 = { resolution = "1920x1080"; position = "0,0"; - bg = "~/Pictures/wallpapers/${config.user.wallpaper} fill"; + bg = "${wallpapers}/${config.user.wallpaper} fill"; }; DP-1 = { resolution = "1080x1920"; position = "1920,0"; transform = "90"; - bg = "~/Pictures/wallpapers/${config.user.wallpaper} fill"; + bg = "${wallpapers}/${config.user.wallpaper} fill"; }; }; modifier = "Mod1"; diff --git a/src/user/modules/gui/modules/wm/sway/config/wallpapers b/src/user/modules/gui/modules/wm/sway/config/wallpapers new file mode 120000 index 0000000..737c03c --- /dev/null +++ b/src/user/modules/gui/modules/wm/sway/config/wallpapers @@ -0,0 +1 @@ +../../../wallpapers/ \ No newline at end of file diff --git a/src/user/modules/gui/desktopEnvironments/sway/default.nix b/src/user/modules/gui/modules/wm/sway/default.nix similarity index 82% rename from src/user/modules/gui/desktopEnvironments/sway/default.nix rename to src/user/modules/gui/modules/wm/sway/default.nix index 1aedb9a..2968f3a 100644 --- a/src/user/modules/gui/desktopEnvironments/sway/default.nix +++ b/src/user/modules/gui/modules/wm/sway/default.nix @@ -2,10 +2,10 @@ with lib; let - cfg = config.modules.user.gui.sway; + cfg = config.modules.user.gui.wm.sway; in -{ options.modules.user.gui.sway = { enable = mkEnableOption "user.gui.sway"; }; +{ options.modules.user.gui.wm.sway = { enable = mkEnableOption "user.gui.wm.sway"; }; config = mkIf cfg.enable { wayland.windowManager.sway = import ./config/sway.nix { inherit pkgs config lib; }; programs.rofi = import ./config/rofi.nix { inherit pkgs config lib; }; @@ -55,10 +55,5 @@ in }; fonts.fontconfig.enable = true; - - home.file."Pictures/wallpapers" = { - source = ../../wallpapers; - recursive = true; - }; }; }