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
|
qadwaitadecorations
|
||||||
kdePackages.qtwayland
|
kdePackages.qtwayland
|
||||||
copilot-node-server
|
copilot-node-server
|
||||||
|
math-preview
|
||||||
]
|
]
|
||||||
++ (with hunspellDicts; [
|
++ (with hunspellDicts; [
|
||||||
en_US-large
|
en_US-large
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
(mouse-autoselect-window t)
|
(mouse-autoselect-window t)
|
||||||
(treesit-font-lock-level 4)
|
(treesit-font-lock-level 4)
|
||||||
(custom-file "~/.config/emacs/custom.el")
|
(custom-file "~/.config/emacs/custom.el")
|
||||||
|
(frame-title-format "%b - Emacs")
|
||||||
:config
|
:config
|
||||||
(set-face-background 'vertical-border (face-background 'default))
|
(set-face-background 'vertical-border (face-background 'default))
|
||||||
(set-display-table-slot standard-display-table 'vertical-border (make-glyph-code ?┃))
|
(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"
|
"test"
|
||||||
(interactive)
|
(interactive)
|
||||||
(with-selected-frame
|
(with-selected-frame
|
||||||
(make-frame '((name . "floating")
|
(make-frame '((name . "Emacs Selector")
|
||||||
(minibuffer . only)
|
(minibuffer . only)
|
||||||
(fullscreen . 0) ; no fullscreen
|
(fullscreen . 0) ; no fullscreen
|
||||||
(undecorated . t) ; remove title bar
|
(undecorated . t) ; remove title bar
|
||||||
|
|
|
@ -27,7 +27,7 @@ in
|
||||||
../waybar
|
../waybar
|
||||||
../swayidle
|
../swayidle
|
||||||
../gammastep
|
../gammastep
|
||||||
# ../swaync
|
../swaync
|
||||||
../foot
|
../foot
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -280,26 +280,29 @@ window-rule {
|
||||||
}
|
}
|
||||||
|
|
||||||
window-rule {
|
window-rule {
|
||||||
geometry-corner-radius 4
|
geometry-corner-radius 4
|
||||||
clip-to-geometry true
|
clip-to-geometry true
|
||||||
}
|
}
|
||||||
|
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"^spotify$"#
|
match app-id=r#"^spotify$"#
|
||||||
open-maximized true
|
open-maximized true
|
||||||
open-on-workspace "spotify"
|
open-on-workspace "spotify"
|
||||||
}
|
}
|
||||||
|
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"^Slack$"#
|
match app-id=r#"^Slack$"#
|
||||||
open-maximized true
|
open-maximized true
|
||||||
}
|
}
|
||||||
|
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"^Element"#
|
match app-id=r#"^Element"#
|
||||||
open-maximized true
|
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+G { spawn "emacsclient" "-c" "--eval" "(switch-to-buffer (gptel \"*ChatGPT*\"))"; }
|
||||||
Mod+Shift+C { spawn "emacsclient" "-c" "--eval" "(org-roam-dailies-capture-today)"; }
|
Mod+Shift+C { spawn "emacsclient" "-c" "--eval" "(org-roam-dailies-capture-today)"; }
|
||||||
Super+Alt+L { spawn "swaylock"; }
|
Super+Alt+L { spawn "swaylock"; }
|
||||||
|
Mod+Space { spawn "rofi" "-show" "menu" "-modi" "menu:rofi-power-menu"; }
|
||||||
|
|
||||||
|
|
||||||
// Example volume keys mappings for PipeWire & WirePlumber.
|
// 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 = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd.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 = ''<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 = [
|
|
||||||
" "
|
|
||||||
" "
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
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
|
# 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 ]}";
|
systemd.user.services.waybar.Service.Environment = "PATH=${lib.makeBinPath [ pkgs.hyprland ]}";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,54 +1,71 @@
|
||||||
* {
|
* {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0;
|
font-family: "Iosevka Comfy", "FontAwesome", "Nerd Font";
|
||||||
min-height: 0;
|
font-size: 1.35rem;
|
||||||
font-family: Fira Code;
|
font-weight: 600;
|
||||||
|
background: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background: rgba(255, 255, 255, 0.05);
|
color: #a5adcb;
|
||||||
color: white;
|
background-color: #181926;
|
||||||
font-size: 1.2rem;
|
|
||||||
|
border-top-right-radius: 5px;
|
||||||
|
border-bottom-right-radius: 5px;
|
||||||
|
}
|
||||||
|
.modules-left,
|
||||||
|
.modules-right,
|
||||||
|
.modules-center {
|
||||||
|
padding: 12px 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button {
|
tooltip {
|
||||||
padding: 0 10px;
|
color: #a5adcb;
|
||||||
background: transparent;
|
background-color: #181926;
|
||||||
color: white;
|
text-shadow: none;
|
||||||
font-size: 2rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.active {
|
tooltip * {
|
||||||
box-shadow: inset 0 -5px red;
|
color: #a5adcb;
|
||||||
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.focused,
|
#custom-sep {
|
||||||
|
color: #494d64;
|
||||||
|
}
|
||||||
#workspaces button:hover {
|
#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 {
|
#custom-powermenu {
|
||||||
/* background: @theme_fg_color; */
|
margin: 12px 0 0 0;
|
||||||
/* color: @theme_selected_bg_color; */
|
color: #6e738d;
|
||||||
}
|
|
||||||
|
|
||||||
#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;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -164,6 +164,7 @@ let
|
||||||
terraform-mode
|
terraform-mode
|
||||||
diredfl
|
diredfl
|
||||||
org-modern
|
org-modern
|
||||||
|
math-preview
|
||||||
org-roam
|
org-roam
|
||||||
org-roam-ql
|
org-roam-ql
|
||||||
org-roam-ui
|
org-roam-ui
|
||||||
|
|
Loading…
Add table
Reference in a new issue