Compare commits

...

22 Commits

Author SHA1 Message Date
6b8532d304 feat(hypr): monitors/workspaces; tuning; chore(waybar,theme)
- theme: add conf.d/theme.conf symlink -> rose-pine.conf
- cursor: set inactive_timeout=0; zoom_factor=1.0; zoom_rigid=false; enable_hyprcursor=true; sync_gsettings_theme=true
- decoration: enable dim_modal
- animations: add specialWorkspace (easeOutQuint, slidevert)
- master: allow_small_split=false; special_scale_factor=0.8; drop_at_cursor=true
- misc: enable vfr=true (keep vrr=2)
- groups: enable render_titles, scrolling; set priority=3
- monitors: add monitorv2 (DP-1 1920x1080@60 @ 0x0; DP-2 1920x1080@144 @ 1920x0, vrr=1)
- workspaces: map 1–5 -> DP-1; 6–10 -> DP-2 (nwg-displays generated)
- waybar: change on-click to "kitty --hold alhp.utils -j"
2025-09-16 17:07:49 +02:00
3ea7d8230c [feat](cs2autoexec) added some settings" 2025-09-13 02:11:31 +02:00
9161dd0311 [fix] removed gestures from hyprland because of update 2025-09-12 22:16:12 +02:00
77d1a4556f [feat](waybar) added alhp module to waybar 2025-09-11 21:06:51 +02:00
91d4729dfa [feat](waybar): Add support for custom/alhp module
[feat](waybar): Add support for custom/alhp module
2025-09-11 20:32:27 +02:00
daeeabddb0 chore(aliases): Updated yadmai-interactive and yadmai-msg aliases to use yadm diff --stage and removed git diff --cached. 2025-09-11 15:58:42 +02:00
e9e6e7a1b1 feat(aliases): Add interactive commit message generation alias using ollama 2025-09-11 15:33:30 +02:00
5ca1977b03 [feat](aliases): Update aliases to use git-change-g3n2b for diff processing and commit message generation.
[refactor](aliases):  The `gaids` alias was refactored to use `git-change-g3n2b` for diff processing.
[feat](aliases): The `gai-interactive` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
[feat](aliases): The `gai-summaary` alias was refactored to use `git-change-g3n2b` for diff processing.
[feat](aliases): The `gai-msg` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
[feat](aliases): The `gai-all` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
[feat](aliases): The `gaicm` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
2025-09-11 15:19:17 +02:00
c022de5a1e feat(zsh): Implement aliases for git diff, commit message generation, and AI-generated commits 2025-09-11 15:11:34 +02:00
5983f3154a feat: Update GTK theme and icons, and adjust Hyprland keybindings
This commit updates the GTK theme to 'rose-pine-gtk' and its associated icon theme to 'rose-pine-icons'.  It also modifies Hyprland keybindings for applications like KeePassXC and adjusts the launcher.
2025-09-09 00:11:44 +02:00
a09095ebc0 autostart files 2025-08-26 15:18:30 +02:00
9afa23d32b added laptop symlink for waybar 2025-08-26 15:16:47 +02:00
1f2a2d2908 added laptop symlink for waybar 2025-08-26 15:15:34 +02:00
1cad14c6b8 waybar config to symlink; 2025-08-26 15:05:52 +02:00
4b78d86a2b added autostart files 2025-08-26 14:58:53 +02:00
11e6d2e510 fixed gamma 2025-08-26 05:53:06 +02:00
b69b54790a fixed gamma 2025-08-26 05:50:03 +02:00
0fa2292e3c added hyprsunset config 2025-08-26 05:46:37 +02:00
f372a94266 new wallpapers fitting for the rosé pine style and gave spotify a theme 2025-08-26 05:41:34 +02:00
c07202ac58 fine tuned the network and made the gaps fitting 2025-08-26 03:12:22 +02:00
eb6cf09597 moved modules of waybar 2025-08-26 03:00:31 +02:00
fe19724470 added swaync and hyprsunset modules to waybar 2025-08-26 02:59:06 +02:00
30 changed files with 1827 additions and 450 deletions

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=Elephant
Comment=A powerful data provider backend for building custom application launchers and desktop utilities.
Exec=elephant
Icon=applications-other
Terminal=false
Categories=Utility;
Keywords=backend;data-provider;launcher;desktop;utility;

View File

@@ -1,4 +0,0 @@
[Desktop Entry]
Exec=/home/mpuchstein/.local/bin/eww open topbar_owlenlap02
Name=eww
Type=Application

View File

@@ -0,0 +1 @@
/usr/share/applications/io.element.Element.desktop

View File

@@ -1,5 +1,5 @@
[Desktop Entry]
Icon=/home/mpuchstein/.local/share/JetBrains/Toolbox/toolbox.svg
Icon=/home/mpuchstein/.local/share/JetBrains/Toolbox/bin/toolbox.svg
Exec=/home/mpuchstein/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox --minimize
Version=1.0
Type=Application

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=Waybar
Comment=Start Waybar on login
Exec=waybar
TryExec=waybar
Icon=waybar
Terminal=false

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=Elephant
Comment=A powerful data provider backend for building custom application launchers and desktop utilities.
Exec=elephant
Icon=applications-other
Terminal=false
Categories=Utility;
Keywords=backend;data-provider;launcher;desktop;utility;

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
Name=Mumble
GenericName=Voice Chat
GenericName[de]=Sprachkonferenz
GenericName[fr]=Chat vocal
Comment=Open source, low-latency, high quality voice chat.
Comment[de]=Ein Open Source Sprachkonferenzprogramm mit niedriger Latenz und hoher Qualität
Comment[fr]=Un logiciel de chat vocal de haute qualité et de faible latence
Exec=mumble %u
Icon=mumble
Terminal=false
Type=Application
StartupNotify=false
StartupWMClass=mumble
MimeType=x-scheme-handler/mumble;
Categories=Network;Chat;Qt;
Keywords=VoIP;Messaging;Voice Chat;Secure Communication;
Version=1.0

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Name=Element
Comment=Feature-rich client for Matrix
Exec=/usr/bin/element-desktop --password-store="gnome-libsecret" %u
Terminal=false
Type=Application
Icon=io.element.Element
StartupWMClass=Element
Categories=Network;InstantMessaging;Chat;IRCClient
MimeType=x-scheme-handler/element;

View File

@@ -0,0 +1,7 @@
[Desktop Entry]
Type=Application
Name=Vesktop
Comment=Vesktop autostart script
Exec="/usr/lib/vesktop/vesktop"
StartupNotify=false
Terminal=false

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=Waybar
Comment=Start Waybar on login
Exec=waybar
TryExec=waybar
Icon=waybar
Terminal=false

View File

@@ -1,6 +1,6 @@
[Settings]
gtk-theme-name=Adwaita
gtk-icon-theme-name=Adwaita
gtk-theme-name=rose-pine-gtk
gtk-icon-theme-name=rose-pine-icons
gtk-font-name=InconsolataGo Nerd Font 9
gtk-cursor-theme-name=volantes
gtk-cursor-theme-size=24
@@ -14,4 +14,4 @@ gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=1
gtk-application-prefer-dark-theme=0

View File

@@ -7,14 +7,13 @@ $terminal = uwsm app -T
$terminal_backup = uwsm app -- kitty
$term_tmux = uwsm app -- kitty tmux a
$filemanager = uwsm app -- nautilus
$launcher = uwsm app -- walker
$clipboard = uwsm app -- nwg-clipman
$launcher = uwsm app -- sherlock
$clipman = uwsm app -- sherlock-clp | sherlock | cliphist decode | wl-copy
$browser = uwsm app -- firefox
$browserprv = uwsm app -- firefox --private-window
$altbrowser = uwsm app -- chromium
$editor = uwsm app -T -- nvim
$alteditor = uwsm app -- zeditor
$clipman = uwsm app -- nwg-clipman
$taskman = uwsm app -- uuctl walker -d
$pwdmgr = uwsm app -- keepassxc
$notcenter = uwsm app -- swaync-client -t -sw

View File

@@ -0,0 +1 @@
rose-pine.conf

View File

