From b28f2da899272497ee4087bb2900e003f70670b7 Mon Sep 17 00:00:00 2001 From: Luc Bijl Date: Sun, 17 Aug 2025 13:38:24 +0200 Subject: [PATCH] dotconfig: add --- dotconfig/foot/foot.ini | 9 ++ dotconfig/fuzzel/fuzzel.ini | 25 ++++ dotconfig/kanshi/config | 3 + dotconfig/mako/config | 10 ++ dotconfig/rc/init.d/footserver | 9 ++ dotconfig/rc/init.d/kanshi | 8 ++ dotconfig/rc/init.d/mako | 8 ++ dotconfig/rc/init.d/pipewire | 9 ++ dotconfig/rc/init.d/pipewire-pulse | 8 ++ dotconfig/rc/init.d/river | 9 ++ dotconfig/rc/init.d/wireplumber | 8 ++ dotconfig/rc/init.d/wlsunset | 9 ++ dotconfig/rc/init.d/xdg-desktop-portal-wlr | 9 ++ dotconfig/rc/rc.conf | 1 + dotconfig/river/binds | 131 +++++++++++++++++++++ dotconfig/river/init | 40 +++++++ dotconfig/user-dirs.dirs | 15 +++ dotconfig/user-dirs.locale | 1 + 18 files changed, 312 insertions(+) create mode 100644 dotconfig/foot/foot.ini create mode 100644 dotconfig/fuzzel/fuzzel.ini create mode 100644 dotconfig/kanshi/config create mode 100644 dotconfig/mako/config create mode 100755 dotconfig/rc/init.d/footserver create mode 100755 dotconfig/rc/init.d/kanshi create mode 100755 dotconfig/rc/init.d/mako create mode 100755 dotconfig/rc/init.d/pipewire create mode 100755 dotconfig/rc/init.d/pipewire-pulse create mode 100755 dotconfig/rc/init.d/river create mode 100755 dotconfig/rc/init.d/wireplumber create mode 100755 dotconfig/rc/init.d/wlsunset create mode 100755 dotconfig/rc/init.d/xdg-desktop-portal-wlr create mode 100644 dotconfig/rc/rc.conf create mode 100755 dotconfig/river/binds create mode 100755 dotconfig/river/init create mode 100644 dotconfig/user-dirs.dirs create mode 100644 dotconfig/user-dirs.locale diff --git a/dotconfig/foot/foot.ini b/dotconfig/foot/foot.ini new file mode 100644 index 0000000..3044376 --- /dev/null +++ b/dotconfig/foot/foot.ini @@ -0,0 +1,9 @@ +# foot config + +font=monospace:size=10 +dpi-aware=on + +[colors] +background=000000 +foreground=dcdccc +alpha=0.8 diff --git a/dotconfig/fuzzel/fuzzel.ini b/dotconfig/fuzzel/fuzzel.ini new file mode 100644 index 0000000..389e4d5 --- /dev/null +++ b/dotconfig/fuzzel/fuzzel.ini @@ -0,0 +1,25 @@ +# fuzzel config + +font=monospace:size=14 +dpi-aware=on +icons-enabled=yes +icon-theme=Tela-circle-black-dark +width=30 +lines=10 +horizontal-pad=20 +vertical-pod=10 +inner-pad=20 + +[colors] +background=00000088 +text=666666ff +prompt=ffffffff +input=ffffffff +selection=005fb5ff +selection-text=666666ff +match=ffffffff +selection-match=ffffffff + +[border] +width=0 +radius=15 diff --git a/dotconfig/kanshi/config b/dotconfig/kanshi/config new file mode 100644 index 0000000..ac4c539 --- /dev/null +++ b/dotconfig/kanshi/config @@ -0,0 +1,3 @@ +profile { + output eDP-1 position 0,0 +} diff --git a/dotconfig/mako/config b/dotconfig/mako/config new file mode 100644 index 0000000..931819e --- /dev/null +++ b/dotconfig/mako/config @@ -0,0 +1,10 @@ +# mako config + +font=monospace:size=14 +background-color=#00000088 +border-size=5 +border-radius=15 +border-color=#00000088 +progress-color=#005FB5FF +icons=1 +icon-path=/home/luc/.local/share/tela-circle-black-dark diff --git a/dotconfig/rc/init.d/footserver b/dotconfig/rc/init.d/footserver new file mode 100755 index 0000000..fd1d518 --- /dev/null +++ b/dotconfig/rc/init.d/footserver @@ -0,0 +1,9 @@ +#!/usr/bin/openrc-run + +depend() { + need graphical-session +} + +supervisor=supervise-daemon +command="/usr/bin/foot" +command_args="--server" diff --git a/dotconfig/rc/init.d/kanshi b/dotconfig/rc/init.d/kanshi new file mode 100755 index 0000000..e71366f --- /dev/null +++ b/dotconfig/rc/init.d/kanshi @@ -0,0 +1,8 @@ +#!/usr/bin/openrc-run + +depend() { + need graphical-session +} + +supervisor=supervise-daemon +command="/usr/bin/kanshi" diff --git a/dotconfig/rc/init.d/mako b/dotconfig/rc/init.d/mako new file mode 100755 index 0000000..deade32 --- /dev/null +++ b/dotconfig/rc/init.d/mako @@ -0,0 +1,8 @@ +#!/usr/bin/openrc-run + +depend() { + need graphical-session +} + +supervisor=supervise-daemon +command="/usr/bin/mako" diff --git a/dotconfig/rc/init.d/pipewire b/dotconfig/rc/init.d/pipewire new file mode 100755 index 0000000..44e7db9 --- /dev/null +++ b/dotconfig/rc/init.d/pipewire @@ -0,0 +1,9 @@ +#!/usr/bin/openrc-run + +depend() { + need graphical-session + provide audio-session +} + +supervisor=supervise-daemon +command="/usr/bin/pipewire" diff --git a/dotconfig/rc/init.d/pipewire-pulse b/dotconfig/rc/init.d/pipewire-pulse new file mode 100755 index 0000000..a8a6c9a --- /dev/null +++ b/dotconfig/rc/init.d/pipewire-pulse @@ -0,0 +1,8 @@ +#!/usr/bin/openrc-run + +depend() { + need audio-session +} + +supervisor=supervise-daemon +command="/usr/bin/pipewire-pulse" diff --git a/dotconfig/rc/init.d/river b/dotconfig/rc/init.d/river new file mode 100755 index 0000000..ef80609 --- /dev/null +++ b/dotconfig/rc/init.d/river @@ -0,0 +1,9 @@ +#!/usr/bin/openrc-run + +depend() { + need dbus + provide graphical-session +} + +supervisor=supervise-daemon +command="/usr/bin/river" diff --git a/dotconfig/rc/init.d/wireplumber b/dotconfig/rc/init.d/wireplumber new file mode 100755 index 0000000..ea4dfdc --- /dev/null +++ b/dotconfig/rc/init.d/wireplumber @@ -0,0 +1,8 @@ +#!/usr/bin/openrc-run + +depend() { + need audio-session +} + +supervisor=supervise-daemon +command="/usr/bin/wireplumber" diff --git a/dotconfig/rc/init.d/wlsunset b/dotconfig/rc/init.d/wlsunset new file mode 100755 index 0000000..4b9f143 --- /dev/null +++ b/dotconfig/rc/init.d/wlsunset @@ -0,0 +1,9 @@ +#!/usr/bin/openrc-run + +depend() { + need graphical-session +} + +supervisor=supervise-daemon +command="/usr/bin/wlsunset" +command_args="-l 52 -L 6" diff --git a/dotconfig/rc/init.d/xdg-desktop-portal-wlr b/dotconfig/rc/init.d/xdg-desktop-portal-wlr new file mode 100755 index 0000000..a104300 --- /dev/null +++ b/dotconfig/rc/init.d/xdg-desktop-portal-wlr @@ -0,0 +1,9 @@ +#!/usr/bin/openrc-run + +depend() { + need graphical-session + need audio-session +} + +supervisor=supervise-daemon +command="/usr/libexec/xdg-desktop-portal-wlr" diff --git a/dotconfig/rc/rc.conf b/dotconfig/rc/rc.conf new file mode 100644 index 0000000..25ffa8d --- /dev/null +++ b/dotconfig/rc/rc.conf @@ -0,0 +1 @@ +rc_env_allow="WAYLAND_DISPLAY" diff --git a/dotconfig/river/binds b/dotconfig/river/binds new file mode 100755 index 0000000..0346b55 --- /dev/null +++ b/dotconfig/river/binds @@ -0,0 +1,131 @@ +#!/bin/sh + +# Super+Shift+Q to exit river +riverctl map normal Super+Shift Q spawn "openrc -U g && openrc -U default" + + +## Aplication mapping ## + +# Super+Backspace to spawn waylock +riverctl map normal Super BackSpace spawn "waylock -ignore-empty-password -init-color 0x000000 -input-color 0x3D3D3D -input-alt-color 0x3D3D3D -fail-color 0xFFFFFF" + +# Super+Return to spawn foot +riverctl map normal Super Return spawn footclient + +# Super+Space to spawn fuzzel +riverctl map normal Super Space spawn fuzzel + +# Super+D to dismiss mako notification +riverctl map normal Super d spawn "makoctl dismiss" + +# Super+T to spawn datetime +riverctl map normal Super T spawn "$HOME/.local/bin/datetime" + +# Super+B to spawn battery state +riverctl map normal Super B spawn "$HOME/.local/bin/battery" + +# MonBrightnessUp to increase brightness by 5% +riverctl map normal None XF86_MonBrightnessUp spawn "$HOME/.local/bin/brightness" + +# MonBrightnessDown to decrease brightness by 5% +riverctl map normal None XF86_MonBrightnessDown spawn "$HOME/.local/bin/brightness" + +# Print to spawn interactive screenshot +#riverctl map normal None Print spawn "grim -g "$(slurp -d)" - | wl-copy -t image/jpeg" + +# Shift+Print to spawn screenshot +#riverctl map normal Shift Print spawn "grim - | wl-copy -t image/jpeg" + + +## Focused view mapping ## + +# Super+Q to close the focused view +riverctl map normal Super Q close + +# Super+F to fullscreen toggle the focused view +riverctl map normal Super F toggle-fullscreen + +# Super+BTN_MIDDLE to toggle float of the focused view +riverctl map-pointer normal Super BTN_MIDDLE toggle-float + +# Super+BTN_LEFT to move the floated focused view +riverctl map-pointer normal Super BTN_LEFT move-view + +# Super+BTN_RIGHT to resize the floated focused view +riverctl map-pointer normal Super BTN_RIGHT resize-view + +# Super+{K;J} to focus next/previous view +riverctl map normal Super K focus-view next +riverctl map normal Super J focus-view previous + +# Super+Shift+{K;J} to swap the focused view with the next/previous view +riverctl map normal Super+Shift K swap next +riverctl map normal Super+Shift J swap previous + +# Super+{.;,} to focus the next/previous output +riverctl map normal Super Period focus-output next +riverctl map normal Super Comma focus-output previous + +# Super+Shift+{.;,} to send the focused view to the next/previous output +riverctl map normal Super+Shift Period send-to-output next +riverctl map normal Super+Shift Comma send-to-output previous + + +## Rivertile mapping ## + +# Super+{Up;Right;Down;Left} to change layout orientation +riverctl map normal Super Up send-layout-cmd rivertile "main-location top" +riverctl map normal Super Right send-layout-cmd rivertile "main-location right" +riverctl map normal Super Down send-layout-cmd rivertile "main-location down" +riverctl map normal Super Left send-layout-cmd rivertile "main-location left" + +# Super+Shift+{Up;Down} to increment/decrement the main count of rivertile +riverctl map normal Super+Shift Up send-layout-cmd rivertile "main-count +1" +riverctl map normal Super+Shift Down send-layout-cmd rivertile "main-count -1" + +# Super+Shift+{Right;Left} to increase/decrease the main ratio of rivertile +riverctl map normal Super+Shift Right send-layout-cmd rivertile "main-ratio +0.05" +riverctl map normal Super+Shift Left send-layout-cmd rivertile "main-ratio -0.05" + + +## Tag mapping ## + +for i in $(seq 1 9) +do + j=$((1 << ($i - 1))) + + # Super+[1-9] to focus tag [0-8] + riverctl map normal Super $i set-focused-tags $j + + # Super+Shift+[1-9] to tag focused view with tag [0-8] + riverctl map normal Super+Shift $i set-view-tags $j + + # Super+Control+[1-9] to toggle focus of tag [0-8] + riverctl map normal Super+Control $i toggle-focused-tags $j + + # Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view + riverctl map normal Super+Shift+Control $i toggle-view-tags $j +done + +all_tags=$(((1 << 32) - 1)) + +# Super+O to focus all tags +riverctl map normal Super O set-focused-tags $all_tags + +# Super+Shift+O to tag focused view with all tags +riverctl map normal Super+Shift O set-view-tags $all_tags + + +## Media mapping ## + +# AudioRaiseVolume to increase volume audio sink by 5% +riverctl map normal None XF86AudioRaiseVolume spawn "$HOME/.local/bin/audio sink volup" + +# AudioLowerVolume to decrease volume audio sink by 5% +riverctl map normal None XF86AudioLowerVolume spawn "$HOME/.local/bin/audio sink voldown" + +# AudioMute to toggle mute audio sink +riverctl map normal None XF86AudioMute spawn "$HOME/.local/bin/audio sink toggle" + +# AudioMicMute to toggle mute audio source +riverctl map normal None XF86AudioMicMute spawn "$HOME/.local/bin/audio source toggle" diff --git a/dotconfig/river/init b/dotconfig/river/init new file mode 100755 index 0000000..5803574 --- /dev/null +++ b/dotconfig/river/init @@ -0,0 +1,40 @@ +#!/bin/sh + +## Set colours +swaybg -m fill -c 000000 -i $HOME/.local/share/backgrounds/andromeda.jpg & +riverctl border-color-focused 0xFFFFFFCC +riverctl border-color-unfocused 0xFFFFF66 +riverctl border-color-urgent 0xFFFFFF + +# Set border-width +riverctl border-width 2 + +# Set layout +riverctl default-layout rivertile +rivertile -view-padding 4 -outer-padding 4 & + +# Source the keybinds +source ~/.config/river/binds + +# Switch to post-grahpical runlevel +openrc -U h + + +## Device input settings ## + +# Keyboard layout +riverctl keyboard-layout qwerty + +# Set keyboard repeat rate +riverctl set-repeat 50 300 + +# Set focus-follow +riverctl focus-follows-cursor normal + +## Rules ## + +# Set server-side-decorations for firefox +riverctl rule-add -app-id firefox-esr ssd + +# Set server-side-decorations for thunderbird +riverctl rule-add -app-id thunderbird-esr ssd diff --git a/dotconfig/user-dirs.dirs b/dotconfig/user-dirs.dirs new file mode 100644 index 0000000..41c20e4 --- /dev/null +++ b/dotconfig/user-dirs.dirs @@ -0,0 +1,15 @@ +# This file is written by xdg-user-dirs-update +# If you want to change or add directories, just edit the line you're +# interested in. All local changes will be retained on the next run. +# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped +# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an +# absolute path. No other format is supported. +# +XDG_DESKTOP_DIR="$HOME/desktop" +XDG_DOWNLOAD_DIR="$HOME/downloads" +XDG_TEMPLATES_DIR="$HOME/templates" +XDG_PUBLICSHARE_DIR="$HOME/public" +XDG_DOCUMENTS_DIR="$HOME/documents" +XDG_MUSIC_DIR="$HOME/music" +XDG_PICTURES_DIR="$HOME/pictures" +XDG_VIDEOS_DIR="$HOME/videos" diff --git a/dotconfig/user-dirs.locale b/dotconfig/user-dirs.locale new file mode 100644 index 0000000..3e0b419 --- /dev/null +++ b/dotconfig/user-dirs.locale @@ -0,0 +1 @@ +en_US \ No newline at end of file