Skip to content

Instantly share code, notes, and snippets.

@jlindsey
Last active February 6, 2026 23:24
Show Gist options
  • Select an option

  • Save jlindsey/aad750c188184e119923bd37031fe7fd to your computer and use it in GitHub Desktop.

Select an option

Save jlindsey/aad750c188184e119923bd37031fe7fd to your computer and use it in GitHub Desktop.
Hyprland stuff
# ~/.config/kitty/kitty.conf
# ─── Font ────────────────────────────────────────────────────────────────────
font_family Hack
bold_font Hack Bold
italic_font Hack Italic
bold_italic_font Hack Bold Italic
font_size 11.0
# ─── Theme (Catppuccin Mocha-ish to match the waybar style) ─────────────────
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
cursor #f5e0dc
cursor_text_color #1e1e2e
url_color #89b4fa
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8
# ─── Window ──────────────────────────────────────────────────────────────────
window_padding_width 6
background_opacity 0.95
confirm_os_window_close 0
# ─── Scrollback ──────────────────────────────────────────────────────────────
scrollback_lines 10000
# ─── Bell ────────────────────────────────────────────────────────────────────
enable_audio_bell no
/* ~/.config/waybar/style.css */
/* ─── Global ──────────────────────────────────────────────────────── */
* {
font-family: "Hack Nerd Font", "Font Awesome 6 Free", sans-serif;
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
/* ─── Bar itself: fully transparent so pills float ────────────────── */
window#waybar {
background: transparent;
color: #cdd6f4;
}
/* ─── Pill base: shared style for all module groups ───────────────── */
#workspaces,
#window,
#clock,
#hardware,
#status,
#session {
background-color: rgba(30, 30, 46, 0.85);
border-radius: 12px;
margin: 4px 4px;
padding: 0 12px;
}
/* ─── Workspaces ──────────────────────────────────────────────────── */
#workspaces {
padding: 0 6px;
}
#workspaces button {
color: #585b70;
background: transparent;
padding: 4px 6px;
margin: 2px 1px;
border-radius: 8px;
transition: all 0.2s ease;
}
#workspaces button.active {
color: #89b4fa;
background-color: rgba(137, 180, 250, 0.15);
}
#workspaces button.empty {
color: #45475a;
}
#workspaces button:hover {
color: #cdd6f4;
background-color: rgba(108, 112, 134, 0.3);
}
/* ─── Window title ────────────────────────────────────────────────── */
#window {
color: #a6adc8;
font-style: italic;
padding: 0 16px;
}
window#waybar.empty #window {
background: transparent;
padding: 0;
margin: 0;
}
/* ─── Clock (center pill) ─────────────────────────────────────────── */
#clock {
font-weight: bold;
color: #cdd6f4;
padding: 0 16px;
}
/* ─── Module pills on the right ───────────────────────────────────── */
/* Individual module spacing inside pills */
#cpu,
#memory,
#temperature,
#pulseaudio,
#backlight,
#battery,
#network,
#custom-notification,
#tray,
#custom-power {
padding: 4px 8px;
}
/* Subtle separators between modules inside a pill */
#cpu,
#memory,
#pulseaudio,
#backlight,
#battery,
#network,
#tray {
border-right: 1px solid rgba(108, 112, 134, 0.25);
}
/* ─── Hardware group colors ───────────────────────────────────────── */
#cpu {
color: #89b4fa;
}
#memory {
color: #94e2d5;
}
#temperature {
color: #a6e3a1;
}
#temperature.critical {
color: #f38ba8;
}
/* ─── Status group colors ─────────────────────────────────────────── */
#pulseaudio {
color: #f5c2e7;
}
#pulseaudio.muted {
color: #585b70;
}
#backlight {
color: #f9e2af;
}
#battery {
color: #a6e3a1;
}
#battery.warning {
color: #f9e2af;
}
#battery.critical {
color: #f38ba8;
animation: blink 1s ease infinite;
}
#battery.charging {
color: #a6e3a1;
}
#network {
color: #89b4fa;
}
#network.disconnected {
color: #585b70;
}
#custom-notification {
color: #f9e2af;
}
/* ─── Session group ───────────────────────────────────────────────── */
#tray {
color: #cdd6f4;
}
#custom-power {
color: #f38ba8;
padding: 4px 10px 4px 8px;
font-size: 15px;
}
#custom-power:hover {
color: #eba0ac;
}
/* ─── Tooltip ─────────────────────────────────────────────────────── */
tooltip {
background-color: rgba(30, 30, 46, 0.95);
border: 1px solid rgba(137, 180, 250, 0.4);
border-radius: 8px;
color: #cdd6f4;
}
tooltip label {
color: #cdd6f4;
}
/* ─── Blink animation for critical battery ────────────────────────── */
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
// ~/.config/waybar/config.jsonc
{
"layer": "top",
"position": "top",
"height": 38,
"margin-top": 6,
"margin-left": 10,
"margin-right": 10,
"spacing": 0,
"modules-left": [
"hyprland/workspaces",
"hyprland/window"
],
"modules-center": [
"clock"
],
"modules-right": [
"group/hardware",
"group/status",
"group/session"
],
// ─── Left ────────────────────────────────────────────────────────
"hyprland/workspaces": {
"format": "{icon}",
"format-icons": {
"active": "",
"default": "",
"empty": ""
},
"persistent-workspaces": {
"*": 5
}
},
"hyprland/window": {
"format": "{}",
"max-length": 40,
"rewrite": {
"(.*) — Mozilla Firefox": " $1",
"(.*) - kitty": " $1",
"(.*) — Dolphin": " $1"
},
"separate-outputs": true
},
// ─── Center ──────────────────────────────────────────────────────
"clock": {
"format": " {:%H:%M}",
"format-alt": " {:%A, %B %d, %Y}",
"tooltip-format": "<tt>{calendar}</tt>"
},
// ─── Right groups ────────────────────────────────────────────────
"group/hardware": {
"orientation": "horizontal",
"modules": [
"cpu",
"memory",
"temperature"
]
},
"cpu": {
"format": " {usage}%",
"interval": 5,
"tooltip": true
},
"memory": {
"format": " {percentage}%",
"interval": 5,
"tooltip-format": "{used:0.1f} GiB / {total:0.1f} GiB"
},
"temperature": {
"format": " {temperatureC}°",
"critical-threshold": 80,
"format-critical": " {temperatureC}°",
"tooltip": true
},
"group/status": {
"orientation": "horizontal",
"modules": [
"pulseaudio",
"backlight",
"battery",
"network",
"custom/notification"
]
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": "󰖁 muted",
"format-icons": {
"default": ["", "", ""]
},
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
"scroll-step": 5
},
"backlight": {
"format": "󰃠 {percent}%"
},
"battery": {
"states": {
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": "󱐋 {capacity}%",
"format-icons": ["", "", "", "", ""]
},
"network": {
"format-wifi": " {signalStrength}%",
"format-ethernet": "󰈀 {ifname}",
"format-disconnected": "󰖪 off",
"tooltip-format-wifi": "{essid}\n{ipaddr}/{cidr}\n {bandwidthUpBits} {bandwidthDownBits}",
"tooltip-format-ethernet": "{ifname}\n{ipaddr}/{cidr}",
"interval": 5
},
"custom/notification": {
"tooltip": false,
"format": "{icon}",
"format-icons": {
"notification": "󱅫",
"none": "󰂚",
"dnd-notification": "󰂛",
"dnd-none": "󰂛"
},
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"on-click": "swaync-client -t -sw",
"on-click-right": "swaync-client -d -sw",
"escape": true
},
"group/session": {
"orientation": "horizontal",
"modules": [
"tray",
"custom/power"
]
},
"tray": {
"spacing": 8,
"icon-size": 16
},
"custom/power": {
"format": "⏻",
"tooltip-format": "Power menu",
"on-click": "hyprctl dispatch exit"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment