diff options
Diffstat (limited to 'dotfiles')
18 files changed, 158 insertions, 68 deletions
diff --git a/dotfiles/common/.config/dunst/dunstrc b/dotfiles/common/.config/dunst/dunstrc index 2cbf0e6..f27bd33 100644 --- a/dotfiles/common/.config/dunst/dunstrc +++ b/dotfiles/common/.config/dunst/dunstrc @@ -13,7 +13,7 @@ notification_limit = 5 gap_size = 12 padding = 12 horizontal_padding = 20 -frame_width = 2 +frame_width = 0 sort = no corner_radius = 10 @@ -27,7 +27,7 @@ frame_color = "#daa520" highlight = "#daa520, #f0c674" # Text (size in points, Pango syntax) -font = BerkeleyMono Nerd Font 13 +font = BerkeleyMono Nerd Font 10 markup = full format = "<small>%a</small>\n<b>%s</b>\n%b" alignment = left diff --git a/dotfiles/common/.config/gtk-3.0/settings.ini b/dotfiles/common/.config/gtk-3.0/settings.ini index 2023ae6..5b2ba74 100644 --- a/dotfiles/common/.config/gtk-3.0/settings.ini +++ b/dotfiles/common/.config/gtk-3.0/settings.ini @@ -3,8 +3,8 @@ gtk-print-backends=file,cups,pdf gtk-theme-name=Adwaita-dark gtk-icon-theme-name=Papirus-Dark gtk-font-name=Cantarell 11 -gtk-cursor-theme-name=Vimix-white-cursors -gtk-cursor-theme-size=0 +gtk-cursor-theme-name=Bibata-Modern-Ice +gtk-cursor-theme-size=24 gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=1 diff --git a/dotfiles/common/.config/topgrade.toml b/dotfiles/common/.config/topgrade.toml index b4434f2..f2dece4 100644 --- a/dotfiles/common/.config/topgrade.toml +++ b/dotfiles/common/.config/topgrade.toml @@ -16,7 +16,7 @@ sudo_command = "sudo" # Disable specific steps - same options as the command line flag # disable = ["system", "emacs"] -disable = ["emacs", "poetry", "gnome_shell_extensions"] +disable = ["emacs", "poetry", "gnome_shell_extensions", "lensfun"] # Ignore failures for these steps # ignore_failures = ["powershell"] diff --git a/dotfiles/hyprland/.config/gammastep/config.ini b/dotfiles/hyprland/.config/gammastep/config.ini index f50a701..bbb15ee 100644 --- a/dotfiles/hyprland/.config/gammastep/config.ini +++ b/dotfiles/hyprland/.config/gammastep/config.ini @@ -1,25 +1,8 @@ -[gammastep] -; Color temperature in Kelvin (same as redshift) +[general] temp-day=6500 temp-night=4500 - -; Brightness (1.0 = full, 0.8 = 20% dimmed) brightness-day=1.0 brightness-night=1.0 - -; Gamma correction gamma=1.0 - -; Fade between day/night fade=1 - -; Wayland adjustment method (not randr) -adjustment-method=wayland - -; Location for sunrise/sunset calculation -location-provider=manual - -[manual] -; New Orleans, LA -lat=29.951065 -lon=-90.071533 +location-provider=geoclue2 diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf index 709865a..755edad 100644 --- a/dotfiles/hyprland/.config/hypr/hyprland.conf +++ b/dotfiles/hyprland/.config/hypr/hyprland.conf @@ -15,7 +15,8 @@ exec-once = waybar exec-once = swww-daemon && sleep 1 && swww img ~/pictures/wallpaper/trondheim-norway.jpg exec-once = dunst exec-once = hypridle -exec-once = gammastep-indicator +exec-once = /usr/lib/geoclue-2.0/demos/agent +exec-once = gammastep exec-once = blueman-applet exec-once = /usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP @@ -23,12 +24,13 @@ exec-once = mpd exec-once = signal-desktop --start-in-tray --ozone-platform=wayland exec-once = protonmail-bridge --no-window exec-once = insync start +exec-once = set-theme "$(cat ~/.config/current-theme 2>/dev/null || echo hudson)" # ============================================================================ # Environment Variables # ============================================================================ env = XCURSOR_SIZE,24 -env = XCURSOR_THEME,capitaine-cursors-light +env = XCURSOR_THEME,Bibata-Modern-Ice env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland @@ -73,7 +75,7 @@ animations { # Layout (master-stack like DWM tile) # ============================================================================ master { - new_status = slave + new_status = master mfact = 0.55 } @@ -100,6 +102,7 @@ input { misc { force_default_wallpaper = 0 disable_hyprland_logo = true + focus_on_activate = true } # ============================================================================ @@ -110,6 +113,27 @@ xwayland { } # ============================================================================ +# Plugins +# ============================================================================ +plugin { + hy3 { + tabs { + col.active = rgba(444444ff) + col.active.text = rgba(bbbbbbff) + col.active.border = rgba(daa520ff) + col.focused = rgba(444444ff) + col.focused.text = rgba(bbbbbbff) + col.focused.border = rgba(daa520ff) + col.inactive = rgba(333333ff) + col.inactive.text = rgba(888888ff) + col.inactive.border = rgba(333333ff) + col.urgent = rgba(cc6666ff) + col.locked = rgba(8abeb7ff) + } + } +} + +# ============================================================================ # Window Rules (Hyprland 0.53+ syntax: match:CONDITION, RULE) # ============================================================================ # Floating windows (from DWM rules) @@ -130,12 +154,12 @@ bind = $mod, T, exec, foot bind = $mod, E, exec, emacsclient -c -a "" || emacs bind = $mod, W, exec, $BROWSER bind = $mod, P, exec, fuzzel +bind = $mod, F, exec, nautilus # From sxhkdrc bind = $mod, SPACE, exec, fuzzel bind = $mod SHIFT, W, exec, $ALTBROWSER bind = CTRL ALT, W, exec, tor-browser -bind = CTRL ALT, F, exec, nautilus bind = $mod, V, exec, virtualbox bind = $mod SHIFT, L, exec, calibre bind = $mod SHIFT, R, exec, shortwave @@ -229,7 +253,6 @@ workspace = special:term, on-created-empty:foot --app-id foot-term tmux workspace = special:audio, on-created-empty:foot --app-id foot-audio pulsemixer workspace = special:monitor, on-created-empty:foot --app-id foot-monitor gotop workspace = special:music, on-created-empty:foot --app-id foot-music ncmpcpp -workspace = special:files, on-created-empty:foot --app-id foot-files ranger workspace = special:htop, on-created-empty:foot --app-id foot-htop htop workspace = special:network, on-created-empty:foot --app-id foot-network nmtui @@ -238,7 +261,6 @@ bind = $mod SHIFT, RETURN, togglespecialworkspace, term bind = $mod, A, togglespecialworkspace, audio bind = $mod, M, togglespecialworkspace, monitor bind = $mod, SLASH, togglespecialworkspace, music -bind = $mod, F, togglespecialworkspace, files bind = $mod SHIFT, H, togglespecialworkspace, htop # Window rules (using app-id/class matching, Hyprland 0.53+ syntax) @@ -262,11 +284,6 @@ windowrule = match:class ^(foot-music)$, float on windowrule = match:class ^(foot-music)$, size (monitor_w*0.6) (monitor_h*0.6) windowrule = match:class ^(foot-music)$, center on -# File manager -windowrule = match:class ^(foot-files)$, float on -windowrule = match:class ^(foot-files)$, size (monitor_w*0.6) (monitor_h*0.6) -windowrule = match:class ^(foot-files)$, center on - # Htop windowrule = match:class ^(foot-htop)$, float on windowrule = match:class ^(foot-htop)$, size (monitor_w*0.6) (monitor_h*0.6) @@ -294,9 +311,9 @@ bind = CTRL ALT, SPACE, exec, amixer set Capture toggle && amixer get Capture | # Bluetooth (from DWM and sxhkdrc) bind = $mod SHIFT, B, exec, blueman-manager -# Screenshots (grim + slurp + satty for annotation) -bind = $mod, S, exec, grim -g "$(slurp)" - | satty --filename - --output-filename ~/pictures/screenshots/$(date +%Y.%m.%d-%H%M%S).png -bind = , Print, exec, grim - | satty --filename - --output-filename ~/pictures/screenshots/$(date +%Y.%m.%d-%H%M%S).png +# Screenshots (grim + slurp + fuzzel menu) +bind = $mod, S, exec, screenshot region +bind = $mod, Print, exec, screenshot fullscreen # Lock screen (from sxhkdrc: super+Escape) bind = $mod, ESCAPE, exec, hyprlock diff --git a/dotfiles/hyprland/.config/themes/dupre/Xresources b/dotfiles/hyprland/.config/themes/dupre/Xresources index be8f7f4..1646b87 100644 --- a/dotfiles/hyprland/.config/themes/dupre/Xresources +++ b/dotfiles/hyprland/.config/themes/dupre/Xresources @@ -4,8 +4,8 @@ !! X Font Settings Xft.dpi: 109 -Xcursor.size: 32 -Xcursor.theme: Vimix-white-cursors +Xcursor.size: 24 +Xcursor.theme: Bibata-Modern-Ice Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintfull diff --git a/dotfiles/hyprland/.config/themes/dupre/dunstrc b/dotfiles/hyprland/.config/themes/dupre/dunstrc index 12ffac0..0847fdf 100644 --- a/dotfiles/hyprland/.config/themes/dupre/dunstrc +++ b/dotfiles/hyprland/.config/themes/dupre/dunstrc @@ -13,7 +13,7 @@ notification_limit = 5 gap_size = 12 padding = 12 horizontal_padding = 20 -frame_width = 2 +frame_width = 0 sort = no corner_radius = 10 @@ -27,7 +27,7 @@ frame_color = "#d7af5f" highlight = "#d7af5f, #ccc768" # Text (size in points, Pango syntax) -font = BerkeleyMono Nerd Font 13 +font = BerkeleyMono Nerd Font 10 markup = full format = "<small>%a</small>\n<b>%s</b>\n%b" alignment = left diff --git a/dotfiles/hyprland/.config/themes/dupre/waybar.css b/dotfiles/hyprland/.config/themes/dupre/waybar.css index e83f851..18ba0f1 100644 --- a/dotfiles/hyprland/.config/themes/dupre/waybar.css +++ b/dotfiles/hyprland/.config/themes/dupre/waybar.css @@ -49,7 +49,7 @@ window#waybar { #cpu, #temperature, #memory, -#disk, +#custom-disk, #custom-netspeed, #battery, #wireplumber, @@ -73,7 +73,7 @@ window#waybar { #cpu:hover, #temperature:hover, #memory:hover, -#disk:hover, +#custom-disk:hover, #custom-netspeed:hover, #wireplumber:hover, #sysmonitor:hover, @@ -90,8 +90,24 @@ window#waybar { color: #969385; } -#wireplumber.muted { - color: #58574e; +#custom-netspeed.disconnected { + color: #d47c59; +} + +#temperature.warning { + color: #d7af5f; +} + +#temperature.critical { + color: #d47c59; +} + +#custom-disk.warning { + color: #d7af5f; +} + +#custom-disk.critical { + color: #d47c59; } #battery.warning { diff --git a/dotfiles/hyprland/.config/themes/hudson/Xresources b/dotfiles/hyprland/.config/themes/hudson/Xresources index 96e4803..4b35809 100644 --- a/dotfiles/hyprland/.config/themes/hudson/Xresources +++ b/dotfiles/hyprland/.config/themes/hudson/Xresources @@ -10,8 +10,8 @@ Xft.hintstyle: hintfull Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb -Xcursor.size: 32 -Xcursor.theme: Vimix-white-cursors +Xcursor.size: 24 +Xcursor.theme: Bibata-Modern-Ice !! Emacs Emacs*toolBar: 0 diff --git a/dotfiles/hyprland/.config/themes/hudson/dunstrc b/dotfiles/hyprland/.config/themes/hudson/dunstrc index 2cbf0e6..f27bd33 100644 --- a/dotfiles/hyprland/.config/themes/hudson/dunstrc +++ b/dotfiles/hyprland/.config/themes/hudson/dunstrc @@ -13,7 +13,7 @@ notification_limit = 5 gap_size = 12 padding = 12 horizontal_padding = 20 -frame_width = 2 +frame_width = 0 sort = no corner_radius = 10 @@ -27,7 +27,7 @@ frame_color = "#daa520" highlight = "#daa520, #f0c674" # Text (size in points, Pango syntax) -font = BerkeleyMono Nerd Font 13 +font = BerkeleyMono Nerd Font 10 markup = full format = "<small>%a</small>\n<b>%s</b>\n%b" alignment = left diff --git a/dotfiles/hyprland/.config/themes/hudson/waybar.css b/dotfiles/hyprland/.config/themes/hudson/waybar.css index 9056529..299f1c2 100644 --- a/dotfiles/hyprland/.config/themes/hudson/waybar.css +++ b/dotfiles/hyprland/.config/themes/hudson/waybar.css @@ -49,7 +49,7 @@ window#waybar { #cpu, #temperature, #memory, -#disk, +#custom-disk, #custom-netspeed, #battery, #wireplumber, @@ -73,7 +73,7 @@ window#waybar { #cpu:hover, #temperature:hover, #memory:hover, -#disk:hover, +#custom-disk:hover, #custom-netspeed:hover, #wireplumber:hover, #sysmonitor:hover, @@ -90,8 +90,24 @@ window#waybar { color: #bbbbbb; } -#wireplumber.muted { - color: #666666; +#custom-netspeed.disconnected { + color: #ff5858; +} + +#temperature.warning { + color: #daa520; +} + +#temperature.critical { + color: #ff5858; +} + +#custom-disk.warning { + color: #daa520; +} + +#custom-disk.critical { + color: #ff5858; } #battery.warning { diff --git a/dotfiles/hyprland/.config/waybar/config b/dotfiles/hyprland/.config/waybar/config index 5b9879e..fdff160 100644 --- a/dotfiles/hyprland/.config/waybar/config +++ b/dotfiles/hyprland/.config/waybar/config @@ -28,7 +28,7 @@ "cpu", "temperature", "memory", - "disk", + "custom/disk", "battery" ] }, @@ -62,6 +62,7 @@ "interval": 10, "hwmon-path-abs": "/sys/devices/pci0000:00/0000:00:18.3/hwmon", "input-filename": "temp1_input", + "warning-threshold": 70, "critical-threshold": 80, "format": "<span size='large'></span> {temperatureC}°C", "format-critical": "<span size='large'></span> {temperatureC}°C", @@ -74,10 +75,11 @@ "on-click": "toggle-scratchpad monitor" }, - "disk": { + "custom/disk": { + "exec": "waybar-disk", + "return-type": "json", "interval": 30, - "format": "<span size='large'></span> {percentage_used}%", - "path": "/", + "format": "<span size='large'></span> {}", "on-click": "toggle-scratchpad monitor" }, diff --git a/dotfiles/hyprland/.config/waybar/style.css b/dotfiles/hyprland/.config/waybar/style.css index 9056529..299f1c2 100644 --- a/dotfiles/hyprland/.config/waybar/style.css +++ b/dotfiles/hyprland/.config/waybar/style.css @@ -49,7 +49,7 @@ window#waybar { #cpu, #temperature, #memory, -#disk, +#custom-disk, #custom-netspeed, #battery, #wireplumber, @@ -73,7 +73,7 @@ window#waybar { #cpu:hover, #temperature:hover, #memory:hover, -#disk:hover, +#custom-disk:hover, #custom-netspeed:hover, #wireplumber:hover, #sysmonitor:hover, @@ -90,8 +90,24 @@ window#waybar { color: #bbbbbb; } -#wireplumber.muted { - color: #666666; +#custom-netspeed.disconnected { + color: #ff5858; +} + +#temperature.warning { + color: #daa520; +} + +#temperature.critical { + color: #ff5858; +} + +#custom-disk.warning { + color: #daa520; +} + +#custom-disk.critical { + color: #ff5858; } #battery.warning { diff --git a/dotfiles/hyprland/.local/bin/pinentry-fuzzel b/dotfiles/hyprland/.local/bin/pinentry-fuzzel index 4cbe6b7..5c64968 100755 --- a/dotfiles/hyprland/.local/bin/pinentry-fuzzel +++ b/dotfiles/hyprland/.local/bin/pinentry-fuzzel @@ -83,7 +83,7 @@ while read cmd rest; do else LABEL="reenter: " fi - PASS=$(fuzzel --prompt "$LABEL" --width 25 --lines 0 --cache /dev/null --password --dmenu) + PASS=$(fuzzel --prompt "$LABEL" --width 35 --lines 0 --cache /dev/null --password --dmenu --border-color=d47c59ff) if [ -z "$PASS" ]; then # User cancelled - return error to GPG rm -f "$LASTFILE" diff --git a/dotfiles/hyprland/.local/bin/screenshot b/dotfiles/hyprland/.local/bin/screenshot new file mode 100755 index 0000000..45925c6 --- /dev/null +++ b/dotfiles/hyprland/.local/bin/screenshot @@ -0,0 +1,23 @@ +#!/bin/sh +# Screenshot tool with fuzzel menu +# Usage: screenshot [region|fullscreen] + +DIR="$HOME/pictures/screenshots" +mkdir -p "$DIR" +FILE="$DIR/$(date +%Y-%m-%d_%H%M%S).png" + +# Capture +case "${1:-region}" in + region) grim -g "$(slurp)" "$FILE" || exit 1 ;; + fullscreen) grim "$FILE" || exit 1 ;; +esac + +# Menu +CHOICE=$(printf ' Copy Path\n Copy Image\n Annotate' | \ + fuzzel --dmenu --prompt "Screenshot: " --width 20 --lines 3) + +case "$CHOICE" in + *"Copy Path"*) echo -n "$FILE" | wl-copy --type text/plain ;; + *"Copy Image"*) wl-copy --type image/png < "$FILE" ;; + *"Annotate"*) satty --filename "$FILE" --output-filename "$FILE" --copy-command wl-copy ;; +esac diff --git a/dotfiles/hyprland/.local/bin/set-theme b/dotfiles/hyprland/.local/bin/set-theme index e95b27b..9bbcbd4 100755 --- a/dotfiles/hyprland/.local/bin/set-theme +++ b/dotfiles/hyprland/.local/bin/set-theme @@ -56,8 +56,13 @@ apply_theme() { # hy3 tab bar (monocle mode) hyprctl keyword plugin:hy3:tabs:col.active "rgba(474544ff)" hyprctl keyword plugin:hy3:tabs:col.active.text "rgba(969385ff)" - hyprctl keyword plugin:hy3:tabs:col.inactive "rgba(d0cbc0ff)" - hyprctl keyword plugin:hy3:tabs:col.inactive.text "rgba(d0cbc0ff)" + hyprctl keyword plugin:hy3:tabs:col.active.border "rgba(d7af5fff)" + hyprctl keyword plugin:hy3:tabs:col.focused "rgba(474544ff)" + hyprctl keyword plugin:hy3:tabs:col.focused.text "rgba(969385ff)" + hyprctl keyword plugin:hy3:tabs:col.focused.border "rgba(d7af5fff)" + hyprctl keyword plugin:hy3:tabs:col.inactive "rgba(2a2725ff)" + hyprctl keyword plugin:hy3:tabs:col.inactive.text "rgba(6c6a60ff)" + hyprctl keyword plugin:hy3:tabs:col.inactive.border "rgba(2a2725ff)" hyprctl keyword plugin:hy3:tabs:col.urgent "rgba(d47c59ff)" hyprctl keyword plugin:hy3:tabs:col.locked "rgba(8a9496ff)" ;; @@ -68,8 +73,13 @@ apply_theme() { # hy3 tab bar (monocle mode) hyprctl keyword plugin:hy3:tabs:col.active "rgba(444444ff)" hyprctl keyword plugin:hy3:tabs:col.active.text "rgba(bbbbbbff)" - hyprctl keyword plugin:hy3:tabs:col.inactive "rgba(c5c8c6ff)" - hyprctl keyword plugin:hy3:tabs:col.inactive.text "rgba(c5c8c6ff)" + hyprctl keyword plugin:hy3:tabs:col.active.border "rgba(daa520ff)" + hyprctl keyword plugin:hy3:tabs:col.focused "rgba(444444ff)" + hyprctl keyword plugin:hy3:tabs:col.focused.text "rgba(bbbbbbff)" + hyprctl keyword plugin:hy3:tabs:col.focused.border "rgba(daa520ff)" + hyprctl keyword plugin:hy3:tabs:col.inactive "rgba(333333ff)" + hyprctl keyword plugin:hy3:tabs:col.inactive.text "rgba(888888ff)" + hyprctl keyword plugin:hy3:tabs:col.inactive.border "rgba(333333ff)" hyprctl keyword plugin:hy3:tabs:col.urgent "rgba(cc6666ff)" hyprctl keyword plugin:hy3:tabs:col.locked "rgba(8abeb7ff)" ;; diff --git a/dotfiles/hyprland/.local/bin/waybar-disk b/dotfiles/hyprland/.local/bin/waybar-disk new file mode 100755 index 0000000..6050653 --- /dev/null +++ b/dotfiles/hyprland/.local/bin/waybar-disk @@ -0,0 +1,7 @@ +#!/bin/sh +# Waybar disk usage module with warning/critical states +PCT=$(df --output=pcent / | tail -1 | tr -d ' %') +CLASS="" +[ "$PCT" -ge 80 ] && CLASS="warning" +[ "$PCT" -ge 90 ] && CLASS="critical" +printf '{"text": "%s%%", "class": "%s", "tooltip": "Root: %s%% used"}\n' "$PCT" "$CLASS" "$PCT" diff --git a/dotfiles/hyprland/.local/bin/waybar-netspeed b/dotfiles/hyprland/.local/bin/waybar-netspeed index 97e8e5e..a6296b0 100755 --- a/dotfiles/hyprland/.local/bin/waybar-netspeed +++ b/dotfiles/hyprland/.local/bin/waybar-netspeed @@ -6,7 +6,7 @@ INTERFACE=$(ip route | awk '/default/ {print $5; exit}') if [ -z "$INTERFACE" ]; then - echo '{"text": " Disconnected", "tooltip": "No network connection", "class": "disconnected"}' + echo '{"text": " Offline", "tooltip": "No network connection", "class": "disconnected"}' exit 0 fi |
