From 00a486c5e68eb2ba230901810c88a8dba32b6e36 Mon Sep 17 00:00:00 2001 From: Evan Reichard Date: Sun, 18 Jan 2026 20:28:46 -0500 Subject: [PATCH] fix: hyprland keys --- .../default.nix | 6 +- .../home/programs/graphical/gimp/default.nix | 9 +- .../wms/hyprland/config/hyprland.conf | 1 - .../graphical/wms/hyprland/default.nix | 325 +++++++++--------- .../lin-va-mbp-personal/default.nix | 5 +- 5 files changed, 181 insertions(+), 165 deletions(-) diff --git a/homes/aarch64-linux/evanreichard@lin-va-mbp-personal/default.nix b/homes/aarch64-linux/evanreichard@lin-va-mbp-personal/default.nix index d4d5c43..29ff36b 100755 --- a/homes/aarch64-linux/evanreichard@lin-va-mbp-personal/default.nix +++ b/homes/aarch64-linux/evanreichard@lin-va-mbp-personal/default.nix @@ -31,12 +31,12 @@ in graphical = { wms.hyprland = { enable = true; - monitors = [ - ",highres,auto,2" # Optional - 1.68 - ]; + mainMod = "ALT"; + monitors = [ ",highres,auto,2" ]; # Alternatively - 1.68 }; ghostty = enabled; ghidra = enabled; + gimp = enabled; browsers.firefox = { enable = true; gpuAcceleration = true; diff --git a/modules/home/programs/graphical/gimp/default.nix b/modules/home/programs/graphical/gimp/default.nix index 6ccbe76..d475655 100755 --- a/modules/home/programs/graphical/gimp/default.nix +++ b/modules/home/programs/graphical/gimp/default.nix @@ -1,4 +1,9 @@ -{ pkgs, lib, config, namespace, ... }: +{ pkgs +, lib +, config +, namespace +, ... +}: let inherit (lib) mkIf mkEnableOption; @@ -11,7 +16,9 @@ in config = mkIf cfg.enable { home.packages = with pkgs; [ + darktable gimp-with-plugins + gthumb ]; }; } diff --git a/modules/home/programs/graphical/wms/hyprland/config/hyprland.conf b/modules/home/programs/graphical/wms/hyprland/config/hyprland.conf index 38a21cc..ddd1516 100755 --- a/modules/home/programs/graphical/wms/hyprland/config/hyprland.conf +++ b/modules/home/programs/graphical/wms/hyprland/config/hyprland.conf @@ -44,7 +44,6 @@ decoration { } # https://wiki.hyprland.org/Configuring/Variables/#animations -#https://wiki.hyprland.org/Configuring/Animations/ animations { enabled = yes, please :) diff --git a/modules/home/programs/graphical/wms/hyprland/default.nix b/modules/home/programs/graphical/wms/hyprland/default.nix index 0ba7b1e..cf0e842 100755 --- a/modules/home/programs/graphical/wms/hyprland/default.nix +++ b/modules/home/programs/graphical/wms/hyprland/default.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, config, namespace, ... }: +{ lib +, pkgs +, config +, namespace +, ... +}: let inherit (lib) types mkIf; inherit (lib.${namespace}) mkOpt enabled; @@ -8,10 +13,9 @@ in { options.${namespace}.programs.graphical.wms.hyprland = { enable = lib.mkEnableOption "Hyprland"; - mainMod = mkOpt types.str "SUPER" "Hyprland main modifier key"; - monitors = mkOpt (with types; listOf str) [ - ", preferred, auto, 1" - ] "Hyprland monitor configuration"; + mainMod = mkOpt types.str "SUPER" "main modifier key"; + menuMod = mkOpt types.str "SUPER" "menu modifier key (i.e. menuMod + space)"; + monitors = mkOpt (with types; listOf str) [ ", preferred, auto, 1" ] "monitor configuration"; }; config = mkIf cfg.enable { @@ -22,19 +26,20 @@ in extraConfig = builtins.readFile ./config/hyprland.conf; settings = { "$mainMod" = cfg.mainMod; + "$menuMod" = cfg.menuMod; "$terminal" = "ghostty"; "$menu" = "wofi --show drun"; monitor = cfg.monitors; bind = [ - # Super Bindings (macOS Transition) - "ALT_SHIFT, 1, exec, hyprshot -m output" - "ALT_SHIFT, 2, exec, hyprshot -m window" - "ALT_SHIFT, 3, exec, hyprshot -m region" + # Menu Mod Bindings (macOS Transition - Spotlight & Screenshots) + "$menuMod, SPACE, exec, $menu" + "$menuMod SHIFT, 1, exec, hyprshot -m output" + "$menuMod SHIFT, 2, exec, hyprshot -m window" + "$menuMod SHIFT, 3, exec, hyprshot -m region" # Primary Bindings - "$mainMod, SPACE, exec, $menu" "$mainMod, RETURN, exec, $terminal" "$mainMod, Q, killactive" "$mainMod, M, exit" @@ -91,8 +96,8 @@ in ",XF86MonBrightnessDown, exec, brightnessctl s 10%-" # macOS Keyboard Brightness - "ALT, XF86MonBrightnessUp, exec, brightnessctl -d kbd_backlight s 10%+" - "ALT, XF86MonBrightnessDown, exec, brightnessctl -d kbd_backlight s 10%-" + "$menuMod, XF86MonBrightnessUp, exec, brightnessctl -d kbd_backlight s 10%+" + "$menuMod, XF86MonBrightnessDown, exec, brightnessctl -d kbd_backlight s 10%-" ]; bindl = [ # Player Controls @@ -107,153 +112,161 @@ in programs.waybar = { enable = true; style = builtins.readFile ./config/waybar-style.css; - settings = [{ - layer = "top"; - position = "top"; - mod = "dock"; - exclusive = true; - passtrough = false; - gtk-layer-shell = true; - height = 0; - modules-left = [ - "hyprland/workspaces" - "hyprland/window" - ]; - # modules-center = [ "hyprland/window" ]; - modules-right = [ - "tray" - "cpu" - "memory" - "pulseaudio" - "network" - "backlight" - "battery" - "clock" - ]; - "hyprland/window" = { format = "{}"; }; - "wlr/workspaces" = { - on-scroll-up = "hyprctl dispatch workspace e+1"; - on-scroll-down = "hyprctl dispatch workspace e-1"; - all-outputs = true; - on-click = "activate"; - }; - battery = { - states = { - warning = 30; - critical = 15; - }; - format = "{icon}"; - format-charging = "󰂄"; - format-plugged = "󰂄"; - format-alt = "{icon}"; - format-icons = [ - "󰂃" - "󰁺" - "󰁻" - "󰁼" - "󰁽" - "󰁾" - "󰁾" - "󰁿" - "󰂀" - "󰂁" - "󰂂" - "󰁹" + settings = [ + { + layer = "top"; + position = "top"; + mod = "dock"; + exclusive = true; + passtrough = false; + gtk-layer-shell = true; + height = 0; + modules-left = [ + "hyprland/workspaces" + "hyprland/window" ]; - }; - cpu = { - interval = 10; - format = " {}%"; - max-length = 10; - on-click = ""; - }; - memory = { - interval = 30; - format = " {}%"; - format-alt = " {used:0.1f}G"; - max-length = 10; - }; - - backlight = { - format = "{icon}"; - format-icons = [ - "󰋙" - "󰫃" - "󰫄" - "󰫅" - "󰫆" - "󰫇" - "󰫈" + # modules-center = [ "hyprland/window" ]; + modules-right = [ + "tray" + "cpu" + "memory" + "pulseaudio" + "network" + "backlight" + "battery" + "clock" ]; - on-scroll-up = "brightnessctl s 1%-"; - on-scroll-down = "brightnessctl s +1%"; - }; - tray = { - icon-size = 13; - tooltip = false; - spacing = 10; - }; - network = { - interval = 1; - format-wifi = "󰖩"; - format-ethernet = "󰈀"; - format-linked = "󰈁"; - format-disconnected = ""; - on-click-right = "${pkgs.networkmanagerapplet}/bin/nm-connection-editor"; - # tooltip-format = '' - # Network Details - # Interface: {ifname} - # IP: {ipaddr}/{cidr} - # Gateway: {gwaddr} - # 󰜷 {bandwidthUpBytes}\n󰜮 {bandwidthDownBytes}''; - tooltip-format = '' - Network Details - - Interface: {ifname} - SSID: {essid} - IP Address: {ipaddr}/{cidr} - Gateway: {gwaddr} - - 󰜷 {bandwidthUpBytes} / 󰜮 {bandwidthDownBytes} - ''; - - }; - clock = { - format = " {:%Y-%m-%d %H:%M:%S}"; - interval = 1; - tooltip-format = '' - {:%Y %B} - {calendar}''; - }; - pulseaudio = { - format = "{icon} {volume}%"; - tooltip = false; - format-muted = " Muted"; - on-click = "pamixer -t"; - on-scroll-up = "pamixer -i 5"; - on-scroll-down = "pamixer -d 5"; - scroll-step = 5; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ "" "" "" ]; + "hyprland/window" = { + format = "{}"; }; - }; - "pulseaudio#microphone" = { - format = "{format_source}"; - tooltip = false; - format-source = " {volume}%"; - format-source-muted = " Muted"; - on-click = "pamixer --default-source -t"; - on-scroll-up = "pamixer --default-source -i 5"; - on-scroll-down = "pamixer --default-source -d 5"; - scroll-step = 5; - }; - }]; + "wlr/workspaces" = { + on-scroll-up = "hyprctl dispatch workspace e+1"; + on-scroll-down = "hyprctl dispatch workspace e-1"; + all-outputs = true; + on-click = "activate"; + }; + battery = { + states = { + warning = 30; + critical = 15; + }; + format = "{icon}"; + format-charging = "󰂄"; + format-plugged = "󰂄"; + format-alt = "{icon}"; + format-icons = [ + "󰂃" + "󰁺" + "󰁻" + "󰁼" + "󰁽" + "󰁾" + "󰁾" + "󰁿" + "󰂀" + "󰂁" + "󰂂" + "󰁹" + ]; + }; + cpu = { + interval = 10; + format = " {}%"; + max-length = 10; + on-click = ""; + }; + memory = { + interval = 30; + format = " {}%"; + format-alt = " {used:0.1f}G"; + max-length = 10; + }; + + backlight = { + format = "{icon}"; + format-icons = [ + "󰋙" + "󰫃" + "󰫄" + "󰫅" + "󰫆" + "󰫇" + "󰫈" + ]; + on-scroll-up = "brightnessctl s 1%-"; + on-scroll-down = "brightnessctl s +1%"; + }; + tray = { + icon-size = 13; + tooltip = false; + spacing = 10; + }; + network = { + interval = 1; + format-wifi = "󰖩"; + format-ethernet = "󰈀"; + format-linked = "󰈁"; + format-disconnected = ""; + on-click-right = "${pkgs.networkmanagerapplet}/bin/nm-connection-editor"; + # tooltip-format = '' + # Network Details + # Interface: {ifname} + # IP: {ipaddr}/{cidr} + # Gateway: {gwaddr} + # 󰜷 {bandwidthUpBytes}\n󰜮 {bandwidthDownBytes}''; + tooltip-format = '' + Network Details + + Interface: {ifname} + SSID: {essid} + IP Address: {ipaddr}/{cidr} + Gateway: {gwaddr} + + 󰜷 {bandwidthUpBytes} / 󰜮 {bandwidthDownBytes} + ''; + + }; + clock = { + format = " {:%Y-%m-%d %H:%M:%S}"; + interval = 1; + tooltip-format = '' + {:%Y %B} + {calendar}''; + }; + pulseaudio = { + format = "{icon} {volume}%"; + tooltip = false; + format-muted = " Muted"; + on-click = "pamixer -t"; + on-scroll-up = "pamixer -i 5"; + on-scroll-down = "pamixer -d 5"; + scroll-step = 5; + format-icons = { + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = [ + "" + "" + "" + ]; + }; + }; + "pulseaudio#microphone" = { + format = "{format_source}"; + tooltip = false; + format-source = " {volume}%"; + format-source-muted = " Muted"; + on-click = "pamixer --default-source -t"; + on-scroll-up = "pamixer --default-source -i 5"; + on-scroll-down = "pamixer --default-source -d 5"; + scroll-step = 5; + }; + } + ]; }; home.packages = with pkgs; [ diff --git a/systems/aarch64-linux/lin-va-mbp-personal/default.nix b/systems/aarch64-linux/lin-va-mbp-personal/default.nix index d978d5c..3cee2e2 100755 --- a/systems/aarch64-linux/lin-va-mbp-personal/default.nix +++ b/systems/aarch64-linux/lin-va-mbp-personal/default.nix @@ -40,10 +40,7 @@ in services = { avahi = enabled; - printing = { - enable = true; - drivers = [ pkgs.gutenprint ]; - }; + printing = enabled; tailscale = enabled; ydotool = enabled; };