feat(hypr): extend cfgs

feat(distro): extend stub arch setup script

Extended hypr configs (only base/example config files without
any themes to this repo for now - pending some polishing/refactoring).

Added stubs for adding soem of my `plymouth` and `sddm` theming to my
dots repo.
This commit is contained in:
2026-02-08 13:16:30 +00:00
parent c8a2fb6dd3
commit 73ced94bc1
6 changed files with 182 additions and 4 deletions

View File

@@ -9,13 +9,18 @@
# exec-once = nm-applet & # exec-once = nm-applet &
# exec-once = waybar & hyprpaper & firefox # exec-once = waybar & hyprpaper & firefox
# TODO: start polkit (separate exec-once) # Start polkit agent
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# TODO: load wallpaper manager # Load wallpaper manager / daemon
# NOTE: using `awww` in dots, instead of `wpaperd`/`swaybg` for now
exec-once = awww-daemon
# Notifications Daemon # Notifications Daemon
exec-once = swaync exec-once = swaync
# TODO: hyprlock setup (hypridle?) # Hyprlock + Hypridle Setup
exec-once = hypridle
# Start launcher apps
exec-once = waybar exec-once = waybar

View File

@@ -0,0 +1,37 @@
# NOTE: Example config (pending reworking my own hypr-rice)
# SOURCE: https://wiki.hypr.land/Hypr-Ecosystem/hypridle/
general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
}
listener {
timeout = 150 # 2.5min.
on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume = brightnessctl -r # monitor backlight restore.
}
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
listener {
timeout = 150 # 2.5min.
on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
}
listener {
timeout = 300 # 5min
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
timeout = 330 # 5.5min
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired.
}
listener {
timeout = 1800 # 30min
on-timeout = systemctl suspend # suspend pc
}

View File

@@ -0,0 +1,106 @@
# sample hyprlock.conf
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
#
# rendered text in all widgets supports pango markup (e.g. <b> or <i> tags)
# ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#general-remarks
#
# shortcuts to clear password buffer: ESC, Ctrl+U, Ctrl+Backspace
#
# you can get started by copying this config to ~/.config/hypr/hyprlock.conf
#
$font = Monospace
general {
hide_cursor = false
}
# uncomment to enable fingerprint authentication
# auth {
# fingerprint {
# enabled = true
# ready_message = Scan fingerprint to unlock
# present_message = Scanning...
# retry_delay = 250 # in milliseconds
# }
# }
animations {
enabled = true
bezier = linear, 1, 1, 0, 0
animation = fadeIn, 1, 5, linear
animation = fadeOut, 1, 5, linear
animation = inputFieldDots, 1, 2, linear
}
background {
monitor =
path = screenshot
blur_passes = 3
}
input-field {
monitor =
size = 20%, 5%
outline_thickness = 3
inner_color = rgba(0, 0, 0, 0.0) # no fill
outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg
check_color = rgba(00ff99ee) rgba(ff6633ee) 120deg
fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg
font_color = rgb(143, 143, 143)
fade_on_empty = false
rounding = 15
font_family = $font
placeholder_text = Input password...
fail_text = $PAMFAIL
# uncomment to use a letter instead of a dot to indicate the typed password
# dots_text_format = *
# dots_size = 0.4
dots_spacing = 0.3
# uncomment to use an input indicator that does not show the password length (similar to swaylock's input indicator)
# hide_input = true
position = 0, -20
halign = center
valign = center
}
# TIME
label {
monitor =
text = $TIME # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution
font_size = 90
font_family = $font
position = -30, 0
halign = right
valign = top
}
# DATE
label {
monitor =
text = cmd[update:60000] date +"%A, %d %B %Y" # update every 60 seconds
font_size = 25
font_family = $font
position = -30, -150
halign = right
valign = top
}
label {
monitor =
text = $LAYOUT[en,ru]
font_size = 24
onclick = hyprctl switchxkblayout all next
position = 250, -20
halign = center
valign = center
}

View File

@@ -0,0 +1,2 @@
TODO: add plymouth themeing here
(TODO: also themeing for LUKS screen on portable workstations)

View File

@@ -0,0 +1 @@
TODO: sddm themeing here

View File

@@ -11,12 +11,39 @@
ARCH_APPS = ( ARCH_APPS = (
base-devel base-devel
git git
kitty
fastfetch # ofc, ofc
zoxide
neovim
lazygit
lazydocker
kleopatra
) )
AUR_APPS = ( AUR_APPS = (
brave # disable safe browsing (sends URLS for checking against single API) brave # disable safe browsing; privacy (sends URLS, hashes - but known DB, for checking against single API)
firefox firefox
# bruno
# insomnia
)
# TODO: customise install level within script
# select custom 'packages' / 'apps' (minimal dots, core apps/cfgs only, etc)
HYPR_APPS = (
hyprland
hyprlock
hypridle
rofi
swaync
waybar
)
HYPR_AUR_APPS = (
awww-git
) )
# if [[ $HOSTTYPE == "server" ]]; then STANDARD_PKGS+=(tmux) else AUR_PKGS+=(spotify) fi # if [[ $HOSTTYPE == "server" ]]; then STANDARD_PKGS+=(tmux) else AUR_PKGS+=(spotify) fi