Compare commits
9 commits
8fb56c0005
...
e0d5144389
Author | SHA1 | Date | |
---|---|---|---|
e0d5144389 | |||
37de97df46 | |||
66fd1c3066 | |||
12f1800aed | |||
0c4a52f6ec | |||
1411269c58 | |||
8c18115208 | |||
ba9775666b | |||
12698af186 |
8 changed files with 167 additions and 186 deletions
|
@ -47,6 +47,7 @@ in
|
|||
qadwaitadecorations
|
||||
kdePackages.qtwayland
|
||||
copilot-node-server
|
||||
math-preview
|
||||
]
|
||||
++ (with hunspellDicts; [
|
||||
en_US-large
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
(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 ?┃))
|
||||
|
@ -1020,7 +1021,7 @@ This is meant to be an helper to be called from the window manager."
|
|||
"test"
|
||||
(interactive)
|
||||
(with-selected-frame
|
||||
(make-frame '((name . "floating")
|
||||
(make-frame '((name . "Emacs Selector")
|
||||
(minibuffer . only)
|
||||
(fullscreen . 0) ; no fullscreen
|
||||
(undecorated . t) ; remove title bar
|
||||
|
|
|
@ -27,7 +27,7 @@ in
|
|||
../waybar
|
||||
../swayidle
|
||||
../gammastep
|
||||
# ../swaync
|
||||
../swaync
|
||||
../foot
|
||||
];
|
||||
|
||||
|
|
|
@ -300,6 +300,9 @@ window-rule {
|
|||
open-maximized true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id=r#"^Emacs Selector$"#
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -332,6 +335,7 @@ 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.
|
||||
|
|
78
hmModules/waybar/config.json
Normal file
78
hmModules/waybar/config.json
Normal file
|
@ -0,0 +1,78 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
|
@ -7,144 +7,23 @@
|
|||
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;
|
||||
};
|
||||
catppuccin.waybar.enable = lib.mkForce false;
|
||||
|
||||
"wlr/window" = {
|
||||
max_length = 50;
|
||||
};
|
||||
tray = {
|
||||
spacing = 10;
|
||||
};
|
||||
battery = {
|
||||
format = "{capacity}% {icon}";
|
||||
format-alt = "{time} {icon}";
|
||||
format-charging = "{capacity}% ";
|
||||
format-icons = [
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
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
|
||||
];
|
||||
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 = ''<span style="italic">{}</span>'';
|
||||
};
|
||||
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 = [
|
||||
" "
|
||||
" "
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# 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 ]}";
|
||||
}
|
||||
|
|
|
@ -1,54 +1,71 @@
|
|||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
font-family: Fira Code;
|
||||
font-family: "Iosevka Comfy", "FontAwesome", "Nerd Font";
|
||||
font-size: 1.35rem;
|
||||
font-weight: 600;
|
||||
background: none;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
color: white;
|
||||
font-size: 1.2rem;
|
||||
color: #a5adcb;
|
||||
background-color: #181926;
|
||||
|
||||
border-top-right-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
}
|
||||
.modules-left,
|
||||
.modules-right,
|
||||
.modules-center {
|
||||
padding: 12px 4px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 10px;
|
||||
background: transparent;
|
||||
color: white;
|
||||
font-size: 2rem;
|
||||
tooltip {
|
||||
color: #a5adcb;
|
||||
background-color: #181926;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
box-shadow: inset 0 -5px red;
|
||||
tooltip * {
|
||||
color: #a5adcb;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
#workspaces button.focused,
|
||||
#custom-sep {
|
||||
color: #494d64;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
box-shadow: inset 0 -5px white;
|
||||
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;
|
||||
}
|
||||
|
||||
#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;
|
||||
#custom-powermenu {
|
||||
margin: 12px 0 0 0;
|
||||
color: #6e738d;
|
||||
}
|
||||
|
|
|
@ -164,6 +164,7 @@ let
|
|||
terraform-mode
|
||||
diredfl
|
||||
org-modern
|
||||
math-preview
|
||||
org-roam
|
||||
org-roam-ql
|
||||
org-roam-ui
|
||||
|
|
Loading…
Add table
Reference in a new issue