@@ -36,7 +36,7 @@ source = ~/.config/hypr/conf.d/theme.conf
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 5
gaps_out = 0,10,10,10
gaps_out = 5,5,5,5
border_size = 2
@@ -63,6 +63,12 @@ cursor {
hide_on_key_press = true # Hide cursor when typing
persistent_warps = true # Cursor returns to last position in window
warp_on_change_workspace = true # Move cursor to focused window on workspace switch
inactive_timeout = 0
zoom_factor = 1.0
zoom_rigid = false
enable_hyprcursor = true
sync_gsettings_theme = true
}
@@ -75,6 +81,7 @@ decoration {
inactive_opacity = 1.0
# Dim inactive windows
dim_modal = true
dim_inactive = true
dim_strength = 0.1
@@ -123,6 +130,7 @@ animations {
animation = workspaces, 1, 1.94, almostLinear, fade
animation = workspacesIn, 1, 1.21, almostLinear, fade
animation = workspacesOut, 1, 1.94, almostLinear, fade
animation = specialWorkspace, 1, 1.5, easeOutQuint, slidevert
}
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
@@ -152,6 +160,10 @@ master {
new_on_top = true
new_on_active = after
inherit_fullscreen = true
allow_small_split = false
special_scale_factor = 0.8
drop_at_cursor = true
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
@@ -159,6 +171,7 @@ misc {
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
vrr = 2
vfr = true
mouse_move_enables_dpms = true
key_press_enables_dpms = true
layers_hog_keyboard_focus = true
@@ -189,11 +202,6 @@ input {
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
#device {
@@ -245,6 +253,10 @@ group {
col.locked_inactive = $groupbar_grouplocked_inactive
gaps_out = 0
gaps_in = 0
render_titles = true
scrolling = true
priority = 3
}
}
@@ -287,6 +299,7 @@ windowrule = workspace 3, class:^(steam|battle\.net\.exe|net\.lutris\.Lutris)$
## ========== System ==========
windowrule = float, class:org.keepassxc.KeePassXC
windowrule = noscreenshare, class:org.keepassxc.KeePassXC
windowrule = size 60%, 60%, class:org.keepassxc.KeePassXC
windowrule = float, class:com.saivert.pwvucontrol
windowrule = float, class:scrrec

View File

@@ -2,7 +2,8 @@ splash = true
splash_offset = 2.0
ipc = true
preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/138 - 1jb5suO.jpg
wallpaper = DP-1, /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/138 - 1jb5suO.jpg
preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/97 - YDJuRTa.jpg
wallpaper = DP-2, /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/97 - YDJuRTa.jpg
preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/rosepinesuccubus10.png
preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/rosepinesuccubus3.png
preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/rosepineskull.png
wallpaper = DP-1, /home/mpuchstein/Pictures/wallpaper/1920x1080/rosepinesuccubus10.png
wallpaper = DP-2, /home/mpuchstein/Pictures/wallpaper/1920x1080/rosepinesuccubus3.png

View File

@@ -0,0 +1,43 @@
max-gamma = 150
profile {
time = 7:30
identity = true
gamma = 1
}
profile {
time = 18:00
temperature = 5000
gamma = 0.90
}
profile {
time = 19:00
temperature = 4500
gamma = 0.90
}
profile {
time = 20:00
temperature = 4000
gamma = 0.90
}
profile {
time = 21:00
temperature = 3500
gamma = 0.80
}
profile {
time = 22:00
temperature = 3000
gamma = 0.80
}
profile {
time = 23:00
temperature = 2500
gamma = 0.80
}

View File

@@ -0,0 +1,13 @@
monitorv2 {
output = DP-1
mode = 1920x1080@60
position = 0x0
scale = 1
}
monitorv2 {
output = DP-2
mode = 1920x1080@144
position = 1920x0
scale = 1
vrr = 1
}

View File

@@ -0,0 +1,12 @@
# Generated by nwg-displays on 2025-08-23 at 18:21:52. Do not edit manually.
workspace=1,monitor:DP-1,default:true
workspace=2,monitor:DP-1
workspace=3,monitor:DP-1
workspace=4,monitor:DP-1
workspace=5,monitor:DP-1
workspace=6,monitor:DP-2,default:true
workspace=7,monitor:DP-2
workspace=8,monitor:DP-2
workspace=9,monitor:DP-2
workspace=10,monitor:DP-2

View File

@@ -1,7 +1,7 @@
[Setting]
spotify_path = $HOME/.local/share/spotify-launcher/install/usr/share/spotify/
current_theme = marketplace
color_scheme =
current_theme = Ziro
color_scheme = rose-pine
inject_theme_js = 1
replace_colors = 1
always_enable_devtools = 0
@@ -19,7 +19,7 @@ expose_apis = 1
[AdditionalOptions]
custom_apps = marketplace
sidebar_config = 1
sidebar_config = 0
home_config = 1
experimental_features = 1
extensions =
@@ -28,5 +28,5 @@ extensions =
; DO NOT CHANGE!
[Backup]
version = 1.2.56.502.ga68d2d4f
with = 2.39.5
version = 1.2.63.394.g126b0d89
with = 2.41.0

View File

@@ -1,228 +1,256 @@
@define-color cc-bg #32302f;
@define-color noti-border-color #32302f;
@define-color noti-bg #3c3836;
@define-color noti-bg-darker #3c3836;
@define-color noti-bg-hover rgb(27, 27, 43);
@define-color noti-bg-focus rgba(27, 27, 27, 0.6);
@define-color text-color #f9f5d7;
@define-color text-color-disabled #bdae93;
@define-color bg-selected #fabd2f;
@define-color rp-base #191724;
@define-color rp-surface #1f1d2e;
@define-color rp-overlay #26233a;
@define-color rp-hl-low #21202e;
@define-color rp-hl-med #403d52;
@define-color rp-hl-high #524f67;
* {
@define-color rp-muted #6e6a86;
@define-color rp-subtle #908caa;
@define-color rp-text #e0def4;
@define-color rp-love #eb6f92;
@define-color rp-gold #f6c177;
@define-color rp-rose #ebbcba;
@define-color rp-pine #31748f;
@define-color rp-foam #9ccfd8;
@define-color rp-iris #c4a7e7;
/* To use Rosé Pine Moon, replace:
rp-base: #232136; rp-surface: #2a273f; rp-overlay: #393552;
rp-hl-low: #2a283e; rp-hl-med: #44415a; rp-hl-high: #56526e;
rp-text: #e0def4; rp-subtle: #908caa; accents same.
For Dawn (light), youll likely also want to invert contrasts. */
@define-color cc-bg @rp-surface;
@define-color noti-border-color @rp-hl-high;
@define-color noti-bg @rp-overlay;
@define-color noti-bg-darker @rp-hl-low;
@define-color noti-bg-hover @rp-hl-med;
@define-color noti-bg-focus alpha(@rp-hl-high, 0.6);
@define-color text-color @rp-text;
@define-color text-color-disabled @rp-subtle;
@define-color bg-selected @rp-iris;
{
font-family: JetBrainsMono NFP;
font-weight: bold;
font-size: 14px
}
font-size: 14px;
}
.control-center .notification-row:focus,
.control-center .notification-row:hover {
opacity: 1;
background: @noti-bg-darker
opacity: 1;
background: @noti-bg-darker;
}
.notification-row {
outline: none;
margin: 20px;
padding: 0;
outline: none;
margin: 20px;
padding: 0;
}
.notification {
background: transparent;
margin: 0px;
background: transparent;
margin: 0px;
}
.notification-content {
background: @cc-bg;
padding: 7px;
border-radius: 0px;
border: 2px solid #85796f;
margin: 0;
background: @cc-bg;
padding: 7px;
border-radius: 0px;
border: 2px solid @noti-border-color;
margin: 0;
}
.close-button {
background: #d79921;
color: @cc-bg;
text-shadow: none;
padding: 0;
border-radius: 0px;
margin-top: 5px;
margin-right: 5px;
background: @rp-gold;
color: @cc-bg;
text-shadow: none;
padding: 0;
border-radius: 0px;
margin-top: 5px;
margin-right: 5px;
}
.close-button:hover {
box-shadow: none;
background: #fabd2f;
transition: all .15s ease-in-out;
border: none
box-shadow: none;
background: @rp-rose;
color: @cc-bg;
transition: all .15s ease-in-out;
border: none;
}
.notification-action {
color: #ebdbb2;
border: 2px solid #85796f;
border-top: none;
border-radius: 0px;
background: #32302F;
color: @text-color;
border: 2px solid @noti-border-color;
border-top: none;
border-radius: 0px;
background: @rp-base;
}
.notification-default-action:hover,
.notification-action:hover {
color: #ebdbb2;
background: #32302F;
color: @text-color;
background: @noti-bg-hover;
}
.summary {
padding-top: 7px;
font-size: 13px;
color: #ebdbb2;
padding-top: 7px;
font-size: 13px;
color: @text-color;
}
.time {
font-size: 11px;
color: #d79921;
margin-right: 24px
font-size: 11px;
color: @rp-gold;
margin-right: 24px;
}
.body {
font-size: 12px;
color: #ebdbb2;
font-size: 12px;
color: @text-color;
}
.control-center {
background: @cc-bg;
border: 2px solid #85796f;
border-radius: 0px;
background: @cc-bg;
border: 2px solid @noti-border-color;
border-radius: 0px;
}
.control-center-list {
background: transparent
background: transparent;
}
.control-center-list-placeholder {
opacity: .5
opacity: .5;
}
.floating-notifications {
background: transparent
background: transparent;
}
.blank-window {
background: alpha(black, 0.1)
background: alpha(@rp-base, 0.1);
}
.widget-title {
color: #f9f5d7;
background: @noti-bg-darker;
padding: 5px 10px;
margin: 10px 10px 5px 10px;
font-size: 1.5rem;
border-radius: 5px;
color: @text-color;
background: @noti-bg-darker;
padding: 5px 10px;
margin: 10px 10px 5px 10px;
font-size: 1.5rem;
border-radius: 5px;
}
.widget-title>button {
font-size: 1rem;
color: @text-color;
text-shadow: none;
background: @noti-bg;
box-shadow: none;
border-radius: 5px;
.widget-title > button {
font-size: 1rem;
color: @text-color;
text-shadow: none;
background: @noti-bg;
box-shadow: none;
border-radius: 5px;
}
.widget-title>button:hover {
background: #d79921;
color: @cc-bg;
.widget-title > button:hover {
background: @rp-gold;
color: @cc-bg;
}
.widget-dnd {
background: @noti-bg-darker;
padding: 5px 10px;
margin: 5px 10px 10px 10px;
border-radius: 5px;
font-size: large;
color: #f2e5bc;
background: @noti-bg-darker;
padding: 5px 10px;
margin: 5px 10px 10px 10px;
border-radius: 5px;
font-size: large;
color: @text-color;
}
.widget-dnd>switch {
border-radius: 4px;
background: #665c54;
.widget-dnd > switch {
border-radius: 4px;
background: @rp-muted;
}
.widget-dnd>switch:checked {
background: #d79921;
border: 1px solid #d79921;
.widget-dnd > switch:checked {
background: @rp-gold;
border: 1px solid @rp-gold;
}
.widget-dnd>switch slider {
background: @cc-bg;
border-radius: 5px
.widget-dnd > switch slider {
background: @cc-bg;
border-radius: 5px;
}
.widget-dnd>switch:checked slider {
background: @cc-bg;
border-radius: 5px
.widget-dnd > switch:checked slider {
background: @cc-bg;
border-radius: 5px;
}
.widget-label {
margin: 10px 10px 5px 10px;
margin: 10px 10px 5px 10px;
}
.widget-label>label {
font-size: 1rem;
color: @text-color;
.widget-label > label {
font-size: 1rem;
color: @text-color;
}
.widget-mpris {
color: @text-color;
background: @noti-bg-darker;
padding: 5px 10px 0px 0px;
margin: 5px 10px 5px 10px;
border-radius: 0px;
color: @text-color;
background: @noti-bg-darker;
padding: 5px 10px 0px 0px;
margin: 5px 10px 5px 10px;
border-radius: 0px;
}
.widget-mpris > box > button {
border-radius: 5px;
border-radius: 5px;
}
.widget-mpris-player {
padding: 5px 10px;
margin: 10px
padding: 5px 10px;
margin: 10px;
}
.widget-mpris-title {
font-weight: 700;
font-size: 1.25rem
font-weight: 700;
font-size: 1.25rem;
}
.widget-mpris-subtitle {
font-size: 1.1rem
font-size: 1.1rem;
color: @text-color-disabled;
}
.widget-buttons-grid {
font-size: x-large;
padding: 5px;
margin: 5px 10px 10px 10px;
border-radius: 5px;
background: @noti-bg-darker;
font-size: x-large;
padding: 5px;
margin: 5px 10px 10px 10px;
border-radius: 5px;
background: @noti-bg-darker;
}
.widget-buttons-grid>flowbox>flowboxchild>button {
margin: 3px;
background: @cc-bg;
border-radius: 5px;
color: @text-color
.widget-buttons-grid > flowbox > flowboxchild > button {
margin: 3px;
background: @cc-bg;
border-radius: 5px;
color: @text-color;
border: 1px solid @noti-border-color;
}
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
background: #d79921;
color: @cc-bg;
.widget-buttons-grid > flowbox > flowboxchild > button:hover {
background: @rp-gold;
color: @cc-bg;
}
.widget-menubar>box>.menu-button-bar>button {
border: none;
background: transparent
.widget-menubar > box > .menu-button-bar > button {
border: none;
background: transparent;
color: @text-color;
}
.topbar-buttons>button {
border: none;
background: transparent
.topbar-buttons > button {
border: none;
background: transparent;
color: @text-color;
}

View File

@@ -1,144 +0,0 @@
{
"layer": "top",
"position": "left",
"output": "DP-1",
"width": 95,
"spacing": 6,
"margin-top": 6,
"margin-bottom": 6,
"modules-left": [
"hyprland/window",
"hyprland/workspaces"
],
"modules-center": [
"cpu",
"memory",
"disk#root",
"network"
],
"modules-right": [
"idle_inhibitor",
"gamemode",
"privacy",
"wireplumber#source",
"wireplumber#sink",
"tray",
"clock"
],
"hyprland/window": {
"format": "{title}",
"max-length": 28,
"icon": true,
"icon-size": 18,
"separate-outputs": false
},
"hyprland/workspaces": {
"format": "{icon} {id}",
"all-outputs": true,
"format-icons": {
"default": "",
"active": "",
"empty": "",
"visible": "",
"persistent": "",
"special": ""
},
"on-scroll-up": "hyprctl dispatch workspace e+1",
"on-scroll-down": "hyprctl dispatch workspace e-1"
},
"cpu": {
"interval": 2,
"format": "{usage}%"
},
"memory": {
"interval": 5,
"format": "{used:0.1f}G/{total:0.1f}G\n{swapUsed:0.1f}G/{swapTotal:0.1f}G"
},
"disk#root": {
"interval": 30,
"format": "/ {percentage_used}%",
"path": "/"
},
"network": {
"interval": 3,
"format-wifi": " {signalStrength}%",
"format-ethernet": " {ifname}\n {bandwidthUpBytes}\n {bandwidthDownBytes}",
"format-disconnected": ""
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
},
"tooltip-format-activated": "Idle inhibited",
"tooltip-format-deactivated": "Idle allowed"
},
"gamemode": {
"format": ""
},
"privacy": {
"icon-size": 16
},
"wireplumber#source": {
"node-type": "Audio/Source",
"format": " {volume}%",
"format-muted": "",
"tooltip-format": "{node_name} {volume}%",
"scroll-step": 5,
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
"on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%-"
},
"wireplumber#sink": {
"format": "{icon} {volume}%",
"format-muted": "",
"format-icons": ["", "", "󰕾", ""],
"scroll-step": 2,
"max-volume": 140,
"tooltip-format": "{node_name} {volume}%",
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
"on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-"
},
"tray": {
"icon-size": 16,
"spacing": 6
},
"clock": {
"format": "{:%H:%M}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "month",
"weeks-pos": "right",
"on-scroll": 1,
"format": {
"months": "<span color='#f6c177'><b>{}</b></span>",
"weekdays": "<span color='#908caa'><b>{}</b></span>",
"days": "<span>{}</span>",
"today": "<span color='#eb6f92'><b><u>{}</u></b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
}
}

1
.config/waybar/config Symbolic link
View File

@@ -0,0 +1 @@
config##hostname.owlenpc00

View File

@@ -0,0 +1,282 @@
{
"layer": "top",
"position": "left",
"output": "eDP-1",
"width": 95,
"spacing": 6,
"margin-top": 6,
"margin-bottom": 6,
"modules-left": [
"clock",
"custom/swaync",
"hyprland/window",
"hyprland/workspaces"
],
"modules-center": [
"cpu",
"memory",
"disk#root",
"network",
"temperature#cpu",
"temperature#gpu_hotspot"
],
"modules-right": [
"idle_inhibitor",
"custom/hyprsunset",
"gamemode",
"privacy",
"wireplumber#source",
"wireplumber#sink",
"tray",
"bluetooth",
"power-profiles-daemon",
"battery"
],
"hyprland/window": {
"format": "{title}",
"max-length": 28,
"icon": true,
"icon-size": 18,
"separate-outputs": false
},
"hyprland/workspaces": {
"format": "{icon} {id}",
"all-outputs": true,
"format-icons": {
"default": "",
"active": "",
"empty": "",
"visible": "",
"persistent": "",
"special": ""
},
"on-scroll-up": "hyprctl dispatch workspace e+1",
"on-scroll-down": "hyprctl dispatch workspace e-1"
},
"cpu": {
"interval": 2,
"format": "{usage}%"
},
"memory": {
"interval": 5,
"format": "{used:0.1f}G/{total:0.1f}G\n{swapUsed:0.1f}G/{swapTotal:0.1f}G"
},
"disk#root": {
"interval": 30,
"format": "/ {percentage_used}%",
"path": "/"
},
"network": {
"interval": 3,
"format-wifi": " {essid}%",
"format-ethernet": " {ifname}",
"tooltip-format-wifi": "{signalStrength}\n {bandwidthUpBytes}\n {bandwidthDownBytes}",
"tooltip-format-ethernet": " {bandwidthUpBytes}\n {bandwidthDownBytes}",
"format-disconnected": ""
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
},
"tooltip-format-activated": "Idle inhibited",
"tooltip-format-deactivated": "Idle allowed"
},
"gamemode": {
"format": ""
},
"privacy": {
"icon-size": 16
},
"wireplumber#source": {
"node-type": "Audio/Source",
"format": " {volume}%",
"format-muted": "",
"tooltip-format": "{node_name} {volume}%",
"scroll-step": 5,
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
"on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%-"
},
"wireplumber#sink": {
"format": "{icon} {volume}%",
"format-muted": "",
"format-icons": ["", "", "󰕾", ""],
"scroll-step": 2,
"max-volume": 140,
"tooltip-format": "{node_name} {volume}%",
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
"on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-"
},
"tray": {
"icon-size": 16,
"spacing": 6
},
"clock": {
"format": "{:%H:%M}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "month",
"weeks-pos": "right",
"on-scroll": 1,
"format": {
"months": "<span color='#f6c177'><b>{}</b></span>",
"weekdays": "<span color='#908caa'><b>{}</b></span>",
"days": "<span>{}</span>",
"today": "<span color='#eb6f92'><b><u>{}</u></b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
"power-profiles-daemon": {
"format": "{icon} {profile}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"performance": "",
"balanced": "",
"power-saver": "",
"default": ""
}
},
"battery": {
"interval": 30,
"states": { "warning": 30, "critical": 15 },
"format": "{capacity}% {icon}",
"format-time": "{H}h {M}m",
"format-icons": ["", "", "", "", ""],
"tooltip": true,
"events": {
"on-discharging-warning": "notify-send -u normal 'Battery low'",
"on-discharging-critical": "notify-send -u critical 'Battery very low'",
"on-charging-100": "notify-send -u normal 'Battery full'"
}
},
"bluetooth": {
"format": "",
"format-disabled": "",
"format-off": "",
"format-on": "",
"tooltip": true,
"on-click": "blueman-manager"
},
"group/temps": {
"orientation": "horizontal",
"drawer": {
"transition-duration": 300,
"transition-left-to-right": true,
"click-to-reveal": true
},
"modules": [
"custom/temps-wrap", // leader, always visible
"temperature#cpu",
"temperature#gpu_hotspot",
"temperature#nvme",
]
},
"custom/temps-wrap": {
"format": "",
"tooltip-format": "Temperatures"
},
"temperature#cpu": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:18.3/hwmon",
"input-filename": "temp1_input",
"interval": 5,
"critical-threshold": 85,
"format": " CPU: {temperatureC}°C",
"format-critical": " CPU: {temperatureC}°C ",
"tooltip-format": "CPU Tctl: {temperatureC}°C"
},
"temperature#gpu_edge": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/0000:11:00.0/0000:12:00.0/hwmon",
"input-filename": "temp1_input",
"interval": 5,
"critical-threshold": 100,
"format": "GPU {temperatureC}°C",
"format-critical": "GPU {temperatureC}°C ",
"tooltip-format": "GPU edge: {temperatureC}°C"
},
"temperature#gpu_hotspot": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/0000:11:00.0/0000:12:00.0/hwmon",
"input-filename": "temp2_input",
"interval": 5,
"critical-threshold": 110,
"format": " GPU: {temperatureC}°C",
"format-critical": " GPU: {temperatureC}°C ",
"tooltip-format": "GPU junction: {temperatureC}°C"
},
"temperature#gpu_mem": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/0000:11:00.0/0000:12:00.0/hwmon",
"input-filename": "temp3_input",
"interval": 5,
"critical-threshold": 100,
"format": " {temperatureC}°C",
"format-critical": " {temperatureC}°C ",
"tooltip-format": "GPU memory: {temperatureC}°C"
},
"temperature#nvme": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:02.2/0000:23:00.0/nvme/nvme0/hwmon",
"input-filename": "temp1_input",
"interval": 10,
"critical-threshold": 85,
"format": " {temperatureC}°C",
"format-critical": " {temperatureC}°C ",
"tooltip-format": "NVMe Composite: {temperatureC}°C"
},
"custom/swaync": {
"format": " {}",
"exec-if": "which swaync-client >/dev/null 2>&1 && pgrep -x swaync >/dev/null 2>&1",
"exec": "swaync-client -c",
"interval": 2,
"on-click": "swaync-client -t -sw",
"on-click-right": "swaync-client -d",
"on-click-middle": "swaync-client -C"
},
"custom/hyprsunset": {
"format": "SUN",
"tooltip": true,
"tooltip-format": "Hyprsunset controls: Left=Enable, Right=Disable, Scroll=Gamma ±10%",
"on-click": "hyprctl hyprsunset temperature 2500", // enable warm tint
"on-click-right": "hyprctl hyprsunset identity", // disable (neutral)
"on-scroll-up": "hyprctl hyprsunset gamma +10", // brighter
"on-scroll-down": "hyprctl hyprsunset gamma -10", // dimmer
"interval": 0
}
}

View File

@@ -0,0 +1,293 @@
{
"layer": "top",
"position": "left",
"output": "DP-1",
"width": 95,
"spacing": 6,
"margin-top": 6,
"margin-bottom": 6,
"modules-left": [
"clock",
"custom/swaync",
"custom/alhp",
"hyprland/window",
"hyprland/workspaces"
],
"modules-center": [
"cpu",
"memory",
"disk#root",
"network",
"temperature#cpu",
"temperature#gpu_hotspot"
],
"modules-right": [
"idle_inhibitor",
"custom/hyprsunset",
"gamemode",
"privacy",
"wireplumber#source",
"wireplumber#sink",
"tray",
"bluetooth",
"power-profiles-daemon",
"battery"
],
"hyprland/window": {
"format": "{title}",
"max-length": 28,
"icon": true,
"icon-size": 18,
"separate-outputs": false
},
"hyprland/workspaces": {
"format": "{icon} {id}",
"all-outputs": true,
"format-icons": {
"default": "",
"active": "",
"empty": "",
"visible": "",
"persistent": "",
"special": ""
},
"on-scroll-up": "hyprctl dispatch workspace e+1",
"on-scroll-down": "hyprctl dispatch workspace e-1"
},
"cpu": {
"interval": 2,
"format": "{usage}%"
},
"memory": {
"interval": 5,
"format": "{used:0.1f}G/{total:0.1f}G\n{swapUsed:0.1f}G/{swapTotal:0.1f}G"
},
"disk#root": {
"interval": 30,
"format": "/ {percentage_used}%",
"path": "/"
},
"network": {
"interval": 3,
"format-wifi": " {essid}%",
"format-ethernet": " {ifname}",
"tooltip-format-wifi": "{signalStrength}\n {bandwidthUpBytes}\n {bandwidthDownBytes}",
"tooltip-format-ethernet": " {bandwidthUpBytes}\n {bandwidthDownBytes}",
"format-disconnected": ""
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
},
"tooltip-format-activated": "Idle inhibited",
"tooltip-format-deactivated": "Idle allowed"
},
"gamemode": {
"format": ""
},
"privacy": {
"icon-size": 16
},
"wireplumber#source": {
"node-type": "Audio/Source",
"format": " {volume}%",
"format-muted": "",
"tooltip-format": "{node_name} {volume}%",
"scroll-step": 5,
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
"on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%-"
},
"wireplumber#sink": {
"format": "{icon} {volume}%",
"format-muted": "",
"format-icons": ["", "", "󰕾", ""],
"scroll-step": 2,
"max-volume": 140,
"tooltip-format": "{node_name} {volume}%",
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
"on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-"
},
"tray": {
"icon-size": 16,
"spacing": 6
},
"clock": {
"format": "{:%H:%M}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "month",
"weeks-pos": "right",
"on-scroll": 1,
"format": {
"months": "<span color='#f6c177'><b>{}</b></span>",
"weekdays": "<span color='#908caa'><b>{}</b></span>",
"days": "<span>{}</span>",
"today": "<span color='#eb6f92'><b><u>{}</u></b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
"power-profiles-daemon": {
"format": "{icon} {profile}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"performance": "",
"balanced": "",
"power-saver": "",
"default": ""
}
},
"battery": {
"interval": 30,
"states": { "warning": 30, "critical": 15 },
"format": "{capacity}% {icon}",
"format-time": "{H}h {M}m",
"format-icons": ["", "", "", "", ""],
"tooltip": true,
"events": {
"on-discharging-warning": "notify-send -u normal 'Battery low'",
"on-discharging-critical": "notify-send -u critical 'Battery very low'",
"on-charging-100": "notify-send -u normal 'Battery full'"
}
},
"bluetooth": {
"format": "",
"format-disabled": "",
"format-off": "",
"format-on": "",
"tooltip": true,
"on-click": "blueman-manager"
},
"group/temps": {
"orientation": "horizontal",
"drawer": {
"transition-duration": 300,
"transition-left-to-right": true,
"click-to-reveal": true
},
"modules": [
"custom/temps-wrap", // leader, always visible
"temperature#cpu",
"temperature#gpu_hotspot",
"temperature#nvme",
]
},
"custom/temps-wrap": {
"format": "",
"tooltip-format": "Temperatures"
},
"temperature#cpu": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:18.3/hwmon",
"input-filename": "temp1_input",
"interval": 5,
"critical-threshold": 85,
"format": " CPU: {temperatureC}°C",
"format-critical": " CPU: {temperatureC}°C ",
"tooltip-format": "CPU Tctl: {temperatureC}°C"
},
"temperature#gpu_edge": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/0000:11:00.0/0000:12:00.0/hwmon",
"input-filename": "temp1_input",
"interval": 5,
"critical-threshold": 100,
"format": "GPU {temperatureC}°C",
"format-critical": "GPU {temperatureC}°C ",
"tooltip-format": "GPU edge: {temperatureC}°C"
},
"temperature#gpu_hotspot": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/0000:11:00.0/0000:12:00.0/hwmon",
"input-filename": "temp2_input",
"interval": 5,
"critical-threshold": 110,
"format": " GPU: {temperatureC}°C",
"format-critical": " GPU: {temperatureC}°C ",
"tooltip-format": "GPU junction: {temperatureC}°C"
},
"temperature#gpu_mem": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/0000:11:00.0/0000:12:00.0/hwmon",
"input-filename": "temp3_input",
"interval": 5,
"critical-threshold": 100,
"format": " {temperatureC}°C",
"format-critical": " {temperatureC}°C ",
"tooltip-format": "GPU memory: {temperatureC}°C"
},
"temperature#nvme": {
"hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:02.2/0000:23:00.0/nvme/nvme0/hwmon",
"input-filename": "temp1_input",
"interval": 10,
"critical-threshold": 85,
"format": " {temperatureC}°C",
"format-critical": " {temperatureC}°C ",
"tooltip-format": "NVMe Composite: {temperatureC}°C"
},
"custom/swaync": {
"format": " {}",
"exec-if": "which swaync-client >/dev/null 2>&1 && pgrep -x swaync >/dev/null 2>&1",
"exec": "swaync-client -c",
"interval": 2,
"on-click": "swaync-client -t -sw",
"on-click-right": "swaync-client -d",
"on-click-middle": "swaync-client -C"
},
"custom/hyprsunset": {
"format": "SUN",
"tooltip": true,
"tooltip-format": "Hyprsunset controls: Left=Enable, Right=Disable, Scroll=Gamma ±10%",
"on-click": "hyprctl hyprsunset temperature 2500", // enable warm tint
"on-click-right": "hyprctl hyprsunset identity", // disable (neutral)
"on-scroll-up": "hyprctl hyprsunset gamma +10", // brighter
"on-scroll-down": "hyprctl hyprsunset gamma -10", // dimmer
"interval": 0
},
"custom/alhp": {
"id": "custom-alhp",
"exec": "$HOME/.config/waybar/scripts/alhp.sh",
"return-type": "json",
"interval": 60,
"tooltip": true,
"format": "{text}",
"on-click": "kitty --hold alhp.utils -j"
}
}

52
.config/waybar/scripts/alhp.sh Executable file
View File

@@ -0,0 +1,52 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
# defaults
text=""
tooltip='All good'
class='good'
# Check if alhp.utils command exists, if not consider it as down
if ! command -v alhp.utils &> /dev/null; then
tooltip="Service unavailable"
text=""
class="down"
else
ALHP_OUTPUT=$(alhp.utils -j)
mirror_stale=$(jq -r '.mirror_out_of_date' <<<"$ALHP_OUTPUT")
total=$(jq -r '.total' <<<"$ALHP_OUTPUT")
mirror_stale=$(jq -r '.mirror_out_of_date' <<<"$ALHP_OUTPUT")
# safe array even if packages is null
readarray -t packages < <(
jq -r '.packages // [] | .[]' <<<"$ALHP_OUTPUT"
)
# 1) Mirror stale? highest priority
if [[ "$mirror_stale" == "true" ]]; then
class="stale"
tooltip="Mirror is out of date"
# 2) Any pending PKGBUILDs?
elif (( total > 0 )); then
class="bad"
text="$total"
tooltip=$(printf "%s\n" "${packages[@]}")
fi
fi
case "$class" in
good) icon=" ";;
stale) icon="󰏖 ";;
bad) icon="󰏗 ";;
down) icon="x ";;
esac
# Emit compact JSON for Statusbar
jq -nc \
--arg text "<span color=\"#4F84CC\">$icon</span> <span color=\"#CAD3E8\">$text</span>" \
--arg class "$class" \
--arg tooltip "$tooltip" \
'{text: $text, class: $class, tooltip: $tooltip}'

View File

@@ -1,27 +1,66 @@
/* Rosé Pine (main) palette
base: #191724 surface: #1f1d2e overlay: #26233a text: #e0def4
muted: #6e6a86 subtle: #908caa
love: #eb6f92 gold: #f6c177 rose: #ea9a97 pine: #31748f foam: #9ccfd8 iris: #c4a7e7
highlight-low: #21202e highlight-med: #403d52 highlight-high: #524f67
*/
@define-color base #191724;
@define-color surface #1f1d2e;
@define-color overlay #26233a;
@define-color text #e0def4;
@define-color muted #6e6a86;
@define-color subtle #908caa;
@define-color love #eb6f92;
@define-color gold #f6c177;
@define-color rose #ea9a97;
@define-color pine #31748f;
@define-color foam #9ccfd8;
@define-color iris #c4a7e7;
@define-color hl_low #21202e;
@define-color hl_med #403d52;
@define-color hl_high #524f67;
/* Bar */
window#waybar {
background: #191724; /* base */
color: #e0def4; /* text */
border-right: 1px solid #21202e; /* highlight-low */
background: @base;
color: @text;
border-right: 1px solid @hl_low;
}
/* Typography */
* {
font-family:
JetBrainsMono Nerd Font,
monospace;
"InconsolataGo Nerd Font Mono", "InconsolataGo Nerd Font", monospace;
font-size: 11px;
}
/* Common module padding for a narrow vertical bar */
#workspaces,
/* Workspaces */
#workspaces {
margin: 1px;
padding: 2px 4px;
background: transparent;
font-size: 10px;
}
#workspaces button {
background: @surface;
color: @text;
border: 1px solid @hl_low;
border-radius: 6px;
margin: 2px;
padding: 3px 6px;
}
#workspaces button:hover {
background: @overlay;
}
#workspaces button.active {
background: @hl_med;
border-color: @hl_high;
color: @text;
}
#workspaces button.urgent {
background: @love;
color: @base;
}
/* Shared pill look for ALL modules - FIXED */
#window,
#cpu,
#memory,
@@ -31,146 +70,319 @@ window#waybar {
#wireplumber,
#clock,
#idle_inhibitor,
#gamemode {
padding: 6px 8px;
#gamemode,
#battery,
#power-profiles-daemon,
#bluetooth,
#group-temps,
#tray,
#temperature,
#custom-swaync,
#custom-hyprsunset,
#custom-alhp {
background: @surface;
color: @text;
border: 1px solid @hl_low;
border-radius: 8px;
padding: 3px 6px;
margin: 2px 4px;
}
/* Window title (top) */
/* Universal hover effects - FIXED */
#window:hover,
#cpu:hover,
#memory:hover,
#disk:hover,
#network:hover,
#privacy:hover,
#wireplumber:hover,
#clock:hover,
#idle_inhibitor:hover,
#gamemode:hover,
#battery:hover,
#power-profiles-daemon:hover,
#bluetooth:hover,
#group-temps:hover,
#tray:hover,
#temperature:hover,
#custom-swaync:hover,
#custom-hyprsunset:hover,
#custom-alhp:hover {
background: @overlay;
}
/* Window title */
#window {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
border-radius: 8px;
margin: 4px 6px 6px 6px;
border-left: 3px solid @iris;
}
/* Workspaces */
#workspaces {
padding: 2px 2px;
}
#workspaces button {
padding: 3px; /* was 6px */
margin: 1px 1px; /* was 3px 2px */
border-radius: 6px;
font-size: 10px; /* was 11px */
}
/* Optional: smaller global font just for workspaces */
#workspaces {
font-size: 10px;
}
#workspaces button:hover {
background: #21202e; /* highlight-low */
color: #e0def4; /* text */
}
#workspaces button.active {
background: #403d52; /* highlight-med */
border-color: #524f67; /* highlight-high */
color: #e0def4; /* text */
}
#workspaces button.urgent {
background: #eb6f92; /* love */
color: #191724; /* base for contrast */
}
/* Center stack (cpu/ram/ssds/network) */
#cpu,
#memory,
#disk,
#network {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
margin: 3px 6px;
border-radius: 8px;
border: 1px solid #21202e; /* highlight-low */
}
/* Accent hints for metrics */
/* Accents for metrics */
#cpu {
border-left: 3px solid #31748f;
} /* pine */
border-left: 3px solid @pine;
}
#memory {
border-left: 3px solid #c4a7e7;
} /* iris */
border-left: 3px solid @iris;
}
#disk {
border-left: 3px solid #9ccfd8;
} /* foam */
border-left: 3px solid @foam;
}
#network {
border-left: 3px solid #f6c177;
} /* gold */
/* Bottom stack */
#privacy,
#wireplumber,
#clock,
#idle_inhibitor,
#gamemode {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
margin: 3px 6px;
border-radius: 8px;
border: 1px solid #21202e; /* highlight-low */
border-left: 3px solid @gold;
}
/* Temperature modules - individual styling for standalone use */
#temperature.cpu {
border-left: 3px solid @pine;
}
#temperature.gpu_edge {
border-left: 3px solid @iris;
}
#temperature.gpu_hotspot {
border-left: 3px solid @rose;
}
#temperature.gpu_mem {
border-left: 3px solid @foam;
}
#temperature.nvme {
border-left: 3px solid @gold;
}
#temperature.critical {
background: @hl_med;
color: @love;
border-left-color: @love;
}
/* WirePlumber / audio */
#wireplumber {
border-left: 3px solid @gold;
}
#wireplumber.muted {
color: @muted;
border-left-color: @hl_high;
}
/* Microphone button (wireplumber#microphone) */
#wireplumber.microphone {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
margin: 3px 6px;
border-radius: 8px;
border: 1px solid #21202e; /* highlight-low */
border-left: 3px solid #f6c177; /* gold */
border-left-color: @gold;
}
#wireplumber.microphone.muted {
border-left-color: #524f67; /* highlight-high when muted */
color: #6e6a86; /* muted */
}
#wireplumber.microphone:hover {
background: #26233a;
} /* overlay */
/* Privacy states (camera/mic/screencast) */
#wireplumber.microphone.muted {
border-left-color: @hl_high;
color: @muted;
}
/* Privacy states */
#privacy.screencast {
border-left: 3px solid #ea9a97;
} /* rose */
border-left: 3px solid @rose;
}
#privacy.microphone {
border-left: 3px solid #f6c177;
} /* gold */
border-left: 3px solid @gold;
}
#privacy.camera {
border-left: 3px solid #c4a7e7;
} /* iris */
border-left: 3px solid @iris;
}
/* Idle inhibitor */
#idle_inhibitor.activated {
border-left: 3px solid #9ccfd8;
} /* foam */
border-left: 3px solid @foam;
}
#idle_inhibitor.deactivated {
border-left: 3px solid #524f67;
} /* highlight-high */
#idle_inhibitor:hover {
background: #26233a;
} /* overlay */
border-left: 3px solid @hl_high;
}
/* Gamemode */
#gamemode {
border-left: 3px solid #f6c177;
}
#gamemode:hover {
background: #26233a;
}
/* Speaker (PipeWire via wireplumber) */
#wireplumber.muted {
color: #6e6a86; /* muted */
border-color: #21202e;
border-left: 3px solid @gold;
}
/* Clock */
#clock {
border-left: 3px solid #9ccfd8; /* foam */
border-left: 3px solid @foam;
}
/* Subtle separators */
.modules-center > *:not(:last-child),
.modules-right > *:not(:last-child) {
border-bottom: 1px solid #21202e; /* highlight-low */
/* Battery */
#battery {
border-left: 3px solid @foam;
}
#battery.warning {
border-left-color: @gold;
}
#battery.critical {
border-left-color: @love;
color: @love;
}
/* Power profiles */
#power-profiles-daemon {
border-left: 3px solid @gold;
}
#power-profiles-daemon.performance {
border-left-color: @love;
}
#power-profiles-daemon.balanced {
border-left-color: @foam;
}
#power-profiles-daemon.power-saver {
border-left-color: @pine;
}
/* Bluetooth */
#bluetooth {
border-left: 3px solid @iris;
}
#bluetooth.off,
#bluetooth.disabled {
color: @muted;
border-left-color: @hl_high;
}
/* Notifications */
#custom-swaync {
border-left: 3px solid @iris;
}
#custom-swaync.dnd {
border-left-color: @gold;
}
/* Night shift */
#custom-hyprsunset {
border-left: 3px solid @rose;
}
/* ALHP custom module - FIXED */
#custom-alhp {
border-left: 3px solid @pine;
}
/* Temps group: outer pill + compact rows */
#group-temps {
border-left: 3px solid @rose;
}
#group-temps > * {
background: transparent;
border: 0;
margin: 0;
padding: 0;
}
#custom-temps-wrap {
padding: 4px 6px;
border-radius: 6px;
}
#group-temps #temperature {
background: transparent;
color: @text;
margin: 2px 0;
padding: 4px 6px;
border-radius: 6px;
}
#group-temps #temperature:hover {
background: @overlay;
}
/* Temperature modules within group - maintain specific colors */
#group-temps #temperature.cpu {
border-left: 3px solid @pine;
}
#group-temps #temperature.gpu_edge {
border-left: 3px solid @iris;
}
#group-temps #temperature.gpu_hotspot {
border-left: 3px solid @rose;
}
#group-temps #temperature.gpu2_edge {
border-left: 3px solid @foam;
}
#group-temps #temperature.nvme {
border-left: 3px solid @gold;
}
#group-temps #temperature.critical {
background: @hl_med;
color: @text;
}
/* Tray */
#tray {
border-left: 3px solid @iris;
}
#tray > .passive {
opacity: 0.7;
}
#tray > .needs-attention {
border-left: 3px solid @love;
}
/* Tooltips */
tooltip,
window#waybar tooltip {
background: @surface;
color: @text;
border: 1px solid @hl_low;
border-radius: 8px;
padding: 6px 8px;
}
/* Popup menus */
menu,
.menu,
popover,
.popover {
background: @surface;
color: @text;
border: 1px solid @hl_low;
border-radius: 8px;
padding: 6px 8px;
}
menuitem,
.menuitem {
background: transparent;
color: @text;
border-radius: 6px;
padding: 6px 8px;
}
menuitem:hover,
.menuitem:hover {
background: @overlay;
}
menuitem:disabled,
.menuitem:disabled {
color: @muted;
}
menu separator,
.menu separator {
background: @hl_low;
min-height: 1px;
margin: 6px 0;
}

435
.config/waybar/style_bk.css Normal file
View File

@@ -0,0 +1,435 @@
/* Rosé Pine (main) palette
base: #191724 surface: #1f1d2e overlay: #26233a text: #e0def4
muted: #6e6a86 subtle: #908caa
love: #eb6f92 gold: #f6c177 rose: #ea9a97 pine: #31748f foam: #9ccfd8 iris: #c4a7e7
highlight-low: #21202e highlight-med: #403d52 highlight-high: #524f67
*/
/* Bar */
window#waybar {
background: #191724; /* base */
color: #e0def4; /* text */
border-right: 1px solid #21202e; /* highlight-low */
}
/* Typography */
* {
font-family:
JetBrainsMono Nerd Font,
monospace;
font-size: 11px;
}
/* Common module padding for a narrow vertical bar */
#workspaces,
#window,
#cpu,
#memory,
#disk,
#network,
#privacy,
#wireplumber,
#clock,
#idle_inhibitor,
#gamemode {
padding: 6px 8px;
}
/* Window title (top) */
#window {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
border-radius: 8px;
margin: 4px 6px 6px 6px;
}
/* Workspaces */
#workspaces {
padding: 2px 2px;
}
#workspaces button {
padding: 3px; /* was 6px */
margin: 1px 1px; /* was 3px 2px */
border-radius: 6px;
font-size: 10px; /* was 11px */
}
/* Optional: smaller global font just for workspaces */
#workspaces {
font-size: 10px;
}
#workspaces button:hover {
background: #21202e; /* highlight-low */
color: #e0def4; /* text */
}
#workspaces button.active {
background: #403d52; /* highlight-med */
border-color: #524f67; /* highlight-high */
color: #e0def4; /* text */
}
#workspaces button.urgent {
background: #eb6f92; /* love */
color: #191724; /* base for contrast */
}
/* Center stack (cpu/ram/ssds/network) */
#cpu,
#memory,
#disk,
#network {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
margin: 3px 6px;
border-radius: 8px;
border: 1px solid #21202e; /* highlight-low */
}
/* Accent hints for metrics */
#cpu {
border-left: 3px solid #31748f;
} /* pine */
#memory {
border-left: 3px solid #c4a7e7;
} /* iris */
#disk {
border-left: 3px solid #9ccfd8;
} /* foam */
#network {
border-left: 3px solid #f6c177;
} /* gold */
/* Bottom stack */
#privacy,
#wireplumber,
#clock,
#idle_inhibitor,
#gamemode {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
margin: 3px 6px;
border-radius: 8px;
border: 1px solid #21202e; /* highlight-low */
}
/* Microphone button (wireplumber#microphone) */
#wireplumber.microphone {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
margin: 3px 6px;
border-radius: 8px;
border: 1px solid #21202e; /* highlight-low */
border-left: 3px solid #f6c177; /* gold */
}
#wireplumber.microphone.muted {
border-left-color: #524f67; /* highlight-high when muted */
color: #6e6a86; /* muted */
}
#wireplumber.microphone:hover {
background: #26233a;
} /* overlay */
/* Privacy states (camera/mic/screencast) */
#privacy.screencast {
border-left: 3px solid #ea9a97;
} /* rose */
#privacy.microphone {
border-left: 3px solid #f6c177;
} /* gold */
#privacy.camera {
border-left: 3px solid #c4a7e7;
} /* iris */
/* Idle inhibitor */
#idle_inhibitor.activated {
border-left: 3px solid #9ccfd8;
} /* foam */
#idle_inhibitor.deactivated {
border-left: 3px solid #524f67;
} /* highlight-high */
#idle_inhibitor:hover {
background: #26233a;
} /* overlay */
/* Gamemode */
#gamemode {
border-left: 3px solid #f6c177;
}
#gamemode:hover {
background: #26233a;
}
/* Speaker (PipeWire via wireplumber) */
#wireplumber.muted {
color: #6e6a86; /* muted */
border-color: #21202e;
}
/* Clock */
#clock {
border-left: 3px solid #9ccfd8; /* foam */
}
/* Subtle separators */
.modules-center > *:not(:last-child),
.modules-right > *:not(:last-child) {
border-bottom: 1px solid #21202e; /* highlight-low */
}
/* SwayNC widget */
#custom-swaync {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
margin: 3px 6px;
border-radius: 8px;
border: 1px solid #21202e; /* highlight-low */
padding: 6px 8px;
border-left: 3px solid #c4a7e7; /* iris */
}
#custom-swaync.dnd {
/* if swaync emits a 'dnd' class */
border-left-color: #f6c177; /* gold */
}
#custom-swaync:hover {
background: #26233a; /* overlay */
}
/* Hyprsunset widget */
#custom-hyprsunset {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
margin: 3px 6px;
border-radius: 8px;
border: 1px solid #21202e; /* highlight-low */
padding: 6px 8px;
border-left: 3px solid #ea9a97; /* rose */
}
#custom-hyprsunset:hover {
background: #26233a; /* overlay */
}
/* Unified pill styling for new modules (Rose Pine) */
#group-temps,
#battery,
#power-profiles-daemon,
#bluetooth,
#group-temps #temperature,
#custom-temps-wrap {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
margin: 3px 6px;
border-radius: 8px;
border: 1px solid #21202e; /* highlight-low */
padding: 6px 8px;
}
/* Tighter padding for the groups revealed children so they fit the narrow bar */
#group-temps #temperature,
#custom-temps-wrap {
padding: 4px 6px;
border-radius: 6px;
}
/* Hover feedback matching other tiles */
#group-temps:hover,
#battery:hover,
#power-profiles-daemon:hover,
#bluetooth:hover,
#group-temps #temperature:hover,
#custom-temps-wrap:hover {
background: #26233a; /* overlay */
}
/* Accent edges for the temperature instances */
#temperature.cpu {
border-left: 3px solid #31748f;
} /* pine */
#temperature.gpu_edge {
border-left: 3px solid #c4a7e7;
} /* iris */
#temperature.gpu_hotspot {
border-left: 3px solid #ea9a97;
} /* rose */
#temperature.gpu2_edge {
border-left: 3px solid #9ccfd8;
} /* foam */
#temperature.nvme {
border-left: 3px solid #f6c177;
} /* gold */
/* Low/critical battery accents */
#battery {
border-left: 3px solid #9ccfd8;
} /* foam */
#battery.warning {
border-left-color: #f6c177;
} /* gold */
#battery.critical {
border-left-color: #eb6f92;
color: #eb6f92;
} /* love */
/* Power profile accents */
#power-profiles-daemon {
border-left: 3px solid #f6c177;
} /* gold */
#power-profiles-daemon.performance {
border-left-color: #eb6f92;
} /* love */
#power-profiles-daemon.balanced {
border-left-color: #9ccfd8;
} /* foam */
#power-profiles-daemon.power-saver {
border-left-color: #31748f;
} /* pine */
/* Bluetooth state accents */
#bluetooth {
border-left: 3px solid #c4a7e7;
} /* iris */
#bluetooth.off,
#bluetooth.disabled {
color: #6e6a86;
border-left-color: #524f67;
} /* muted / highlight-high */
/* Temps group: make the outer pill look like other tiles */
#group-temps {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
margin: 3px 6px;
border-radius: 8px;
border: 1px solid #21202e; /* highlight-low */
padding: 6px 8px; /* match other pills */
border-left: 3px solid #ea9a97; /* rose */
}
/* Reset inner containers so only the outer pill draws the card */
#group-temps > * {
background: transparent;
border: 0;
margin: 0;
padding: 0;
}
/* Leader glyph spacing */
#custom-temps-wrap {
padding: 2px 0 6px 0; /* compact leader inside the pill */
}
/* Children: compact rows inside the pill, not separate cards */
#group-temps #temperature {
background: transparent; /* let the outer pill show through */
color: #e0def4;
margin: 2px 0;
border-radius: 6px;
padding: 4px 6px;
}
/* Hover feedback like other tiles */
#group-temps #temperature:hover,
#group-temps:hover {
background: #26233a; /* overlay */
}
/* Accent edges per instance */
#temperature.cpu {
border-left: 3px solid #31748f;
} /* pine */
#temperature.gpu_edge {
border-left: 3px solid #c4a7e7;
} /* iris */
#temperature.gpu_hotspot {
border-left: 3px solid #ea9a97;
} /* rose */
#temperature.gpu2_edge {
border-left: 3px solid #9ccfd8;
} /* foam */
#temperature.nvme {
border-left: 3px solid #f6c177;
} /* gold */
/* Critical tint consistent with warnings */
#temperature.critical {
background: #403d52; /* highlight-med */
color: #e0def4;
}
/* Tray container (pill) */
#tray {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
margin: 3px 6px;
border-radius: 8px;
border: 1px solid #21202e; /* highlight-low */
padding: 6px 8px;
border-left: 3px solid #c4a7e7; /* iris */
}
/* Tray icon states */
#tray > .passive {
opacity: 0.7; /* muted */
}
#tray > .needs-attention {
border-left: 3px solid #eb6f92; /* love */
animation: tray-attn 1s ease-in-out infinite alternate;
}
@keyframes tray-attn {
from {
opacity: 0.75;
}
to {
opacity: 1;
}
}
/* Hover like other tiles */
#tray:hover {
background: #26233a; /* overlay */
}
/* Tooltips for tray items (Waybar uses GTK tooltips) */
tooltip, /* GTK selector */
window#waybar tooltip {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
border: 1px solid #21202e; /* highlight-low */
border-radius: 8px;
padding: 6px 8px;
}
/* Popup menus opened from tray icons (GTK) */
menu,
.menu,
popover,
.popover {
background: #1f1d2e; /* surface */
color: #e0def4; /* text */
border: 1px solid #21202e; /* highlight-low */
border-radius: 8px;
padding: 6px 8px;
}
/* Menu items */
menuitem,
.menuitem {
background: transparent;
color: #e0def4;
border-radius: 6px;
padding: 6px 8px;
}
menuitem:hover,
.menuitem:hover {
background: #26233a; /* overlay */
}
menuitem:disabled,
.menuitem:disabled {
color: #6e6a86; /* muted */
}
/* Menu separators */
menu separator,
.menu separator {
background: #21202e; /* highlight-low */
min-height: 1px;
margin: 6px 0;
}

