diff --git a/flake.lock b/flake.lock index ac358f5..7db62b2 100644 --- a/flake.lock +++ b/flake.lock @@ -117,11 +117,11 @@ ] }, "locked": { - "lastModified": 1736591904, - "narHash": "sha256-LFO8pSrPKrH8OPq2HaAuBG5skk8/MNJ/9YmK3KsnSks=", + "lastModified": 1736437680, + "narHash": "sha256-9Sy17XguKdEU9M5peTrkWSlI/O5IAqjHzdzxbXnc30g=", "owner": "nix-community", "repo": "disko", - "rev": "33827d2bd16bfe2e21b62956526c72d313595dfd", + "rev": "4d5d07d37ff773338e40a92088f45f4f88e509c8", "type": "github" }, "original": { @@ -156,11 +156,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1736586776, - "narHash": "sha256-UAt225bI+EmplGmmiWQHzXN18ZxaK2l3PfF/SV/Zldo=", + "lastModified": 1736500450, + "narHash": "sha256-SNi6zF+DIZ2q5+tySVT1deG3XLeKgRBSdXQkdAbfWcQ=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "8e1fd211d50232c3227a6e7a555515e5b3d3e333", + "rev": "a543218ec15d1c97f3735c2698bf91003f470cd2", "type": "github" }, "original": { @@ -267,11 +267,11 @@ ] }, "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "lastModified": 1735774679, + "narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", + "rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66", "type": "github" }, "original": { @@ -687,11 +687,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1736547794, - "narHash": "sha256-fNZm37beJ0ly8NW48bTsLqkxPWROueqvygp33njkxaw=", + "lastModified": 1736275188, + "narHash": "sha256-IWu1aN1MeRCtx0PYIKTvG5iDSOx/JVegm4Y+0lAZGTE=", "ref": "refs/heads/main", - "rev": "d953e138a20d222c8bdbbc2a138afe0e18f79338", - "revCount": 16608, + "rev": "3413ab56292f12ac03ee49270bcaf16038020cb3", + "revCount": 16605, "type": "git", "url": "https://git@git.lix.systems/lix-project/lix" }, @@ -776,11 +776,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1736592044, - "narHash": "sha256-HkaJeIFgxncLm8MC1BaWRTkge9b1/+mjPcbzXTRshoM=", + "lastModified": 1736168988, + "narHash": "sha256-jqH3cfg98+mRSB59WmJuWnvsSyOUNIOVZxf16Mh9/8s=", "owner": "Mic92", "repo": "nix-fast-build", - "rev": "906af17fcd50c84615a4660d9c08cf89c01cef7d", + "rev": "a06a8b2c079f7b6dab491a12555387bdb737cc44", "type": "github" }, "original": { @@ -1497,11 +1497,11 @@ ] }, "locked": { - "lastModified": 1736154270, - "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", + "lastModified": 1735905407, + "narHash": "sha256-1hKMRIT+QZNWX46e4gIovoQ7H8QRb7803ZH4qSKI45o=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", + "rev": "29806abab803e498df96d82dd6f34b32eb8dd2c8", "type": "github" }, "original": { diff --git a/hmModules/emacs/default.nix b/hmModules/emacs/default.nix index 39717d3..ffeeb43 100644 --- a/hmModules/emacs/default.nix +++ b/hmModules/emacs/default.nix @@ -47,7 +47,6 @@ in qadwaitadecorations kdePackages.qtwayland copilot-node-server - math-preview ] ++ (with hunspellDicts; [ en_US-large diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 047e4d3..25a8175 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -56,7 +56,6 @@ (mouse-autoselect-window t) (treesit-font-lock-level 4) (custom-file "~/.config/emacs/custom.el") - (frame-title-format "%b - Emacs") :config (set-face-background 'vertical-border (face-background 'default)) (set-display-table-slot standard-display-table 'vertical-border (make-glyph-code ?┃)) @@ -1021,7 +1020,7 @@ This is meant to be an helper to be called from the window manager." "test" (interactive) (with-selected-frame - (make-frame '((name . "Emacs Selector") + (make-frame '((name . "floating") (minibuffer . only) (fullscreen . 0) ; no fullscreen (undecorated . t) ; remove title bar diff --git a/hmModules/hyprland/default.nix b/hmModules/hyprland/default.nix index 2596638..45852ee 100644 --- a/hmModules/hyprland/default.nix +++ b/hmModules/hyprland/default.nix @@ -27,7 +27,7 @@ in ../waybar ../swayidle ../gammastep - ../swaync + # ../swaync ../foot ]; diff --git a/hmModules/niri/config.kdl b/hmModules/niri/config.kdl index 7d25a06..65a4ae5 100644 --- a/hmModules/niri/config.kdl +++ b/hmModules/niri/config.kdl @@ -280,29 +280,26 @@ window-rule { } window-rule { - geometry-corner-radius 4 - clip-to-geometry true + geometry-corner-radius 4 + clip-to-geometry true } window-rule { - match app-id=r#"^spotify$"# - open-maximized true - open-on-workspace "spotify" + match app-id=r#"^spotify$"# + open-maximized true + open-on-workspace "spotify" } window-rule { - match app-id=r#"^Slack$"# - open-maximized true + match app-id=r#"^Slack$"# + open-maximized true } window-rule { - match app-id=r#"^Element"# - open-maximized true + match app-id=r#"^Element"# + open-maximized true } -window-rule { - match app-id=r#"^Emacs Selector$"# -} @@ -335,7 +332,6 @@ binds { Mod+G { spawn "emacsclient" "-c" "--eval" "(switch-to-buffer (gptel \"*ChatGPT*\"))"; } Mod+Shift+C { spawn "emacsclient" "-c" "--eval" "(org-roam-dailies-capture-today)"; } Super+Alt+L { spawn "swaylock"; } - Mod+Space { spawn "rofi" "-show" "menu" "-modi" "menu:rofi-power-menu"; } // Example volume keys mappings for PipeWire & WirePlumber. diff --git a/hmModules/waybar/config.json b/hmModules/waybar/config.json deleted file mode 100644 index 8d220da..0000000 --- a/hmModules/waybar/config.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "layer": "top", - "position": "left", - "width": 36, - "margin": "12 0 12 0", - "spacing": 2, - "modules-left": ["clock", "custom/sep", "niri/window"], - "modules-center": ["niri/workspaces"], - "modules-right": [ - "tray", - "custom/sep", - "temperature", - "custom/sep", - "pulseaudio", - "custom/powermenu" - ], - "custom/sep": { - "format": "──" - // "format": "" - }, - "custom/powermenu": { - "on-click": "rofi -show menu -modi menu:rofi-power-menu", - "format": "", - "tooltip": false - }, - "niri/workspaces": { - "format": "{icon}", - "on-click": "activate", - "format-icons": { - "active": "", - "urgent": "", - "default": "" - } - }, - "niri/window": { - "rotate": 90, - "rewrite": { - "(.*) — Mozilla Firefox": " $1", - "(.*) - Emacs": " $1", - "(.*) - Slack": " $1" - } - }, - "clock": { - "tooltip": true, - "format": "{:%H\n%M}", - "tooltip-format": "{:%Y-%m-%d}" - }, - "tray": { - "icon-size": 20, - "spacing": 5, - "show-passive-items": "false" - }, - "temperature": { - "rotate": 90, - "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - "format": "{icon} {temperatureC}°C", - "format-icons": ["", "", ""] - }, - "pulseaudio": { - "rotate": 90, - "format": "{icon} {volume}%", - "format-bluetooth": "{icon} {volume}%", - "format-muted": "MUTE ", - "format-icons": { - "headphones": "", - "handsfree": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", ""] - }, - "scroll-step": 3, - "on-click": "pavucontrol", - "on-click-right": "pactl set-source-mute @DEFAULT_SOURCE@ toggle" - } -} diff --git a/hmModules/waybar/default.nix b/hmModules/waybar/default.nix index 0e544d9..5bd7bb9 100644 --- a/hmModules/waybar/default.nix +++ b/hmModules/waybar/default.nix @@ -7,23 +7,144 @@ programs.waybar = { enable = true; systemd.enable = true; + style = builtins.readFile ./style.css; + settings = { + mainBar = { + ipc = true; + layer = "top"; + position = "top"; + height = 30; + + modules-left = [ + "wlr/mode" + "hyprland/workspaces" + "niri/workspaces" + ]; + modules-center = [ + "hyprland/window" + "niri/window" + ]; + modules-right = [ + "network" + "tray" + "pulseaudio" + "cpu" + "memory" + "temperature" + "backlight" + "battery" + "clock" + ]; + + "hyprland/workspaces" = { + all-outputs = true; + disable-scroll-wraparound = true; + # format = "{icon}"; + on-click = "activate"; + # format-icons = { + # "1" = ""; + # "2" = ""; + # "3" = ""; + # "9" = "ﬧ"; + # urgent = ""; + # }; + # sort-by-number = true; + }; + + "wlr/mode" = { + tooltip = false; + }; + + "wlr/window" = { + max_length = 50; + }; + tray = { + spacing = 10; + }; + battery = { + format = "{capacity}% {icon}"; + format-alt = "{time} {icon}"; + format-charging = "{capacity}% "; + format-icons = [ + " " + " " + " " + " " + " " + ]; + format-plugged = "{capacity}%  "; + states = { + critical = 15; + warning = 30; + }; + }; + clock = { + format-alt = "{:%Y-%m-%d}"; + tooltip-format = "{:%Y-%m-%d | %H:%M}"; + }; + cpu = { + format = "{usage}% "; + tooltip = false; + }; + memory = { + format = "{}% "; + }; + network = { + interval = 1; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + format-disconnected = "Disconnected ⚠"; + format-ethernet = "{ifname}: {ipaddr}/{cidr} 󰈀 up: {bandwidthUpBits:>4} down: {bandwidthDownBits:>4}"; + format-linked = "{ifname} (No IP) "; + format-wifi = "{essid} ({signalStrength}%)  {ipaddr}/{cidr} up: {bandwidthUpBits:>4} down: {bandwidthDownBits:>4}"; + }; + pulseaudio = { + format = "{volume}% {icon} {format_source}"; + format-bluetooth = "{volume}% {icon} {format_source}"; + format-bluetooth-muted = " {icon} {format_source}"; + format-icons = { + car = ""; + default = [ + " " + " " + " " + ]; + handsfree = ""; + headphones = " "; + headset = ""; + phone = ""; + portable = ""; + }; + format-muted = " {format_source}"; + format-source = "{volume}% "; + format-source-muted = ""; + on-click = "${pkgs.pavucontrol}/bin/pavucontrol"; + }; + "wlr/mode" = { + format = ''{}''; + }; + temperature = { + critical-threshold = 80; + format = "{temperatureC}°C {icon}"; + format-icons = [ + "" + "" + "" + ]; + hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; # picard FIXME + # hwmon-path = "/sys/class/thermal/thermal_zone4/temp"; # thinkpad + }; + backlight = { + device = "ddcci2"; + format = "{percent}% {icon}"; + format-icons = [ + " " + " " + ]; + }; + }; + }; }; - catppuccin.waybar.enable = lib.mkForce false; - - home.activation.linkWaybarConfig = lib.hm.dag.entryAnywhere '' - if [ ! -d "$HOME/.config/waybar" ]; then - $DRY_RUN_CMD mkdir -p "$HOME/.config/waybar" - $DRY_RUN_CMD ln -s "$HOME/projects/aciceri/nixfleet/hmModules/waybar/config.json" "$HOME/.config/waybar/config" - $DRY_RUN_CMD ln -s "$HOME/projects/aciceri/nixfleet/hmModules/waybar/style.css" "$HOME/.config/waybar/style.css" - fi - ''; - - home.packages = with pkgs; [ - rofi-power-menu - ]; - # waybar needs the hyprctl binary in PATH when started in hyprland - # TODO still needed? systemd.user.services.waybar.Service.Environment = "PATH=${lib.makeBinPath [ pkgs.hyprland ]}"; } diff --git a/hmModules/waybar/style.css b/hmModules/waybar/style.css index dc40a39..1358583 100644 --- a/hmModules/waybar/style.css +++ b/hmModules/waybar/style.css @@ -1,71 +1,54 @@ * { border: none; - font-family: "Iosevka Comfy", "FontAwesome", "Nerd Font"; - font-size: 1.35rem; - font-weight: 600; - background: none; + border-radius: 0; + min-height: 0; + font-family: Fira Code; } window#waybar { - color: #a5adcb; - background-color: #181926; - - border-top-right-radius: 5px; - border-bottom-right-radius: 5px; -} -.modules-left, -.modules-right, -.modules-center { - padding: 12px 4px; + background: rgba(255, 255, 255, 0.05); + color: white; + font-size: 1.2rem; } -tooltip { - color: #a5adcb; - background-color: #181926; - text-shadow: none; -} - -tooltip * { - color: #a5adcb; - text-shadow: none; -} - -#custom-sep { - color: #494d64; -} -#workspaces button:hover { - box-shadow: inherit; - text-shadow: inherit; -} #workspaces button { - color: #5b6078; - background: none; - padding: 0; -} -#workspaces button:hover { - color: #a6da95; -} -#workspaces button.active { - color: #f5bde6; -} -#temperature { - color: #eed49f; -} -#clock { - font-weight: 600; - color: #8bd5ca; -} -#custom-bluetooth_devices { - color: #8aadf4; -} -#pulseaudio { - color: #a6da95; -} -#pulseaudio.muted { - color: #ed8796; + padding: 0 10px; + background: transparent; + color: white; + font-size: 2rem; } -#custom-powermenu { - margin: 12px 0 0 0; - color: #6e738d; +#workspaces button.active { + box-shadow: inset 0 -5px red; +} + +#workspaces button.focused, +#workspaces button:hover { + box-shadow: inset 0 -5px white; +} + +#workspaces button.urgent { + /* background: @theme_fg_color; */ + /* color: @theme_selected_bg_color; */ +} + +#mode { + margin: 0 4px; + padding: 0 4px; + /* background: @theme_fg_color; */ + /* color: @unfocused_borders; */ +} + +#pulseaudio, +#network, +#cpu, +#memory, +#disk, +#temperature, +#battery, +#language, +#clock, +#tray { + margin: 0 4px; + padding: 0 2px; } diff --git a/packages/emacs/packages.nix b/packages/emacs/packages.nix index 33122dd..fde9e30 100644 --- a/packages/emacs/packages.nix +++ b/packages/emacs/packages.nix @@ -164,7 +164,6 @@ let terraform-mode diredfl org-modern - math-preview org-roam org-roam-ql org-roam-ui