aboutsummaryrefslogtreecommitdiff
path: root/modules/desktop/hjem/wm
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-08 14:01:35 -0500
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-08 14:01:35 -0500
commit7e7c8947fc2ff5598124c4a4c18bd28432fa017e (patch)
tree18ada198e818600e3be4b5412424f71c3149f4cd /modules/desktop/hjem/wm
parent9497b67ef9e6f397ba146cc4c12fec8e9ecae7b2 (diff)
rework most of config; probably broke jupiter again; working to add ganymede (non-nixos) to this repo
Diffstat (limited to 'modules/desktop/hjem/wm')
-rw-r--r--modules/desktop/hjem/wm/dunst.nix36
-rw-r--r--modules/desktop/hjem/wm/fuzzel.nix49
-rw-r--r--modules/desktop/hjem/wm/sway.nix110
3 files changed, 195 insertions, 0 deletions
diff --git a/modules/desktop/hjem/wm/dunst.nix b/modules/desktop/hjem/wm/dunst.nix
new file mode 100644
index 0000000..38a8240
--- /dev/null
+++ b/modules/desktop/hjem/wm/dunst.nix
@@ -0,0 +1,36 @@
+{
+ lib,
+ config,
+ pkgs,
+ ...
+}: let
+ cfg = config.collinux.desktop.sway.components.dunst;
+
+ settings = ''
+ [global]
+ frame_color = "#89b4fa"
+ separator_color = frame
+ highlight = "#89b4fa"
+ offset = "(8,8)"
+ origin = "top-right"
+ transparency = 10
+ font = "Iosevka Nerd Font"
+
+ [urgency_low]
+ background = "#1e1e2e"
+ foreground = "#cdd6f4"
+
+ [urgency_normal]
+ background = "#1e1e2e"
+ foreground = "#cdd6f4"
+
+ [urgency_critical]
+ background = "#1e1e2e"
+ foreground = "#cdd6f4"
+ frame_color = "#fab387"
+ '';
+in
+ lib.mkIf cfg.enable {
+ files.".config/dunst/dunstrc".text = settings;
+ packages = with pkgs; [dunst inotify-tools];
+ }
diff --git a/modules/desktop/hjem/wm/fuzzel.nix b/modules/desktop/hjem/wm/fuzzel.nix
new file mode 100644
index 0000000..7b9d075
--- /dev/null
+++ b/modules/desktop/hjem/wm/fuzzel.nix
@@ -0,0 +1,49 @@
+{
+ lib,
+ config,
+ pkgs,
+ ...
+}: let
+ cfg = config.collinux.desktop.sway.components.fuzzel;
+
+ settings = {
+ main = {
+ prompt = "";
+ dpi-aware = false;
+
+ font = "Iosevka Nerd Font";
+ line-height = 25;
+ lines = 10;
+ width = 30;
+
+ horizontal-pad = 8;
+ vertical-pad = 8;
+ };
+ border = {
+ radius = 0;
+ width = 2;
+ };
+
+ colors = {
+ background = "1e1e2edd";
+ text = "cdd6f4ff";
+ prompt = "bac2deff";
+ placeholder = "7f849cff";
+ input = "cdd6f4ff";
+ match = "89b4faff";
+ selection = "585b70ff";
+ selection-text = "cdd6f4ff";
+ selection-match = "89b4faff";
+ counter = "7f849cff";
+ border = "89b4faff";
+ };
+ };
+in
+ lib.mkIf cfg.enable {
+ files.".config/fuzzel/fuzzel.ini" = {
+ generator = lib.generators.toINI {};
+ value = settings;
+ };
+
+ packages = [pkgs.fuzzel];
+ }
diff --git a/modules/desktop/hjem/wm/sway.nix b/modules/desktop/hjem/wm/sway.nix
new file mode 100644
index 0000000..1cd7750
--- /dev/null
+++ b/modules/desktop/hjem/wm/sway.nix
@@ -0,0 +1,110 @@
+{
+ pkgs,
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.collinux.desktop.sway;
+
+ colors = ''
+ set $rosewater #f5e0dc
+ set $flamingo #f2cdcd
+ set $pink #f5c2e7
+ set $mauve #cba6f7
+ set $red #f38ba8
+ set $maroon #eba0ac
+ set $peach #fab387
+ set $yellow #f9e2af
+ set $green #a6e3a1
+ set $teal #94e2d5
+ set $sky #89dceb
+ set $sapphire #74c7ec
+ set $blue #89b4fa
+ set $lavender #b4befe
+ set $text #cdd6f4
+ set $subtext1 #bac2de
+ set $subtext0 #a6adc8
+ set $overlay2 #9399b2
+ set $overlay1 #7f849c
+ set $overlay0 #6c7086
+ set $surface2 #585b70
+ set $surface1 #45475a
+ set $surface0 #313244
+ set $base #1e1e2e
+ set $mantle #181825
+ set $crust #11111b
+ '';
+
+ settings = ''
+ exec ${pkgs.foot}/bin/foot --server
+ exec ${pkgs.swaybg}/bin/swaybg -i ${config.collinux.desktop.wallpaper}
+ exec ${pkgs.dunst}/bin/dunst
+
+ include catppuccin-mocha
+
+ # target title bg text indicator border
+ client.focused $lavender $base $text $rosewater $lavender
+ client.focused_inactive $overlay0 $base $text $rosewater $overlay0
+ client.unfocused $overlay0 $base $text $rosewater $overlay0
+ client.urgent $peach $base $peach $overlay0 $peach
+ client.placeholder $overlay0 $base $text $overlay0 $overlay0
+ client.background $base
+
+ input type:keyboard {
+ xkb_options caps:none
+ }
+
+ bindsym Mod4+1 workspace number 1
+ bindsym Mod4+2 workspace number 2
+ bindsym Mod4+3 workspace number 3
+ bindsym Mod4+4 workspace number 4
+ bindsym Mod4+5 workspace number 5
+ bindsym Mod4+6 workspace number 6
+ bindsym Mod4+7 workspace number 7
+ bindsym Mod4+8 workspace number 8
+ bindsym Mod4+9 workspace number 9
+
+ bindsym Mod4+Shift+1 move container to workspace number 1
+ bindsym Mod4+Shift+2 move container to workspace number 2
+ bindsym Mod4+Shift+3 move container to workspace number 3
+ bindsym Mod4+Shift+4 move container to workspace number 4
+ bindsym Mod4+Shift+5 move container to workspace number 5
+ bindsym Mod4+Shift+6 move container to workspace number 6
+ bindsym Mod4+Shift+7 move container to workspace number 7
+ bindsym Mod4+Shift+8 move container to workspace number 8
+ bindsym Mod4+Shift+9 move container to workspace number 9
+
+ bindsym Mod4+Return exec ${pkgs.foot}/bin/footclient
+ bindsym Mod4+Shift+Return exec ${pkgs.foot}/bin/foot
+ bindsym Mod4+Space exec ${pkgs.fuzzel}/bin/fuzzel
+ bindsym Mod4+b exec ${pkgs.firefox}/bin/firefox
+ bindsym Mod4+Shift+b exec ${pkgs.qutebrowser}/bin/qutebrowser
+ bindsym Mod4+q kill
+
+ bindsym XF86AudioRaiseVolume exec 'wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+; dunstify -t 300 -h string:x-canonical-private-synchronous:audio "Volume: " -h "int:value:$(dec=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | cut -d\" \" -f2);echo "$dec * 100" | ${pkgs.bc}/bin/bc)"'
+ bindsym XF86AudioLowerVolume exec 'wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-; dunstify -t 300 -h string:x-canonical-private-synchronous:audio "Volume: " -h "int:value:$(dec=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | cut -d\" \" -f2);echo "$dec * 100" | ${pkgs.bc}/bin/bc)"'
+
+ bindsym XF86MonBrightnessUp exec 'brightnessctl set 5%+; dunstify -t 300 -h string:x-canonical-private-synchronous:brightness "Brightness: " -h "int:value:$(g=$(brightnessctl get);m=$(brightnessctl max);echo $((g * 100 / m)))"'
+ bindsym XF86MonBrightnessDown exec 'brightnessctl set 5%-; dunstify -t 300 -h string:x-canonical-private-synchronous:brightness "Brightness: " -h "int:value:$(g=$(brightnessctl get);m=$(brightnessctl max);echo $((g * 100 / m)))"'
+
+ bindsym Home exec 'playerctl previous'
+ bindsym End exec 'playerctl play-pause'
+ bindsym Insert exec 'playerctl next'
+
+ default_border pixel 2
+ smart_borders on
+ smart_gaps on
+ '';
+in
+ lib.mkIf cfg.enable {
+ files = {
+ ".config/sway/config".text = settings;
+ ".config/sway/catppuccin-mocha".text = colors;
+ };
+
+ packages = with pkgs; [
+ sway
+ brightnessctl
+ playerctl
+ ];
+ }