1
.config/zsh/.zprofile Normal file
View File

@@ -0,0 +1 @@
emulate sh -c 'source /etc/profile'

View File

@@ -5,6 +5,11 @@ if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# Load personal aliases
if [[ -f "${HOME}/.config/zsh/aliases.zsh" ]]; then
source "${HOME}/.config/zsh/aliases.zsh"
fi
# Variables for ZIM
ZIM_CONFIG_FILE=${ZDOTDIR}/.zimrc
ZIM_HOME=${ZDOTDIR}/zim

43
.config/zsh/aliases.zsh Normal file
View File

@@ -0,0 +1,43 @@
# Basic git diff summarizer
alias gai-summary="git diff | ollama run git-change-g3n2b"
# Full git commit message generation pipeline
alias gai-msg="git diff --cached | ollama run git-change-g3n2b | ollama run git-commit-g3n2b"
# Alternative: analyze all changes (not just staged)
alias gai-all="git diff | ollama run git-change-g3n2b | ollama run git-commit-g3n2b"
# Interactive version - shows summary first, then generates commit message
alias gai-interactive='echo "=== DIFF SUMMARY ===" && git diff --cached | ollama run git-change-g3n2b && echo -e "\n=== COMMIT MESSAGE OPTIONS ===" && git diff --cached | ollama run git-change-g3n2b | ollama run git-commit-g3n2b'
# Shorter aliases for frequent use
alias gaids="git diff --cached | ollama run git-change-g3n2b"
alias gaicm="git diff --cached | ollama run git-change-g3n2b | ollama run git-commit-g3n2b"
# Function for creating commit with AI-generated message
gai-commit() {
if [[ -z $(git diff --cached --name-only) ]]; then
echo "No staged changes found. Stage your changes first with 'git add'."
return 1
fi
echo "Analyzing staged changes..."
local commit_msg=$(git diff --cached | ollama run git-diff-summarizer | ollama run commit-msg-generator)
echo -e "\nGenerated commit message:\n$commit_msg"
echo -e "\nProceed with this commit? (y/n)"
read -r response
if [[ "$response" =~ ^[Yy]$ ]]; then
git commit -m "$commit_msg"
echo "Committed successfully!"
else
echo "Commit cancelled."
fi
}
# Interactive version - shows summary first, then generates commit message
alias yadmai-interactive='echo "=== DIFF SUMMARY ===" && yadm diff --staged | ollama run git-change-g3n2b && echo -e "\n=== COMMIT MESSAGE OPTIONS ===" && yadm diff --staged | ollama run git-change-g3n2b | ollama run git-commit-g3n2b'
# Full git commit message generation pipeline
alias yadmai-msg="yadm diff --staged | ollama run git-change-g3n2b | ollama run git-commit-g3n2b"

