mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2025-05-12 02:08:37 +00:00
Compare commits
10 commits
510d01ef47
...
ee9469230f
Author | SHA1 | Date | |
---|---|---|---|
ee9469230f | |||
fcf1762b1c | |||
409723adf6 | |||
c51ae232c6 | |||
bcff64f0fc | |||
fbc693674d | |||
1abeb1e9ab | |||
d68284ed85 | |||
35dceab233 | |||
3993fb896d |
48 changed files with 118 additions and 139 deletions
|
@ -47,7 +47,7 @@ listener {
|
|||
# On low battery, or after HibernateDelaySec (/etc/systemd/sleep.conf), the system
|
||||
# will enter full hibernation
|
||||
listener {
|
||||
timeout = 600,
|
||||
timeout = 600
|
||||
on-timeout = systemctl suspend-then-hibernate
|
||||
}
|
||||
|
||||
|
|
|
@ -1,11 +1,4 @@
|
|||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE GTK_THEME QT_QPA_PLATFORMTHEME QT_STYLE_OVERRIDE
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP GTK_THEME QT_QPA_PLATFORMTHEME QT_STYLE_OVERRIDE
|
||||
|
||||
# Hyprland socket sometimes isn't yet loaded, sleep for sec
|
||||
exec-once = sleep 1 && systemctl --user start wayland-session.target
|
||||
|
||||
exec-once = sleep 3 && vesktop
|
||||
# exec-once = sleep 3 && discord
|
||||
# exec-once = sleep 3 && webcord --start-minimized
|
||||
exec-once = uwsm finalize
|
||||
exec-once = uwsm app vesktop
|
||||
|
||||
# vi: ft=hyprlang
|
||||
|
|
|
@ -23,23 +23,22 @@ bind = SUPER_SHIFT, S, layoutmsg, togglesplit
|
|||
# ### PROGRAMS ###
|
||||
# ################
|
||||
|
||||
bind = SUPER, R, exec, wofi --show drun
|
||||
bind = SUPER_SHIFT, Return, exec, wofi --show run
|
||||
bind = SUPER_SHIFT, V, exec, clipman pick -t wofi
|
||||
bind = SUPER, R, exec, uwsm app -- $(uwsm app -- wofi --show drun --define=drun-print_desktop_file=true)
|
||||
bind = SUPER_SHIFT, V, exec, uwsm app -- clipman pick -t wofi
|
||||
|
||||
bind = SUPER, Return, exec, kitty
|
||||
bind = SUPER, X, exec, pcmanfm-qt
|
||||
bind = SUPER, B, exec, firefox
|
||||
bind = SUPER, C, exec, qalculate-gtk
|
||||
bind = , XF86Calculator, exec, qalculate-gtk
|
||||
bind = SUPER, Return, exec, uwsm app -- kitty
|
||||
bind = SUPER, X, exec, uwsm app -- pcmanfm-qt
|
||||
bind = SUPER, B, exec, uwsm app -- firefox
|
||||
bind = SUPER, C, exec, uwsm app -- qalculate-gtk
|
||||
bind = , XF86Calculator, exec, uwsm app -- qalculate-gtk
|
||||
|
||||
# #####################
|
||||
# ### DE/WM CONTROL ###
|
||||
# #####################
|
||||
|
||||
bind = SUPER_SHIFT, Q, exec, menuquit
|
||||
bind = SUPER_SHIFT, Q, exec, uwsm app -- menuquit
|
||||
bind = SUPER_CTRL, L, exec, loginctl lock-session
|
||||
bind = SUPER_SHIFT, L, exec, wlogout -p layer-shell
|
||||
bind = SUPER_SHIFT, L, exec, uwsm app -- wlogout -p layer-shell
|
||||
bind = SUPER_SHIFT, T, exec, toggle-idle
|
||||
|
||||
# ###################
|
||||
|
@ -63,8 +62,8 @@ bind = SUPER_ALT, Print, exec, ocr && notify-send "OCR" "Text copied to clipboar
|
|||
|
||||
# XF86Favorites key for recording
|
||||
# (don't question me, I had it free)
|
||||
bind = , 164, exec, quick-record --notify toggle
|
||||
bind = SUPER, 164, exec, quick-record toggle
|
||||
bind = , 164, exec, uwsm app -- quick-record --notify toggle
|
||||
bind = SUPER, 164, exec, uwsm -- app quick-record toggle
|
||||
|
||||
# #####################
|
||||
# ### NOTIFICATIONS ###
|
||||
|
@ -283,7 +282,7 @@ bind = CTRL, F10, pass, ^(com\.obsproject\.Studio)$
|
|||
|
||||
# Isolating group to prevent keybind capturing (for games etc)
|
||||
# SUPER + End
|
||||
bind = SUPER, End, exec, hyprctl dispatch submap isolate && notify-send "Keybind isolation" "Keybind isolation on"
|
||||
bind = SUPER, End, exec, hyprctl dispatch submap isolate && notify-send "Keybind isolation" "Keybind isolation on (Super + END to disable)"
|
||||
submap = isolate
|
||||
bind = SUPER, End, exec, hyprctl dispatch submap reset && notify-send "Keybind isolation" "Keybind isolation off"
|
||||
submap = reset
|
||||
|
|
|
@ -5,4 +5,5 @@ MONITOR_ID="$1"
|
|||
MONITOR_NAME="$2"
|
||||
MONITOR_DESCRIPTION="$3"
|
||||
|
||||
eww open bar1
|
||||
systemctl --user start eww-window@bar1.service
|
||||
#eww open bar1
|
||||
|
|
|
@ -9,11 +9,15 @@ if [ "$MONITORS_AMT" -lt 1 ]; then
|
|||
fi
|
||||
|
||||
if [ "$MONITORS_AMT" -eq 2 ]; then
|
||||
eww open bar1
|
||||
systemctl --user start eww-window@bar1.service
|
||||
#eww open bar1
|
||||
fi
|
||||
|
||||
if [ "$MONITORS_AMT" -eq 1 ]; then
|
||||
eww active-windows | grep "bar1" && eww close bar1
|
||||
if eww active-windows | grep "bar1"; then
|
||||
systemctl --user stop eww-window@bar1.service
|
||||
#eww close bar1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$MONITORS_AMT" -gt 2 ]; then
|
||||
|
|
|
@ -3,4 +3,5 @@ set -euo pipefail
|
|||
|
||||
MONITOR_NAME="$1"
|
||||
|
||||
eww close bar1
|
||||
systemctl --user stop eww-window@bar1.service
|
||||
# eww close bar1
|
||||
|
|
|
@ -8,15 +8,14 @@
|
|||
# which means the XDG definitions will be ignored anyway, and
|
||||
# defining them may break programs when root is actually logged in.
|
||||
|
||||
|
||||
# Add all folders in ~/.local/bin into PATH
|
||||
# Some window managers require this line to be in profile not in .zshenv
|
||||
if [ -d "$HOME/.local/bin" ]; then
|
||||
PATH+=":${$(find -L ~/.local/bin -type d | tr '\n' ':')%%:}"
|
||||
PATH+=":$(find -L ~/.local/bin -type d | tr '\n' ':' | sed 's/:$//')"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/.local/share/npm/bin" ]; then
|
||||
PATH+=":$HOME/.local/share/npm/bin"
|
||||
PATH+=":$HOME/.local/share/npm/bin"
|
||||
fi
|
||||
|
||||
# Prepend rye shims to PATH, to have rye python executables
|
||||
|
@ -97,6 +96,7 @@ export NODE_REPL_HISTORY="$XDG_DATA_HOME/node_repl_history"
|
|||
export DOTNET_CLI_HOME="$XDG_DATA_HOME/dotnet"
|
||||
export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME/jupyter"
|
||||
export RYE_HOME="$XDG_CONFIG_HOME/rye"
|
||||
export OMNISHARPHOME="$XDG_CONFIG_HOME"/omnisharp
|
||||
|
||||
# Theming
|
||||
export GTK_THEME="Tokyonight-Dark"
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
[Unit]
|
||||
Description="Show a notification when the battery is low"
|
||||
PartOf=graphical-session.target
|
||||
Description=Show a notification when the battery is low
|
||||
Requires=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=%h/.local/bin/scripts/gui/battery-notification
|
||||
Type=oneshot
|
||||
ExecStart=%h/.local/bin/scripts/gui/battery-notification
|
||||
RemainAfterExit=false
|
||||
Restart=on-failure
|
||||
RestartSec=3s
|
||||
Slice=background-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=wm-ready.target
|
||||
WantedBy=graphical-session.target
|
||||
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
[Unit]
|
||||
Description="Timer for low battery notification sendout"
|
||||
Description=Timer for low battery notification sendout
|
||||
After=graphical-session.target
|
||||
Requires=graphical-session.target
|
||||
PartOf=graphical-session.target
|
||||
|
||||
[Timer]
|
||||
OnUnitActiveSec=20s
|
||||
|
||||
[Install]
|
||||
WantedBy=wm-ready.target
|
||||
WantedBy=graphical-session.target
|
||||
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
[Unit]
|
||||
Description="Clipboard clipboard manager"
|
||||
PartOf=graphical-session.target
|
||||
Description=Clipman clipboard manager
|
||||
After=graphical-session.target
|
||||
Requires=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/wl-paste -t text --watch /usr/bin/clipman store --no-persist
|
||||
Restart=on-failure
|
||||
Slice=background-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=wm-ready.target
|
||||
WantedBy=graphical-session.target
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
/usr/lib/systemd/user/systemd-lock-handler.service
|
|
@ -1,10 +0,0 @@
|
|||
[Unit]
|
||||
Description="Dunst daemon"
|
||||
PartOf=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/dunst
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=wm-ready.target
|
|
@ -1,17 +1,18 @@
|
|||
[Unit]
|
||||
Description="Open %I eww window"
|
||||
PartOf=graphical-session.target
|
||||
Description=Open %I eww window
|
||||
After=graphical-session.target
|
||||
After=eww.service
|
||||
PartOf=eww.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStartPre=/usr/bin/eww ping
|
||||
ExecStart=/usr/bin/eww open %i
|
||||
ExecStop=/usr/bin/eww close %i
|
||||
Type=oneshot
|
||||
RemainAfterExit=true
|
||||
Restart=on-failure
|
||||
RestartSec=3s
|
||||
Slice=background-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=wm-ready.target
|
||||
WantedBy=graphical-session.target
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
[Unit]
|
||||
Description="Eww daemon"
|
||||
PartOf=graphical-session.target
|
||||
Description=Eww daemon
|
||||
After=graphical-session.target
|
||||
After=pipewire.service
|
||||
Requires=graphical-session.target
|
||||
Requires=pipewire.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/eww daemon --no-daemonize
|
||||
Restart=always
|
||||
RestartSec=3s
|
||||
Slice=background-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=wm-ready.target
|
||||
WantedBy=graphical-session.target
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
[Unit]
|
||||
Description="Show unread GitHub notifications"
|
||||
PartOf=graphical-session.target
|
||||
After=dunst.service
|
||||
Description=Show unread GitHub notifications
|
||||
Requires=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=%h/.local/bin/scripts/gui/gh-notification -vv
|
||||
Type=oneshot
|
||||
ExecStart=%h/.local/bin/scripts/gui/gh-notification -vv
|
||||
RemainAfterExit=false
|
||||
Restart=on-failure
|
||||
RestartSec=3s
|
||||
Slice=background-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=wm-ready.target
|
||||
WantedBy=graphical-session.target
|
||||
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
[Unit]
|
||||
Description="Timer for GitHub notification sendout"
|
||||
Description=Timer for GitHub notification sendout
|
||||
After=graphical-session.target
|
||||
Requires=graphical-session.target
|
||||
PartOf=graphical-session.target
|
||||
|
||||
[Timer]
|
||||
OnUnitActiveSec=1m
|
||||
|
||||
[Install]
|
||||
WantedBy=wm-ready.target
|
||||
WantedBy=graphical-session.target
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[Service]
|
||||
Environment="GNUPGHOME=%h/.local/share/gnupg"
|
|
@ -0,0 +1 @@
|
|||
/usr/lib/systemd/user/hypridle.service
|
|
@ -0,0 +1 @@
|
|||
/usr/lib/systemd/user/swaync.service
|
|
@ -1,10 +0,0 @@
|
|||
[Unit]
|
||||
Description="Idle management daemon"
|
||||
PartOf=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/stdbuf -oL /usr/bin/hypridle
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=wayland-session.target
|
|
@ -0,0 +1,2 @@
|
|||
[Service]
|
||||
Slice=background-graphical.slice
|
|
@ -1,10 +1,14 @@
|
|||
[Unit]
|
||||
Description="Daemon watching for Hyprland monitor updates"
|
||||
PartOf=graphical-session.target
|
||||
Description=Daemon watching for Hyprland monitor updates
|
||||
After=wayland-session@hyprland.desktop.target
|
||||
After=eww.service
|
||||
Requires=eww.service
|
||||
Requires=wayland-session@hyprland.desktop.target
|
||||
|
||||
[Service]
|
||||
ExecStart=%h/.local/bin/scripts/gui/hyprland/hyprland-monitord
|
||||
Restart=on-failure
|
||||
Slice=background-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=wayland-session.target
|
||||
WantedBy=wayland-session@hyprland.desktop.target
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[Unit]
|
||||
Description=Run hyprlock screenlocker on lock dbus event (using systemd-lock-handler)
|
||||
Requisite=wm-ready.target
|
||||
Requisite=graphical-session.target
|
||||
# if hyprlock exists cleanly, enter a 'unlock' target
|
||||
OnSuccess=unlock.target
|
||||
# When lock.target is stopped, stop this unit too
|
||||
|
@ -9,9 +9,10 @@ PartOf=lock.target
|
|||
[Service]
|
||||
ExecStart=/usr/bin/hyprlock
|
||||
StandardOutput=journal
|
||||
ExecStop=/bin/kill -s SIGUSR1 $MAINPID
|
||||
ExecStopPost=/bin/loginctl unlock-session
|
||||
Restart=on-failure
|
||||
Slice=background-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=lock.target
|
||||
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
[Unit]
|
||||
Description="Hyprpaper (Hyprland wallpaper daemon"
|
||||
PartOf=graphical-session.target
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/hyprpaper
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=wayland-session.target
|
|
@ -0,0 +1,3 @@
|
|||
[Service]
|
||||
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "Hyprland" ""
|
||||
Slice=background-graphical.slice
|
|
@ -1,10 +1,12 @@
|
|||
[Unit]
|
||||
Description="PolicyKit authentication agent"
|
||||
PartOf=graphical-session.target
|
||||
After=graphical-session.target
|
||||
Requires=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
Restart=on-failure
|
||||
Slice=background-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=wm-ready.target
|
||||
WantedBy=graphical-session.target
|
||||
|
|
|
@ -4,8 +4,10 @@ Requisite=swaync.service
|
|||
Before=lock.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/swaync-client --inhibitor-add screen-locker
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/swaync-client --inhibitor-add screen-locker
|
||||
Slice=background-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=lock.target
|
||||
|
||||
|
|
|
@ -4,8 +4,9 @@ Requisite=swaync.service
|
|||
After=unlock.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/swaync-client --inhibitor-remove screen-locker
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/swaync-client --inhibitor-remove screen-locker
|
||||
Slice=background-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=unlock.target
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
[Unit]
|
||||
Description="Swaync daemon"
|
||||
PartOf=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/swaync
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=wayland-session.target
|
2
home/.config/systemd/user/swaync.service.d/override.conf
Normal file
2
home/.config/systemd/user/swaync.service.d/override.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
[Service]
|
||||
Slice=background-graphical.slice
|
|
@ -1,6 +0,0 @@
|
|||
[Unit]
|
||||
Description=Waylnad compositor loaded and ready
|
||||
BindsTo=wm-ready.target
|
||||
Wants=xdg-desktop-portal.service
|
||||
Wants=xdg-desktop-portal-hyprland.service
|
||||
Wants=systemd-lock-handler.service
|
|
@ -1 +0,0 @@
|
|||
/home/itsdrike/.config/systemd/user/hypridle.service
|
|
@ -1,10 +1,12 @@
|
|||
[Unit]
|
||||
Description="Redshift and brightness control for Wayland"
|
||||
BindsTo=wayland-session.target
|
||||
Description=Redshift and brightness control for Wayland
|
||||
After=graphical-session.target
|
||||
Requires=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/wl-gammarelay-rs run
|
||||
Restart=on-failure
|
||||
Slice=background-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=wayland-session.target
|
||||
WantedBy=graphical-session.target
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
[Unit]
|
||||
Description=Window Manager loaded and ready
|
||||
BindsTo=graphical-session.target
|
||||
Wants=wireplumber.service
|
||||
Wants=pipewire-pulse.socket
|
||||
Wants=usbguard-notifier.service
|
||||
Wants=gnome-keyring-daemon.service
|
1
home/.config/uwsm/default-id
Normal file
1
home/.config/uwsm/default-id
Normal file
|
@ -0,0 +1 @@
|
|||
hyprland-uwsm.desktop
|
3
home/.config/uwsm/env
Normal file
3
home/.config/uwsm/env
Normal file
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
source "$HOME"/.config/shell/environment
|
|
@ -1,18 +1,12 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
idleprog="hypridle" # or swayidle
|
||||
serv="hypridle.service"
|
||||
|
||||
pid="$(pidof "$idleprog" || true)"
|
||||
if [ -n "$pid" ]; then
|
||||
# is process suspended?
|
||||
if ps -o stat= -p "$pid" | grep T >/dev/null; then
|
||||
kill -CONT "$pid"
|
||||
notify-send "Idle-Toggle" "Idle timeouts enabled"
|
||||
else
|
||||
kill -STOP "$pid"
|
||||
notify-send "Idle-Toggle" "Idle timeouts disabled"
|
||||
fi
|
||||
if systemctl --user is-active --quiet "$serv"; then
|
||||
systemctl --user stop "$serv"
|
||||
notify-send "Idle-Toggle" "Idle timeouts disabled"
|
||||
else
|
||||
notify-send "Idle-Toggle" "$idleprog not running!"
|
||||
systemctl --user start "$serv"
|
||||
notify-send "Idle-Toggle" "Idle timeouts enabled"
|
||||
fi
|
||||
|
|
|
@ -99,7 +99,8 @@ paru -S --noconfirm --needed \
|
|||
|
||||
# Wayland WM essentials
|
||||
paru -S --noconfirm --needed \
|
||||
wl-clipboard xdg-desktop-portal xdg-desktop-portal-gtk qt5-wayland qt6-wayland wev wl-gammarelay-rs wdisplays
|
||||
wl-clipboard xdg-desktop-portal xdg-desktop-portal-gtk qt5-wayland qt6-wayland wev wl-gammarelay-rs wdisplays \
|
||||
uwsm
|
||||
|
||||
# Utilities
|
||||
paru -S --noconfirm --needed \
|
||||
|
|
|
@ -7,7 +7,7 @@ vt = 1
|
|||
# If the user logs out, greetd will render the default session
|
||||
[initial_session]
|
||||
user = "itsdrike"
|
||||
command = "/usr/local/bin/greetd-session-wrapper Hyprland"
|
||||
command = "/usr/local/bin/greetd-session-wrapper uwsm start hyprland.desktop"
|
||||
|
||||
# The default session, also known as the greeter.
|
||||
[default_session]
|
||||
|
|
Loading…
Add table
Reference in a new issue