From ca937efc41356dcd018980a8c3c8b2358b558cac Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Fri, 14 Feb 2025 16:47:54 +0100 Subject: hyprland: use hyprsplit --- common/home/default.nix | 3 +- common/home/hyprland/default.nix | 63 ++++++++-------- common/home/programs/waybar/default.nix | 128 +++++++++++++++++++++----------- common/home/programs/waybar/style.css | 71 ++++++------------ common/home/programs/wofi/default.nix | 12 ++- common/home/programs/wofi/style.css | 15 ++-- common/home/scripts/openproject | 2 +- flake.lock | 36 ++++----- hosts/workstation/default.nix | 2 + modules/waybar/default.nix | 2 +- 10 files changed, 181 insertions(+), 153 deletions(-) diff --git a/common/home/default.nix b/common/home/default.nix index 3590195..0f870e5 100644 --- a/common/home/default.nix +++ b/common/home/default.nix @@ -52,6 +52,7 @@ packages = [ pkgs.ascii pkgs.qpwgraph pkgs.ffmpeg + pkgs.nbsdgames ]; in { @@ -75,7 +76,7 @@ packages = [ accounts = import ./accounts { }; - wayland.windowManager.hyprland = import ./hyprland; + wayland.windowManager.hyprland = import ./hyprland { inherit pkgs; }; home.packages = packages ++ scripts; diff --git a/common/home/hyprland/default.nix b/common/home/hyprland/default.nix index d33e8af..2ef1b0a 100644 --- a/common/home/hyprland/default.nix +++ b/common/home/hyprland/default.nix @@ -1,11 +1,18 @@ -{ +{ pkgs, ... }: { enable = true; systemd = { enable = true; variables = [ "--all" ]; }; xwayland.enable = true; + plugins = [ pkgs.hyprlandPlugins.hyprsplit ]; settings = { + plugin = { + hyprsplit = { + num_workspaces = 10; + persistent_workspaces = false; + }; + }; "$mod" = "SUPER"; bind = [ "$mod+Shift, Q, exit" @@ -41,31 +48,27 @@ "$mod+Shift, k, movewindow, u" "$mod+Shift, j, movewindow, d" - "$mod, 1, workspace, 1" - "$mod, 2, workspace, 2" - "$mod, 3, workspace, 3" - "$mod, 4, workspace, 4" - "$mod, 5, workspace, 5" - "$mod, 6, workspace, 6" - "$mod, 7, workspace, 7" - "$mod, 8, workspace, 8" - "$mod, 9, workspace, 9" - "$mod, 0, workspace, 10" - - "$mod, F1, movecurrentworkspacetomonitor, 0" - "$mod, F2, movecurrentworkspacetomonitor, 1" - "$mod, F3, movecurrentworkspacetomonitor, 2" - - "$mod+Shift, 1, movetoworkspace, 1" - "$mod+Shift, 2, movetoworkspace, 2" - "$mod+Shift, 3, movetoworkspace, 3" - "$mod+Shift, 4, movetoworkspace, 4" - "$mod+Shift, 5, movetoworkspace, 5" - "$mod+Shift, 6, movetoworkspace, 6" - "$mod+Shift, 7, movetoworkspace, 7" - "$mod+Shift, 8, movetoworkspace, 8" - "$mod+Shift, 9, movetoworkspace, 9" - "$mod+Shift, 0, movetoworkspace, 10" + "$mod, 1, split:workspace, 1" + "$mod, 2, split:workspace, 2" + "$mod, 3, split:workspace, 3" + "$mod, 4, split:workspace, 4" + "$mod, 5, split:workspace, 5" + "$mod, 6, split:workspace, 6" + "$mod, 7, split:workspace, 7" + "$mod, 8, split:workspace, 8" + "$mod, 9, split:workspace, 9" + "$mod, 0, split:workspace, 10" + + "$mod+Shift, 1, split:movetoworkspacesilent, 1" + "$mod+Shift, 2, split:movetoworkspacesilent, 2" + "$mod+Shift, 3, split:movetoworkspacesilent, 3" + "$mod+Shift, 4, split:movetoworkspacesilent, 4" + "$mod+Shift, 5, split:movetoworkspacesilent, 5" + "$mod+Shift, 6, split:movetoworkspacesilent, 6" + "$mod+Shift, 7, split:movetoworkspacesilent, 7" + "$mod+Shift, 8, split:movetoworkspacesilent, 8" + "$mod+Shift, 9, split:movetoworkspacesilent, 9" + "$mod+Shift, 0, split:movetoworkspacesilent, 10" ]; binde = [ @@ -88,8 +91,8 @@ ]; general = { - gaps_in = 10; - gaps_out = 10; + gaps_in = 0; + gaps_out = 0; layout = "master"; border_size = 3; "col.active_border" = "rgba(b16286ff)"; @@ -97,7 +100,7 @@ }; decoration = { - rounding = 5; + rounding = 0; shadow = { enabled = true; range = true; @@ -106,7 +109,7 @@ }; animations = { - enabled = true; + enabled = false; bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; animation = [ "windows, 1, 3, myBezier" diff --git a/common/home/programs/waybar/default.nix b/common/home/programs/waybar/default.nix index d02decb..523277b 100644 --- a/common/home/programs/waybar/default.nix +++ b/common/home/programs/waybar/default.nix @@ -1,53 +1,91 @@ { ... }: { - enable = true; - systemd.enable = true; - settings = { - mainBar = { - layer = "top"; - position = "left"; - width = 50; - outputs = "*"; - spacing = 10; - modules-left = [ "hyprland/workspaces" ]; - modules-center = [ ]; - modules-right = [ - "bluetooth" - "pulseaudio" - "battery" - "tray" - ]; + enable = true; + systemd.enable = true; + settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 10; + outputs = "*"; + spacing = 0; + modules-left = [ "hyprland/workspaces" ]; + modules-center = [ ]; + modules-right = [ + "pulseaudio" + "bluetooth" + "battery" + "tray" + ]; - "hyprland/workspaces" = { - format = "{icon}"; - all-outputs = true; - }; + "hyprland/workspaces" = { + format = "{icon}"; + format-icons = { + "1" = "α"; + "2" = "β"; + "3" = "γ"; + "4" = "δ"; + "5" = "ε"; + "6" = "ζ"; + "7" = "η"; + "8" = "θ"; + "9" = "ι"; + "10" = "κ"; + "11" = "α"; + "12" = "β"; + "13" = "γ"; + "14" = "δ"; + "15" = "ε"; + "16" = "ζ"; + "17" = "η"; + "18" = "θ"; + "19" = "ι"; + "20" = "κ"; + "21" = "α"; + "22" = "β"; + "23" = "γ"; + "24" = "δ"; + "25" = "ε"; + "26" = "ζ"; + "27" = "η"; + "28" = "θ"; + "29" = "ι"; + "30" = "κ"; + }; + all-outputs = false; + }; - "hyprland/window" = { - separate-outputs = true; - }; + "hyprland/window" = { + separate-outputs = true; + }; - bluetooth = { - format = ""; - format-disabled = "󰂲"; - format-off = "󰂲"; - format-on = ""; - format-connected = "󰂱"; - on-click = "blueberry"; - }; + bluetooth = { + format = ""; + format-disabled = "󰂲"; + format-off = "󰂲"; + format-on = ""; + format-connected = "󰂱"; + on-click = "blueberry"; + }; - battery = { - states = { - warning = 15; - critical = 5; - }; - }; + battery = { + states = { + warning = 15; + critical = 5; + }; + }; - tray = { - icon-size = 15; - spacing = 10; - }; - }; - }; - style = ./style.css; + tray = { + icon-size = 12; + spacing = 10; + }; + + "pulseaudio/slider" = { + min = 0; + max = 100; + orientation = "horizontal"; + }; + }; + }; + style = ./style.css; } diff --git a/common/home/programs/waybar/style.css b/common/home/programs/waybar/style.css index 99dc06b..6527a9f 100644 --- a/common/home/programs/waybar/style.css +++ b/common/home/programs/waybar/style.css @@ -3,61 +3,50 @@ } window { - background: transparent; + background: #282828; +} + +#pulseaudio { + font-size: 12px; +} + +#bluetooth { + padding-left: 10px; + padding-right: 10px; + font-size: 12px; } #workspaces { - background: #282828; - border-radius: 5px; - margin-left: 10px; - padding: 5px; + padding: 0px; } #workspaces button { - border: 5px solid #282828; padding: 0px; + border-radius: 0px; + min-width: 20px; + min-height: 20px; + border: none; } #workspaces button.active { - border-right: 5px solid #b16286; - border-radius: 0px; + background: #b16286; + color: #1d2021; } #workspaces button:hover { - border-radius: 20px; - border: 5px solid #1d2021; - background: #1d2021; + background: #3c3836; padding: 0px; + border: none; } #workspaces button.active:hover { - border: 5px solid #1d2021; - border-right: 5px solid #b16286; - border-radius: 20px; - background: #1d2021; + background: #b16286; padding: 0px; } -#tray, -#bluetooth, -#pulseaudio -{ - background: #282828; - border-radius: 5px; - margin-left: 10px; - padding: 10px 5px; -} - -#tray window { - border-radius: 5px; -} - #battery { background: #458588; color: #282828; - border-radius: 5px; - margin-left: 10px; - padding: 10px 5px; } #battery.charging { @@ -73,23 +62,9 @@ window { } .modules-left { - margin-top: 10px; + margin-top: 0px; } .modules-right { - margin-bottom: 10px; -} - -.popup menu { - border: 3px solid #3c3836; - border-radius: 10px; - padding: 10px; -} - -.popup menu menuitem { - border-radius: 5px; -} - -.popup decoration { - background: transparent; + margin-right: 10px; } diff --git a/common/home/programs/wofi/default.nix b/common/home/programs/wofi/default.nix index d8cf5a9..07821e1 100644 --- a/common/home/programs/wofi/default.nix +++ b/common/home/programs/wofi/default.nix @@ -1,5 +1,13 @@ { ... }: { - enable = true; - style = builtins.readFile ./style.css; + enable = true; + style = builtins.readFile ./style.css; + settings = { + key_forward = "Alt-j"; + key_backward = "Alt-k"; + location = "top_right"; + gtk_dark = true; + layer = "overlay"; + width = "100%"; + }; } diff --git a/common/home/programs/wofi/style.css b/common/home/programs/wofi/style.css index 7e38346..d4ab36d 100644 --- a/common/home/programs/wofi/style.css +++ b/common/home/programs/wofi/style.css @@ -8,20 +8,21 @@ window { } #outer-box { - border-radius: 10px; + border-radius: 0px; background: transparent; } entry#input { background: #1d2021; - border: 2px solid #b16286; - margin-bottom: 10px; + border: 3px solid #b16286; + margin-bottom: 0px; padding: 10px; - border-radius: 10px; + border-radius: 0px; } #scroll { - border-radius: 10px; - border: 2px solid #3c3836; + border-radius: 0px; + border: 3px solid #b16286; + border-top: none; background: #1d2021; } @@ -31,7 +32,7 @@ entry#input { } .entry { - border-radius: 5px; + border-radius: 0px; border: none; padding: 8px; margin: 2px; diff --git a/common/home/scripts/openproject b/common/home/scripts/openproject index 1c9ca48..768f9eb 100644 --- a/common/home/scripts/openproject +++ b/common/home/scripts/openproject @@ -1,6 +1,6 @@ #!/bin/sh -path=$(find ~ -name '.git' -type d -maxdepth 6 | sed 's/\.git$//' | wofi -d -p 'Open Project') +path=$(find . -name '.git' -type d -maxdepth 6 | sed 's/\.git$//' | wofi -d -p 'Open Project') [ -z "$path" ] && exit diff --git a/flake.lock b/flake.lock index 60247af..92228d9 100644 --- a/flake.lock +++ b/flake.lock @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "type": "github" }, "original": { @@ -217,11 +217,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1738574474, - "narHash": "sha256-rvyfF49e/k6vkrRTV4ILrWd92W+nmBDfRYZgctOyolQ=", + "lastModified": 1739357830, + "narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fecfeb86328381268e29e998ddd3ebc70bbd7f7c", + "rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a", "type": "github" }, "original": { @@ -233,11 +233,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1738546358, - "narHash": "sha256-nLivjIygCiqLp5QcL7l56Tca/elVqM9FG1hGd9ZSsrg=", + "lastModified": 1739446958, + "narHash": "sha256-+/bYK3DbPxMIvSL4zArkMX0LQvS7rzBKXnDXLfKyRVc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c6e957d81b96751a3d5967a0fd73694f303cc914", + "rev": "2ff53fe64443980e139eaa286017f53f88336dd0", "type": "github" }, "original": { @@ -262,11 +262,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738413494, - "narHash": "sha256-qgshhFqTKsPA3QMwPhbYZrvcRCbkzZ/pZNbJSrCtLTE=", + "lastModified": 1739018339, + "narHash": "sha256-/J2H70Gsi13nh8vGEV6aBr+e5avFaGOSr2TF4VjnVAk=", "owner": "nix-community", "repo": "nixvim", - "rev": "3eafee65e0f20684cb09223718195425b54c02a4", + "rev": "9f0cb35c26a7dbc0acce0658f73b08b2198487c6", "type": "github" }, "original": { @@ -286,11 +286,11 @@ ] }, "locked": { - "lastModified": 1737924095, - "narHash": "sha256-9RO/IlxiE7bpY7GYsdDMNB533PnDOBo9UvYyXXqlN4c=", + "lastModified": 1738508923, + "narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=", "owner": "NuschtOS", "repo": "search", - "rev": "5efc9c966bb9bdad07a3c28667eac38b758c6f18", + "rev": "86e2038290859006e05ca7201425ea5b5de4aecb", "type": "github" }, "original": { @@ -332,11 +332,11 @@ ] }, "locked": { - "lastModified": 1738070913, - "narHash": "sha256-j6jC12vCFsTGDmY2u1H12lMr62fnclNjuCtAdF1a4Nk=", + "lastModified": 1738953846, + "narHash": "sha256-yrK3Hjcr8F7qS/j2F+r7C7o010eVWWlm4T1PrbKBOxQ=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "bebf27d00f7d10ba75332a0541ac43676985dea3", + "rev": "4f09b473c936d41582dd744e19f34ec27592c5fd", "type": "github" }, "original": { diff --git a/hosts/workstation/default.nix b/hosts/workstation/default.nix index c024c1c..56c2dc7 100644 --- a/hosts/workstation/default.nix +++ b/hosts/workstation/default.nix @@ -38,12 +38,14 @@ resolution = "preferred"; position = "auto"; scale = 1; + bar.enable = true; }; HDMA-A-1 = { resolution = "preferred"; position = "auto"; scale = 1; + bar.enable = true; }; }; diff --git a/modules/waybar/default.nix b/modules/waybar/default.nix index c6ecfb3..7d6114d 100644 --- a/modules/waybar/default.nix +++ b/modules/waybar/default.nix @@ -9,7 +9,7 @@ }; config = { - home-manager.users.n8.programs.waybar.settings.mainBar.output = ( + home-manager.users.n8.programs.waybar.settings.mainBar.outputs = lib.mkForce ( builtins.map (o: if o == "default" then "*" else toString o) config.bar ); }; -- cgit v1.2.3-70-g09d2