View File

@@ -12,16 +12,19 @@ alias -lineupcrosshair "cl_crosshairsize 2"
alias +radarzoom "cl_radar_scale 0.4; cl_radar_always_centered 0"
alias -radarzoom "cl_radar_scale 0.7; cl_radar_always_centered 1"
alias "+bombfind" "+use; gameinstructor_enable 1"
alias "-bombfind" "-use; gameinstructor_enable 0"
//Binds
unbindall
// Movement binds
bind "w" "+forward"
bind "a" "+left"
bind "s" "+back"
bind "d" "+right"
bind "SPACE" "+duck"
bind "W" "+forward"
bind "A" "+left"
bind "S" "+back"
bind "D" "+right"
bind "SPACE" "+duck"
bind "SHIFT" "+sprint"
bind "MWHEELUP" "+jump"
bind "MWHEELDOWN" "+jump"
@@ -30,37 +33,45 @@ bind "MOUSE_X" "yaw"
bind "MOUSE_Y" "pitch"
// Combat binds
bind "MOUSE1" "+attack"
bind "MOUSE2" "+attack2"
bind "CTRL" "+reload"
bind "f" "+use"
bind "g" "drop"
bind "MOUSE4" "+jumpaction;+throwaction;"
bind "MOUSE1" "+attack"
bind "MOUSE2" "+attack2"
bind "CTRL" "+reload"
bind "E" "+use"
bind "F" "+inspect"
bind "G" "drop"
bind "MOUSE4" "+jumpaction;+throwaction;"
bind "R" "+jumpaction;+throwaction;"
bind "H" "+bombfind"
// Slot binds
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"
bind "4" "slot5"
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"
bind "4" "slot5"
// Grenade binds
bind "e" "+lineupcrosshair; buy flashbang; slot7"
bind "v" "+lineupcrosshair; buy incgrenade; slot10"
bind "c" "+lineupcrosshair; buy smokegrenade; slot8"
bind "x" "buy hegrenade; slot6"
bind "z" "buy decoy; slot9"
bind "Z" "+lineupcrosshair; buy flashbang; slot7"
bind "V" "+lineupcrosshair; buy incgrenade; slot10"
bind "C" "+lineupcrosshair; buy smokegrenade; slot8"
bind "X" "buy hegrenade; slot6"
bind "5" "buy decoy; slot9"
// UI binds
bind "TAB" "+radarzoom"
bind "b" "buymenu"
bind "ESCAPE" "cancelselect"
bind "p" "+showscores"
bind "TAB" "+radarzoom"
bind "B" "buymenu"
bind "ESCAPE" "cancelselect"
bind "P" "+showscores"
// Communication and console binds
bind "ENTER" "messagemode"
bind "y" "messagemode2"
bind "q" "player_ping"
bind "`" "toggleconsole"
bind "ENTER" "messagemode"
bind "Y" "messagemode2"
bind "Q" "player_ping"
bind "`" "toggleconsole"
// Buybinds
bind "KP_1" "buy vesthelm; buy vest;"
bind "KP_2" "buy rifle1;"
bind "KP_3" "buy awp;"
// Audio
volume "0.15"
@@ -84,7 +95,7 @@ cl_showloadout "1"
gameinstructor_enable "0"
// Mouse
sensitivity "1"
sensitivity "0.8"
zoom_sensitivity_ratio "0.818933027098955175"
// Radar
@@ -97,6 +108,7 @@ cl_radar_square_with_scoreboard "0"
// Video
fps_max "0"
r_fullscreen_gamma 2.5
// Viewmodel
viewmodel_presetpos "1"
@@ -105,5 +117,12 @@ viewmodel_offset_x "-2.0"
viewmodel_offset_y "-2.0"
viewmodel_offset_z "-2.0"
// Performance
mat_queue_mode "-1"
cl_forcepreload "1"
cl_disable_ragdolls "1"
engine_low_latency_sleep_after_client_tick true
r_show_build_info false
echo "Loaded autoexec.cfg"
host_writeconfig