From 3fbac3596d58b88575d9ab1dfc27523082659be1 Mon Sep 17 00:00:00 2001 From: Jonni Liljamo Date: Mon, 14 Oct 2024 09:28:43 +0300 Subject: [PATCH] feat: hyprland things again --- hosts/alice/hyprland.nix | 192 ++++++++++++++++++++++++++++++++++++++- hosts/arwen/hyprland.nix | 19 ++++ roles/hyprland.nix | 44 +++++---- 3 files changed, 234 insertions(+), 21 deletions(-) diff --git a/hosts/alice/hyprland.nix b/hosts/alice/hyprland.nix index f07b8f1..fd72c11 100644 --- a/hosts/alice/hyprland.nix +++ b/hosts/alice/hyprland.nix @@ -3,6 +3,29 @@ hm = { wayland.windowManager.hyprland.settings = { + exec-once = [ + "waybar" + ]; + + general = { + border_size = 1; + gaps_in = 6; + gaps_out = 12; + }; + + decoration = { + rounding = 8; + drop_shadow = false; + blur = { + enabled = false; + }; + }; + + animations = { + enabled = true; + first_launch_animation = false; + }; + monitor = [ "DP-2,3840x2160@60,0x0,1" "DP-1,2560x1440@59,3840x0,1" @@ -16,7 +39,9 @@ "4,monitor:DP-1" "5,monitor:DP-1" "6,monitor:DP-2,persistent:1" - "7,monitor:HDMI-A-1,persistent:1" + "7,monitor:DP-2,persistent:1" + "8,monitor:HDMI-A-1,persistent:1" + "9,monitor:HDMI-A-1,persistent:1" ]; }; @@ -34,5 +59,170 @@ duration = "15m"; }; }; + + programs.waybar = { + settings = [ + { + output = "DP-2"; + layer = "bottom"; + position = "bottom"; + height = 0; + spacing = 8; + margin = "0 12 12 12"; + + modules-center = ["mpris"]; + modules-right = ["hyprland/workspaces"]; + + mpris = { + format = "{title} - {artist} - {album}"; + }; + + "hyprland/workspaces" = { + format = ""; + persistent-workspaces = { + "DP-2" = [6 7]; + }; + }; + } + { + output = "DP-1"; + layer = "bottom"; + position = "bottom"; + height = 0; + spacing = 8; + margin = "0 12 12 12"; + + modules-left = ["hyprland/window"]; + modules-center = ["hyprland/workspaces"]; + modules-right = ["hyprland/language" "clock" "tray"]; + + "hyprland/workspaces" = { + format = ""; + persistent-workspaces = { + "DP-1" = [1 2 3 4 5]; + }; + }; + + "hyprland/language" = { + format-en = "US"; + format-fi = "FI"; + format-no = "NO"; + }; + + clock = { + format = "{:%H:%M}"; + format-alt = "{:%A, %B %d, %Y (%R)}"; + }; + } + { + output = "HDMI-A-1"; + layer = "bottom"; + position = "top"; + height = 0; + spacing = 8; + margin = "12 12 0 12"; + + modules-left = ["hyprland/workspaces"]; + modules-right = ["cpu" "memory" "disk"]; + + "hyprland/workspaces" = { + format = ""; + persistent-workspaces = { + "HDMI-A-1" = [8 9]; + }; + }; + + cpu = { + format = " {usage}%"; + }; + memory = { + format = " {used}/{total}GiB"; + }; + disk = { + format = " {used}/{total}"; + }; + } + ]; + style = '' + @define-color text #444444; + + /* https://www.color-hex.com/color-palette/45494 */ + @define-color white0 #ffffff; + @define-color white1 #f6f6f6; + @define-color white2 #ececec; + @define-color white3 #e1e1e1; + @define-color white4 #d0d0d0; + + /* https://www.color-hex.com/color-palette/5361 */ + @define-color red #ffb3ba; + @define-color orange #ffdfba; + @define-color yellow #ffffba; + @define-color green #baffc9; + @define-color blue #bae1ff; + + * { + font-family: VictorMono Nerd Font; + border: none; + border-radius: 10px; + } + + window#waybar { + background: transparent; + color: @text; + font-size: 14px; + font-weight: 900; + } + + #clock, + #cpu, + #disk, + #language, + #memory, + #mpris, + #tray, + #window, + #workspaces { + background: @white0; + padding: 0 6px; + } + + #mpris.paused { + color: @orange; + } + + #window { + font-weight: 700; + font-style: italic; + } + + #workspaces button { + background: @white4; + font-size: 0px; + min-height: 10px; + min-width: 10px; + padding: 0px; + margin: 10px; + transition: all 200ms linear; + } + + #workspaces button.empty { + background: @white2; + } + + #workspaces button.visible { + background: @blue; + padding: 0 6px; + } + + #workspaces button.active { + background: @green; + padding: 0 6px; + } + + #workspaces button.urgent { + background: @red; + } + ''; + }; }; } diff --git a/hosts/arwen/hyprland.nix b/hosts/arwen/hyprland.nix index 18967bb..05b1b4f 100644 --- a/hosts/arwen/hyprland.nix +++ b/hosts/arwen/hyprland.nix @@ -3,6 +3,25 @@ hm = { wayland.windowManager.hyprland.settings = { + general = { + border_size = 1; + gaps_in = 2; + gaps_out = 2; + }; + + decoration = { + rounding = false; + drop_shadow = false; + blur = { + enabled = false; + }; + }; + + animations = { + enabled = false; + first_launch_animation = false; + }; + monitor = [ "eDP-1,1920x1080@60,0x0,1" ]; diff --git a/roles/hyprland.nix b/roles/hyprland.nix index 2a5ed52..20eaa27 100644 --- a/roles/hyprland.nix +++ b/roles/hyprland.nix @@ -11,7 +11,11 @@ in { }; config = lib.mkIf cfg.enable { - environment.systemPackages = [pkgs.bemenu]; + environment.systemPackages = [ + pkgs.bemenu + + pkgs.playerctl + ]; programs.hyprland.enable = true; @@ -26,25 +30,6 @@ in { "wpaperd -d" ]; - general = { - border_size = 1; - gaps_in = 2; - gaps_out = 2; - }; - - decoration = { - rounding = false; - drop_shadow = false; - blur = { - enabled = false; - }; - }; - - animations = { - enabled = false; - first_launch_animation = false; - }; - input = { kb_layout = "us,fi,no"; kb_options = "grp:win_space_toggle,ctrl:nocaps"; @@ -91,6 +76,8 @@ in { "$mod, 5, workspace, 5" "$mod, 6, workspace, 6" "$mod, 7, workspace, 7" + "$mod, 8, workspace, 8" + "$mod, 9, workspace, 9" "$mod SHIFT, 1, movetoworkspace, 1" "$mod SHIFT, 2, movetoworkspace, 2" "$mod SHIFT, 3, movetoworkspace, 3" @@ -98,6 +85,8 @@ in { "$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" ]; binde = [ "$mod CTRL, h, resizeactive, -10 0" @@ -149,6 +138,21 @@ in { }; programs.wpaperd.enable = true; + + services.mako = { + enable = true; + maxVisible = 5; + defaultTimeout = 5000; + backgroundColor = "#7298bf"; + textColor = "#e0c296"; + borderColor = "#ffffff"; + borderSize = 2; + }; + + programs.waybar = { + enable = true; + systemd.enable = false; + }; }; }; } -- 2.44.1