diff --git a/configs/dms-desktop/settings.json b/configs/dms-desktop/settings.json index 9bf1d2c..5d22bb8 100644 --- a/configs/dms-desktop/settings.json +++ b/configs/dms-desktop/settings.json @@ -11,7 +11,7 @@ "nightModeEnabled": false, "weatherLocation": "Dublin, Leinster", "weatherCoordinates": "53.3493795,-6.2605593", - "useAutoLocation": false, + "useAutoLocation": true, "weatherEnabled": true, "showLauncherButton": true, "showWorkspaceSwitcher": true, @@ -45,7 +45,7 @@ "width": 50 }, { - "id": "wifi", + "id": "nightMode", "enabled": true, "width": 50 }, @@ -54,23 +54,13 @@ "enabled": true, "width": 50 }, - { - "id": "audioOutput", - "enabled": true, - "width": 50 - }, { "id": "audioInput", "enabled": true, "width": 50 }, { - "id": "nightMode", - "enabled": true, - "width": 50 - }, - { - "id": "darkMode", + "id": "audioOutput", "enabled": true, "width": 50 } @@ -100,13 +90,18 @@ "weather" ], "dankBarRightWidgets": [ - "systemTray", - "clipboard", - "cpuUsage", - "memUsage", - "notificationButton", - "battery", - "controlCenterButton" + { + "id": "systemTray", + "enabled": true + }, + { + "id": "notificationButton", + "enabled": true + }, + { + "id": "controlCenterButton", + "enabled": true + } ], "appLauncherViewMode": "list", "spotlightModalViewMode": "grid", @@ -146,7 +141,7 @@ "dankBarSquareCorners": false, "dankBarNoBackground": false, "dankBarGothCornersEnabled": false, - "dankBarPosition": 0, + "dankBarPosition": 2, "lockScreenShowPowerActions": true, "hideBrightnessSlider": false, "widgetBackgroundColor": "sch", diff --git a/configs/hypr-desktop/hyprland.conf b/configs/hypr-desktop/hyprland.conf index 32a3aee..16e940c 100644 --- a/configs/hypr-desktop/hyprland.conf +++ b/configs/hypr-desktop/hyprland.conf @@ -19,26 +19,31 @@ env=QT_QPA_PLATFORM,wayland env=XCURSOR_THEME,Bibata-Modern-Ice env=XCURSOR_SIZE,24 -# Colors -$green=rgb(00BB00) -$gray=rgb(555555) -$purple=rgb(BB00BB) -$lavendar=rgb(B39DF3) -$orange=rgb(F39660) +# Color -$lightgreen=rgb(93C863) -$lightblue=rgb(76CCE0) +# Color :: Definition +$green = rgb(00BB00) +$gray = rgb(555555) +$purple = rgb(BB00BB) +$lavendar = rgb(B39DF3) +$orange = rgb(F39660) -$magenta=rgba(881798FF) -$crimson=rgba(471520FF) +$lightgreen = rgb(93C863) +$lightblue = rgb(76CCE0) + +$magenta = rgba(881798FF) +$crimson = rgba(471520FF) +$shadowBlack = rgba(1a1a1aee) -# USED COLORS -$active_border=$lightgreen -$inactive_border=$gray -$expo_bg=$active_border -$shadow=rgba(1a1a1aee) +# Color :: Option +$active_border = $lightgreen +$inactive_border = $gray +$shadow = $shadowBlack + + +# Settings animations { bezier=myBezier, 0.05, 0.9, 0.1, 1.05 @@ -127,248 +132,263 @@ misc { mouse_move_enables_dpms=true } -# Plugin Config +# Rules -# plugin { -# hyprexpo { -# columns = 3 -# gap_size = 3 -# bg_col = $expo_bg -# workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1 -# -# enable_gesture = true # laptop touchpad -# gesture_fingers = 3 # 3 or 4 -# gesture_distance = 300 # how far is the "max" -# gesture_positive = false # true = swipe down, false = swipe up. -# } -# } +# Rule :: Window -# Window Rules +$idleInhibFs = idleinhibit fullscreen +$idleInhibFo = idleinhibit focus +$ws = workspace -windowrule = idleinhibit fullscreen, class:firefox -windowrule = idleinhibit fullscreen, class:floorp -windowrule = idleinhibit fullscreen, class:ghostty -windowrule = idleinhibit focus, class:firefox -windowrule = idleinhibit focus, class:floorp -windowrule = idleinhibit focus, class:mpv -windowrule = idleinhibit focus, class:^(emacs)$ -windowrule = idleinhibit focus, class:^(Emacs)$ -windowrule = idleinhibit focus, class:^(discord)$ -windowrule = idleinhibit focus, class:^(spotify)$ -windowrule = idleinhibit focus, class:^(Discord|discord)$ -windowrule = opacity 0.98 0.9, class:^(Discord|discord)$ -windowrule = float, class:polkit-kde-authentication-agent-1 -windowrule = float, class:^(praat)$ -windowrule = float, class:^(network)$ -windowrule = float, class:^(nm-)$ -windowrule = float, class:^(Network)$ -windowrule = float, class:Rofi -windowrule = float, class:Gimp -windowrule = float, class:Nautilus -windowrule = float, title:^(LmDev-.*)$ -windowrule = float, class:notification -windowrule = float, class:^(Genymotion Player)$ -windowrule = float, class:^(launcher)$ -windowrule = tile, class:Spotify -windowrule = tile, title:Minecraft -windowrule = workspace name:shell, class:KeePassXC -windowrule = workspace name:browser, class:firefox -windowrule = workspace name:browser, class:floorp -windowrule = workspace name:music, class:Spotify -windowrule = workspace name:chat, class:discord -windowrule = workspace name:chat, class:Signal -windowrule = workspace name:game, title:Minecraft + windowrule = $idleInhibFs, class:^(floorp)$ + windowrule = $idleInhibFs, class:^(firefox)$ + windowrule = $idleInhibFs, class:^(ghostty)$ + windowrule = $idleInhibFs, class:^(brave-browser)$ + + windowrule = $idleInhibFo, class:^(mpv)$ + windowrule = $idleInhibFo, class:^(firefox)$ + windowrule = $idleInhibFo, class:^(floorp)$ + windowrule = $idleInhibFo, class:^(spotify)$ + windowrule = $idleInhibFo, class:^(Emacs|emacs)$ + windowrule = $idleInhibFo, class:^(brave-browser)$ + windowrule = $idleInhibFo, class:^(Discord|discord)$ + + windowrule = opacity 0.98 0.90, class:^(Discord|discord)$ + + windowrule = float, class:^(polkit.*agent.*)$ + windowrule = float, class:^(praat)$ + windowrule = float, class:^(network)$ + windowrule = float, class:^(nm-)$ + windowrule = float, class:^(Network)$ + windowrule = float, class:^(Rofi)$ + windowrule = float, class:^(Gimp)$ + windowrule = float, class:^(thunar)$ + windowrule = float, class:^(Nautilus)$ + windowrule = float, title:^(LmDev-.*)$ + windowrule = float, class:^(notification)$ + windowrule = float, class:^(Genymotion Player)$ + windowrule = float, class:^(launcher)$ + + windowrule = tile, class:^(Spotify)$ + windowrule = tile, title:^(Minecraft)$ + + windowrule = $ws name:shell, class:^(KeePassXC)$ + windowrule = $ws name:browser, class:^(firefox)$ + windowrule = $ws name:browser, class:^(floorp)$ + windowrule = $ws name:music, class:^(Spotify)$ + windowrule = $ws name:chat, class:^(discord)$ + windowrule = $ws name:chat, class:^(Signal)$ + windowrule = $ws name:video, class:^(.*obs.*)$ + windowrule = $ws name:game, title:^(Minecraft)$ -# Workspace Rules -workspace=name:game, monitor:DP-1 -workspace=name:browser, monitor:HDMI-A-1, default:true -workspace=name:chat, monitor:HDMI-A-1 -workspace=name:video, monitor:DP-1 -workspace=name:program, monitor:DP-1, default:true -workspace=name:extra, monitor:DP-1 +# Rule :: Workkspace + + workspace = name:game, monitor:DP-1 + workspace = name:browser, monitor:HDMI-A-1, default:true + workspace = name:chat, monitor:HDMI-A-1 + workspace = name:video, monitor:DP-1 + workspace = name:program, monitor:DP-1, default:true + workspace = name:extra, monitor:DP-1 # Commands -# $lock=hyprlock -$lock=dms ipc call lock lock -$screenshotarea=hyprctl keyword animation 'fadeOut,0,0,default'; grimblast copy area; hyprctl keyword animation 'fadeOut,1,4,default' -$discord=discord --enable-blink-features=MiddleClickAutoscroll -$emacs=emacsclient -c -a 'emacs' -$colorpick=hyprpicker -a -f hex -$screenshot=grimblast --cursor copy output +# :Alias: :Command: + +$lock = dms ipc call lock lock +$screenshot = grimblast --cursor copy output +$screenshotarea = hyprctl keyword animation 'fadeOut,0,0,default'; grimblast copy area; hyprctl keyword animation 'fadeOut,1,4,default' + +$colorpick = hyprpicker -a -f hex +$emacs = emacsclient -c -a 'emacs' +$discord = discord --enable-blink-features=MiddleClickAutoscroll # Binds -$altMod=ALT -$ctrlMod=CTRL -$mainMod=SUPER +# Binds :: Modifiers +$none = + +$altMod = ALT +$mainMod = SUPER + +$noneCtrl = $none CTRL +$altCtrl = $altMod CTRL +$mainCtrl = $mainMod CTRL + +$noneShift = $none SHIFT +$altShift = $altMod SHIFT +$mainShift = $mainMod SHIFT + +$altCtrlShift = $altCtrl SHIFT +$noneCtrlShift = $noneCtrl SHIFT +$mainCtrlShift = $mainCtrl SHIFT # Binds :: Programs -$none= -# :Meta-Bind: :Key: :Command: :Args: +#:Bind: :Modifier: :Key: :Command: :Args: + bind = $altMod, Return, exec, ghostty + bind = $altShift, Return, exec, foot + bind = $mainShift, D, exec, $discord + bind = $mainShift, E, exec, $emacs + bind = $mainMod, Space, exec, dms ipc call spotlight toggle + bind = $mainMod, E, exec, thunar + bind = $mainMod, S, exec, spotify + bind = $mainMod, P, exec, $colorpick + bind = $none, Print, exec, $screenshotarea + bind = $noneShift, Print, exec, $screenshot + bind = $mainMod, X, exec, dms ipc call powermenu toggle + bind = $mainMod, M, exec, dms ipc call processlist toggle + bind = $mainMod, I, exec, dms ipc call settings toggle + bind = $mainMod, V, exec, dms ipc call clipboard toggle + bind = $mainCtrl, P, exec, dms ipc call notepad toggle + bind = $mainCtrl, C, exec, dms ipc call control-center toggle + bind = $mainMod, N, exec, dms ipc call notifications toggle + bind = $mainShift, N, exec, dms ipc call night toggle + + bind = $mainShift, P, pseudo, + bind = $mainMod, C, killactive, + bind = $mainMod, F, togglefloating, + bind = $mainShift, F, fullscreen + bind = $mainShift, S, togglesplit, + bind = $mainMod, right, resizeactive, 10 0 + bind = $mainMod, left, resizeactive, -10 0 + bind = $mainMod, up, resizeactive, 0 -10 + bind = $mainMod, down, resizeactive, 0 10 + bind = $mainCtrl, Q, exec, $lock + bind = $mainMod, F4, exit, -bind=$altMod, Return, exec, ghostty -bind=$altMod SHIFT, Return, exec, foot -bind=$mainMod SHIFT, D, exec, $discord -bind=$mainMod SHIFT, E, exec, emacsclient -c -a 'emacs' -bind=$mainMode SHIFT, F, exec, focus-linux -bind=$mainMod, Space, exec, dms ipc call spotlight toggle -bind=$mainMod, E, exec, thunar -bind=$mainMod, S, exec, spotify -bind=$mainMod, P, exec, hyprpicker -a -f hex -bind=$none, Print, exec, $screenshotarea -bind=SHIFT, Print, exec, grimblast --cursor copy output -bind=$mainMod, X, exec, dms ipc call powermenu toggle -bind=$mainMod SHIFT, P, pseudo, -bind=$mainMod, C, killactive, -bind=$mainMod SHIFT, F, togglefloating, -bind=$mainMod SHIFT, S, togglesplit, -bind=$mainMod CTRL, Q, exec, $lock -bind=$mainMod, F4, exit, -bind=$mainMod, M, exec, dms ipc call processlist toggle -bind=$mainMod, I, exec, dms ipc call settings toggle -bind=$mainMod CTRL, P, exec, dms ipc call notepad toggle -bind=$mainMod CTRL, C, exec, dms ipc call control-center toggle - -# Night mode toggle -bind=$mainMod, N, exec, dms ipc call notifications toggle -bind=$mainMod SHIFT, N, exec, dms ipc call night toggle - -# bind = SUPER, grave, hyprexpo:expo, toggle # Commented out cos "version mismatch (bs)" - -# Workspace Name:Bind Numbers -$ws_game=1 -$ws_shell=2 -$ws_browser=3 -$ws_music=4 -$ws_image=5 -$ws_chat=6 -$ws_audio=7 -$ws_video=8 -$ws_program=9 -$ws_extra=0 +$ws_game = 1 +$ws_shell = 2 +$ws_browser = 3 +$ws_music = 4 +$ws_image = 5 +$ws_chat = 6 +$ws_audio = 7 +$ws_video = 8 +$ws_program = 9 +$ws_extra = 0 # Binds :: Navigation -# :Meta-Bind: :Key: :Command: :Args: -bind=$mainMod, F, fullscreen -bind=$mainMod, H, movefocus, l -bind=$mainMod, L, movefocus, r -bind=$mainMod, K, movefocus, u -bind=$mainMod, J, movefocus, d -bind=$mainMod, comma, focusmonitor, -1 -bind=$mainMod, period, focusmonitor, +1 -bind=$mainMod SHIFT, H, movewindow, l -bind=$mainMod SHIFT, L, movewindow, r -bind=$mainMod SHIFT, K, movewindow, u -bind=$mainMod SHIFT, J, movewindow, d -bind=$mainMod SHIFT, comma, movecurrentworkspacetomonitor, -1 -bind=$mainMod SHIFT, period, movecurrentworkspacetomonitor, +1 -bind=$mainMod, right, resizeactive, 10 0 -bind=$mainMod, left, resizeactive, -10 0 -bind=$mainMod, up, resizeactive, 0 -10 -bind=$mainMod, down, resizeactive, 0 10 -bind=$mainMod, $ws_game, workspace, name:game -bind=$mainMod, $ws_shell, workspace, name:shell -bind=$mainMod, $ws_browser, workspace, name:browser -bind=$mainMod, $ws_music, workspace, name:music -bind=$mainMod, $ws_image, workspace, name:image -bind=$mainMod, $ws_chat, workspace, name:chat -bind=$mainMod, $ws_audio, workspace, name:audio -bind=$mainMod, $ws_video, workspace, name:video -bind=$mainMod, $ws_program, workspace, name:program -bind=$mainMod, $ws_extra, workspace, name:extra -bind=$mainMod SHIFT, $ws_game, movetoworkspace, name:game -bind=$mainMod SHIFT, $ws_shell, movetoworkspace, name:shell -bind=$mainMod SHIFT, $ws_browser, movetoworkspace, name:browser -bind=$mainMod SHIFT, $ws_music, movetoworkspace, name:music -bind=$mainMod SHIFT, $ws_image, movetoworkspace, name:image -bind=$mainMod SHIFT, $ws_chat, movetoworkspace, name:chat -bind=$mainMod SHIFT, $ws_audio, movetoworkspace, name:audio -bind=$mainMod SHIFT, $ws_video, movetoworkspace, name:video -bind=$mainMod SHIFT, $ws_program, movetoworkspace, name:program -bind=$mainMod SHIFT, $ws_extra, movetoworkspace, name:extra -bind=$mainMod SHIFT CTRL, right, movetoworkspace, +1 -bind=$mainMod SHIFT CTRL, left, movetoworkspace, -1 -bind=$mainMod, mouse_down, workspace, e+1 -bind=$mainMod, mouse_up, workspace, e-1 -bind=$mainMod, Tab, workspace, e+1 -bind=$mainMod SHIFT, Tab, workspace, e-1 -bind=$mainMod CTRL, right, workspace, +1 -bind=$mainMod CTRL, left, workspace, -1 +#:Bind: :Modifier: :Key: :Command: :Args: + bind = $mainMod, H, movefocus, l + bind = $mainMod, L, movefocus, r + bind = $mainMod, K, movefocus, u + bind = $mainMod, J, movefocus, d + bind = $mainMod, comma, focusmonitor, -1 + bind = $mainMod, period, focusmonitor, +1 + bind = $mainShift, H, movewindow, l + bind = $mainShift, L, movewindow, r + bind = $mainShift, K, movewindow, u + bind = $mainShift, J, movewindow, d + bind = $mainShift, comma, movecurrentworkspacetomonitor, -1 + bind = $mainShift, period, movecurrentworkspacetomonitor, +1 + + bind = $mainMod, $ws_game, workspace, name:game + bind = $mainMod, $ws_shell, workspace, name:shell + bind = $mainMod, $ws_browser, workspace, name:browser + bind = $mainMod, $ws_music, workspace, name:music + bind = $mainMod, $ws_image, workspace, name:image + bind = $mainMod, $ws_chat, workspace, name:chat + bind = $mainMod, $ws_audio, workspace, name:audio + bind = $mainMod, $ws_video, workspace, name:video + bind = $mainMod, $ws_program, workspace, name:program + bind = $mainMod, $ws_extra, workspace, name:extra + + bind = $mainShift, $ws_game, movetoworkspace, name:game + bind = $mainShift, $ws_shell, movetoworkspace, name:shell + bind = $mainShift, $ws_browser, movetoworkspace, name:browser + bind = $mainShift, $ws_music, movetoworkspace, name:music + bind = $mainShift, $ws_image, movetoworkspace, name:image + bind = $mainShift, $ws_chat, movetoworkspace, name:chat + bind = $mainShift, $ws_audio, movetoworkspace, name:audio + bind = $mainShift, $ws_video, movetoworkspace, name:video + bind = $mainShift, $ws_program, movetoworkspace, name:program + bind = $mainShift, $ws_extra, movetoworkspace, name:extra + + bind = $mainCtrlShift, right, movetoworkspace, +1 + bind = $mainCtrlShift, left, movetoworkspace, -1 + + bind = $mainMod, mouse_down, workspace, e+1 + bind = $mainMod, mouse_up, workspace, e-1 + bind = $mainMod, Tab, workspace, e+1 + bind = $mainShift, Tab, workspace, e-1 + bind = $mainCtrl, right, workspace, +1 + bind = $mainCtrl, left, workspace, -1 + bindm = $mainMod, mouse:272, movewindow + bindm = $mainMod, mouse:273, resizewindow -bindm=$mainMod, mouse:272, movewindow -bindm=$mainMod, mouse:273, resizewindow # Binds :: MultiMedia -bindl=$none, XF86AudioPlay, exec, playerctl play-pause -bindl=$none, XF86AudioNext, exec, playerctl next -bindl=$none, XF86AudioPrev, exec, playerctl previous + bindl = $none, XF86AudioPlay, exec, playerctl play-pause + bindl = $none, XF86AudioNext, exec, playerctl next + bindl = $none, XF86AudioPrev, exec, playerctl previous + + bindl = $none, XF86AudioMute, exec, dms ipc call audio mute + bindl = $none, XF86AudioMicMute, exec, dms ipc call audio micmute + bindle = $none, XF86AudioRaiseVolume, exec, dms ipc call audio increment 3 + bindle = $none, XF86AudioLowerVolume, exec, dms ipc call audio decrement 3 + + bindle = $none, XF86MonBrightnessUp, exec, dms ipc call brightness increment 5 "" + bindle = $none, XF86MonBrightnessDown, exec, dms ipc call brightness decrement 5 "" -bindl=$none, XF86AudioMute, exec, dms ipc call audio mute -bindl=$none, XF86AudioMicMute, exec, dms ipc call audio micmute -bindle=$none, XF86AudioRaiseVolume, exec, dms ipc call audio increment 3 -bindle=$none, XF86AudioLowerVolume, exec, dms ipc call audio decrement 3 +# Binds :: Submap -bindle=$none, XF86MonBrightnessUp, exec, dms ipc call brightness increment 5 "" -bindle=$none, XF86MonBrightnessDown, exec, dms ipc call brightness decrement 5 "" +# Binds :: Submap :: Resize + bind = $mainMod, R, submap, resize -# Binds :: Submaps + submap = resize -# Submap::Resize -bind=$mainMod, R, submap, resize -submap=resize -bind=$none, escape,submap,reset + bind = $none, escape, submap, reset + + binde = $none, left, resizeactive, -10 0 + bindr = $none, left, submap, reset + binde = $none, right, resizeactive, 10 0 + bindr = $none, right, submap, reset + binde = $none, up, resizeactive, 0 10 + bindr = $none, up, submap, reset + binde = $none, down, resizeactive, 0 -10 + bindr = $none, down, submap, reset + + binde = $none, H, resizeactive, -10 0 + bindr = $none, H, submap, reset + binde = $none, J, resizeactive, 0 -10 + bindr = $none, J, submap, reset + binde = $none, K, resizeactive, 0 10 + bindr = $none, K, submap, reset + binde = $none, L, resizeactive, 10 0 + bindr = $none, L, submap, reset + + submap=reset -binde=$none, left, resizeactive, -10 0 -bindr=$none, left, submap, reset -binde=$none, right, resizeactive, 10 0 -bindr=$none, right, submap, reset -binde=$none, up, resizeactive, 0 10 -bindr=$none, up, submap, reset -binde=$none, down, resizeactive, 0 -10 -bindr=$none, down, submap, reset +# Binds :: Submap :: Browser + bind = $mainMod, B, submap, browser -binde=$none, H, resizeactive, -10 0 -bindr=$none, H, submap, reset -binde=$none, J, resizeactive, 0 -10 -bindr=$none, J, submap, reset -binde=$none, K, resizeactive, 0 10 -bindr=$none, K, submap, reset -binde=$none, L, resizeactive, 10 0 -bindr=$none, L, submap, reset + submap = browser + + bind = $none, B, exec, brave + bindr = $none, B, submap, reset + + bind = $noneShift, F, exec, firefox + bindr = $noneShift, F, submap, reset + + bind = $none, F, exec, floorp + bindr = $none, F, submap, reset + + bind = $none, escape, submap, reset + submap = reset -submap=reset - -# Submap::Browser -bind=$mainMod, B, submap, browser -submap=browser - -bind=$none, B, exec, brave -bind=$none, B, submap, reset - -bind=SHIFT, F, exec, firefox -bind=SHIFT, F, submap, reset - -bind=$none, F, exec, floorp -bind=$none, F, submap, reset - -bind=$none, escape,submap,reset -submap=reset - -# Submap::Video -bind=$mainMod SHIFT, V, submap, video -submap=video - -bind=$none, O, exec, obs -bind=$none, O, submap, reset - -bind=$none, V, exec , kdenlive -bind=$none, V, submap, reset - -bind=$none, escape,submap,reset -submap=reset +# Binds :: Submap :: Video + bind = $mainShift, V, submap, video + submap = video + + bind = $none, O, exec, obs + bindr = $none, O, submap, reset + + bind = $none, V, exec, kdenlive + bindr = $none, V, submap, reset + + bind = $none, escape, submap, reset + submap = reset # Gestures diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index 2dfab28..02f0027 100644 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -85,7 +85,6 @@ packages = [ pkgs.android-udev-rules ]; }; - upower.enable = true; libinput.enable = true; blueman.enable = true; gvfs.enable = true; @@ -94,16 +93,21 @@ thermald.enable = true; power-profiles-daemon.enable = false; pulseaudio.enable = false; + upower.enable = true; xserver.videoDrivers = [ "nvidia" ]; }; security.pam.services.hyprlock = {}; - environment.etc."greetd/environments".text = '' - Hyprland - river - ''; + environment = { + etc = { + "greetd/environments".text = '' + Hyprland + river + ''; + }; + }; hardware = { bluetooth.enable = true;