My configurations for the software I use

Compare changes

Choose any two refs to compare.

Changed files
+620 -79
config
foot
kak
kanshi
mpv
river
senpai
sioyek
thm
xdg-desktop-portal-wlr
zathura
local
ssh
+4 -3
config/foot/foot.ini
··· 22 22 [colors] 23 23 alpha=1 24 24 25 - # [csd] 26 - # preferred=client 27 - # size=32 25 + [csd] 26 + preferred=client 27 + size=0 28 + border-width=2 28 29 # font=monospace:weight=bold 29 30 # border-width=4 30 31 # button-width=32
+48 -13
config/kak/kakrc
··· 12 12 # kak-lsp 13 13 eval %sh{ kak-lsp } 14 14 15 - hook global WinSetOption filetype=(c|cpp|go|java|javascript|nix|python|roc|typst|zig) %{ 15 + hook global WinSetOption filetype=(c|cpp|erlang|go|java|javascript|nix|python|roc|typst|zig) %{ 16 16 lsp-enable-window 17 17 18 - map global user l %{:enter-user-mode lsp<ret>} -docstring 'Enter kak-lsp mode' 18 + map global user l ':enter-user-mode lsp<ret>' -docstring 'Enter kak-lsp mode' 19 19 map global insert -docstring %{ 20 20 Select next snippet placeholder 21 - } <tab> '<a-;>:try lsp-snippets-select-next-placeholders catch %{execute-keys -with-hooks <lt>tab> }<ret>' 22 - 21 + } <c-space> '<a-semicolon>:lsp-snippets-select-next-placeholders<ret>' 23 22 map global object a '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol' 24 23 map global object <a-a> '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol' 25 24 map global object f '<a-semicolon>lsp-object Function Method<ret>' -docstring 'LSP function or method' ··· 42 41 set-option buffer lsp_servers %{ 43 42 [ruff] 44 43 args = [ "server", "--quiet" ] 45 - root_globs = [ "requirements.txt", "setup.py", "pyproject.toml", ".git" ] 44 + root_globs = [ "requirements.txt", "setup.py", "pyproject.toml", "uv.lock", ".git" ] 46 45 settings_section = "_" 47 46 # [ruff.settings._.globalSettings] 47 + [ty] 48 + args = [ "server" ] 49 + root_globs = [ "requirements.txt", "setup.py", "pyproject.toml", "uv.lock", ".git" ] 48 50 } 49 51 } 50 52 ··· 54 56 root_globs = [ ".git" ] 55 57 settings_section = "tinymist" 56 58 [tinymist.settings.tinymist] 57 - outputPath = "/tmp/tinymist/$root/$dir/$name" 59 + outputPath = "$root/_preview/$dir/$name" 58 60 fontPaths = [ "./assets/fonts" ] 59 61 formatterMode = "typstyle" 62 + typstExtraArgs = [ "--features=html" ] 60 63 } 61 64 } 62 65 ··· 111 114 m-whitespace %{ 112 115 evaluate-commands %sh{ 113 116 [ "$1" = tabs ] \ 114 - && printf '%s\n' "eval map window insert <tab> <tab>" \ 115 - "eval set window indentwidth 0" \ 116 - "eval set window tabstop $2" 117 + && printf '%s\n' \ 118 + "eval set window indentwidth 0" \ 119 + "eval set window tabstop $2" \ 120 + "eval map window insert <tab> <tab>" 117 121 118 122 [ "$1" = spaces ] && { 119 123 s=0 ··· 123 127 s=$((s+1)) 124 128 done 125 129 126 - printf '%s\n' "eval map window insert <tab> \"$size\"" \ 127 - "eval set window indentwidth $2" 130 + printf '%s\n' \ 131 + "eval set window indentwidth $2" \ 132 + "eval map window insert <tab> \"$size\"" 128 133 } 129 134 } 130 135 } 131 136 137 + # Run command 138 + define-command -params 1.. -command-completion -file-completion -docstring \ 139 + "Run a command and show the output the *m-run* scratch buffer" \ 140 + m-run %{ 141 + try %{ delete-buffer! *m-run* } 142 + edit -scratch *m-run* 143 + execute-keys "!%arg{@}<ret>jd" 144 + } 145 + 146 + # Run command from selection 147 + define-command -docstring \ 148 + "Run a command from a selection and show the output the *m-run-select* scratch buffer" \ 149 + m-run-select %{ 150 + declare-option -hidden str m_select_command %val{selection} 151 + try %{ delete-buffer! *m-run-select* } 152 + edit -scratch *m-run-select* 153 + execute-keys "!%opt{m_select_command}<ret>jd" 154 + } 155 + 132 156 # Keybinds 133 157 ## User 134 158 map global user c ':comment-line<ret>' -docstring 'comment line' ··· 136 160 map global user f ':try format catch lsp-formatting<ret>' -docstring 'Run formatcmd or lsp formatter' 137 161 map global user p '!wl-paste<ret>' -docstring 'Paste from System Clipboard (Wayland)' 138 162 map global user y '<a-|>wl-copy<ret>' -docstring 'Copy to System Clipboard (Wayland)' 163 + map global user . ':source ".kakrc.local"<ret>' -docstring 'Load the kakrc file in the current directory' 164 + map global user r ':m-run-select<ret>' -docstring 'Run the selected command' 139 165 140 166 # Set termcmd 141 167 hook global ModuleLoaded wayland %{ ··· 178 204 } 179 205 180 206 # Filetype specific options 181 - hook global WinSetOption filetype=(css|html|java|javascript|markdown|nix|typst|xml|yaml) %{ 207 + hook global WinSetOption filetype=(css|html|java|javascript|markdown|meson|nix|typst|xml|yaml) %{ 182 208 m-whitespace spaces 2 183 209 } 184 210 211 + hook global WinSetOption filetype=erlang %{ 212 + set-option buffer formatcmd "erlfmt -" 213 + m-whitespace spaces 4 214 + } 215 + 216 + hook global WinSetOption filetype=css %{ 217 + set-option buffer formatcmd "prettier --parser css" 218 + } 219 + 185 220 hook global WinSetOption filetype=html %{ 186 221 set-option buffer formatcmd "prettier --parser html" 187 222 } 188 223 189 224 hook global WinSetOption filetype=nix %{ 190 - set-option buffer formatcmd "nixfmt" 225 + set-option buffer formatcmd "nixfmt -w 120" 191 226 } 192 227 193 228 hook global WinSetOption filetype=java %{
+1 -2
config/kanshi/config
··· 2 2 output "AOC 2460G4 0x0000075E" { 3 3 mode 1920x1080@144Hz 4 4 position 0,0 5 - adaptive_sync off 5 + adaptive_sync on 6 6 } 7 7 output "BNQ BenQ PD2700U ET87K04288SL0" { 8 8 mode 3840x2160@60Hz ··· 13 13 output "LG Electronics LG HDR WFHD 0x0000B11B" { 14 14 mode 2560x1080@75Hz 15 15 position 640,1080 16 - adaptive_sync on 17 16 } 18 17 }
-1
config/mpv/mpv.conf
··· 2 2 loop-file=inf 3 3 vo=gpu 4 4 hwdec=vaapi 5 - volume=70.0 6 5 image-display-duration=inf 7 6 no-border 8 7 no-osc
+261
config/river/init.roc
··· 1 + #!/usr/bin/env roc 2 + app [main!] { pf: platform "https://github.com/roc-lang/basic-cli/releases/download/0.20.0/X73hGh05nNTkDHU06FHC0YfFaQB1pimX7gncRcao5mU.tar.br" } 3 + 4 + # TODO: Create a platform that interfaces directly with the river wayland protocol 5 + # TODO: Check for a cli argument to determine if the autostart commands should be run 6 + 7 + import pf.Cmd 8 + import pf.Stdout 9 + import pf.Stderr 10 + 11 + tag_to_rtag = |num| 12 + Num.shift_left_by 1 (num - 1) 13 + |> Num.to_str 14 + 15 + named_tag_to_rtag = |tag_name| 16 + when tag_name is 17 + One -> tag_to_rtag 1 18 + Two -> tag_to_rtag 2 19 + Three -> tag_to_rtag 3 20 + Four -> tag_to_rtag 4 21 + Five -> tag_to_rtag 5 22 + Six -> tag_to_rtag 6 23 + Seven -> tag_to_rtag 7 24 + Eight -> tag_to_rtag 8 25 + Nine -> tag_to_rtag 9 26 + Discord -> tag_to_rtag 10 27 + Games -> tag_to_rtag 11 28 + Hide -> tag_to_rtag 12 29 + KeePassXC -> tag_to_rtag 13 30 + Nautilus -> tag_to_rtag 14 31 + Signal -> tag_to_rtag 15 32 + Steam -> tag_to_rtag 16 33 + Thunderbird -> tag_to_rtag 17 34 + All -> Num.to_str ((Num.shift_left_by 1 32) - 1) 35 + 36 + autostart = [ 37 + "systemctl --user start river-session-pre.target", 38 + "update-session-vars", 39 + "systemctl --user start river-session.target", 40 + "kanshi", 41 + "xrandr --output HDMI-A-5 --primary", 42 + "rivertile -outer-padding 0 -view-padding 0 -main-ratio 0.5", 43 + "swaybg -i /media/nextcloud/wallpapers/dark/evie-s-Pb1KFv4tauY-unsplash.jpg -m fill", 44 + ] 45 + 46 + autostart_apps = [ 47 + "keepassxc", 48 + "org.mozilla.Thunderbird", 49 + ] 50 + 51 + configurations = [ 52 + { option: "allow-tearing", args: ["enabled"] }, 53 + { option: "border-color-focused", args: ["0x93a1a1"] }, 54 + { option: "border-color-unfocused", args: ["0x586e75"] }, 55 + { option: "border-width", args: ["0"] }, 56 + { option: "focus-follows-cursor", args: ["normal"] }, 57 + { option: "set-cursor-warp", args: ["on-output-change"] }, 58 + { option: "xcursor-theme", args: ["Adwaita", "24"] }, 59 + { option: "input", args: ["pointer-1356-3570-Sony_Interactive_Entertainment_DualSense_Edge_Wireless_Controller_Touchpad", "events", "disabled"] }, 60 + { option: "input", args: ["pointer-4660-22136-extest_fake_device", "map-to-output", "HDMI-A-5"] }, 61 + ] 62 + 63 + rules = [ 64 + { id: "discord", title: "", action: "output", args: ["AOC 2460G4 0x0000075E"] }, 65 + { id: "discord", title: "", action: "tags", args: [named_tag_to_rtag Discord] }, 66 + { id: "org.gnome.Nautilus", title: "", action: "float", args: [] }, 67 + { id: "org.gnome.Nautilus", title: "", action: "tags", args: [named_tag_to_rtag Nautilus] }, 68 + { id: "org.keepassxc.KeePassXC", title: "", action: "csd", args: [] }, 69 + { id: "org.keepassxc.KeePassXC", title: "", action: "float", args: [] }, 70 + { id: "org.keepassxc.KeePassXC", title: "KeyChain.kdbx [Locked] - KeePassXC", action: "output", args: ["LG Electronics LG HDR WFHD 0x0000B11B"] }, 71 + { id: "org.keepassxc.KeePassXC", title: "KeyChain.kdbx [Locked] - KeePassXC", action: "tags", args: [named_tag_to_rtag KeePassXC] }, 72 + { id: "org.mozilla.Thunderbird", title: "", action: "output", args: ["LG Electronics LG HDR WFHD 0x0000B11B"] }, 73 + { id: "org.mozilla.Thunderbird", title: "", action: "tags", args: [named_tag_to_rtag Thunderbird] }, 74 + { id: "signal", title: "", action: "output", args: ["AOC 2460G4 0x0000075E"] }, 75 + { id: "signal", title: "", action: "tags", args: [named_tag_to_rtag Signal] }, 76 + { id: "steam", title: "", action: "output", args: ["LG Electronics LG HDR WFHD 0x0000B11B"] }, 77 + { id: "steam", title: "", action: "tags", args: [named_tag_to_rtag Steam] }, 78 + { id: "steam_app_*", title: "", action: "output", args: ["LG Electronics LG HDR WFHD 0x0000B11B"] }, 79 + { id: "steam_app_*", title: "", action: "tags", args: [named_tag_to_rtag Games] }, 80 + ] 81 + 82 + modes = [ 83 + "passthrough", 84 + "special-tags", 85 + ] 86 + 87 + pointer_binds = [ 88 + { mode: "normal", mods: [Super], btn: "BTN_LEFT", cmd: "move-view" }, 89 + { mode: "normal", mods: [Super], btn: "BTN_RIGHT", cmd: "resize-view" }, 90 + ] 91 + 92 + tag_binds = 93 + List.range { start: At(1), end: At(9) } 94 + |> List.map( 95 + |tag| 96 + tag_str = Num.to_str tag 97 + [ 98 + { mode: "normal", mods: [Super], key: tag_str, cmd: "toggle-focused-tags", args: [tag_to_rtag tag] }, 99 + { mode: "normal", mods: [Super, Shift], key: tag_str, cmd: "toggle-view-tags", args: [tag_to_rtag tag] }, 100 + { mode: "normal", mods: [Super, Control], key: tag_str, cmd: "set-focused-tags", args: [tag_to_rtag tag] }, 101 + { mode: "normal", mods: [Super, Shift, Control], key: tag_str, cmd: "set-view-tags", args: [tag_to_rtag tag] }, 102 + ], 103 + ) 104 + |> List.join 105 + |> List.concat [ 106 + # Show all tags 107 + { mode: "normal", mods: [Super], key: "0", cmd: "set-focused-tags", args: [named_tag_to_rtag All] }, 108 + { mode: "normal", mods: [Super, Shift], key: "0", cmd: "set-view-tags", args: [named_tag_to_rtag All] }, 109 + ] 110 + |> List.concat [ 111 + # Hide applications 112 + { mode: "normal", mods: [Super], key: "H", cmd: "set-view-tags", args: [named_tag_to_rtag Hide] }, 113 + { mode: "normal", mods: [Super, Control], key: "H", cmd: "set-focused-tags", args: [named_tag_to_rtag Hide] }, 114 + ] 115 + 116 + special_tag_binds = |named_tag, key| [ 117 + { mode: "special-tags", mods: [None], key: key, cmd: "toggle-focused-tags", args: [named_tag_to_rtag named_tag] }, 118 + { mode: "special-tags", mods: [Shift], key: key, cmd: "toggle-view-tags", args: [named_tag_to_rtag named_tag] }, 119 + { mode: "special-tags", mods: [Control], key: key, cmd: "set-focused-tags", args: [named_tag_to_rtag named_tag] }, 120 + { mode: "special-tags", mods: [Shift, Control], key: key, cmd: "set-view-tags", args: [named_tag_to_rtag named_tag] }, 121 + ] 122 + 123 + keybinds = [ 124 + # Launch Applications 125 + { mode: "normal", mods: [Super], key: "Return", cmd: "spawn", args: ["foot"] }, 126 + { mode: "normal", mods: [Super], key: "R", cmd: "spawn", args: ["bemenu-run.sh"] }, 127 + 128 + # Audio 129 + { mode: "normal", mods: [Super], key: "E", cmd: "spawn", args: ["wpctl set-mute @DEFAULT_SOURCE@ toggle"] }, 130 + 131 + # Screen capture 132 + { mode: "normal", mods: [None], key: "Print", cmd: "spawn", args: ["scr pic -c"] }, 133 + { mode: "normal", mods: [Super], key: "Print", cmd: "spawn", args: ["scr pic -cd"] }, 134 + 135 + # Output Control 136 + { mode: "normal", mods: [Super], key: "X", cmd: "focus-output", args: ["next"] }, 137 + { mode: "normal", mods: [Super, Alt], key: "X", cmd: "focus-output", args: ["previous"] }, 138 + { mode: "normal", mods: [Super, Control], key: "X", cmd: "send-to-output", args: ["next"] }, 139 + { mode: "normal", mods: [Super, Control, Alt], key: "X", cmd: "send-to-output", args: ["previous"] }, 140 + { mode: "normal", mods: [Super, Shift, Control], key: "X", cmd: "send-to-output", args: ["-current-tags", "next"] }, 141 + { mode: "normal", mods: [Super, Shift, Control, Alt], key: "X", cmd: "send-to-output", args: ["-current-tags", "previous"] }, 142 + 143 + # Exit River 144 + { mode: "normal", mods: [Super, Control], key: "Escape", cmd: "exit", args: [] }, 145 + 146 + # Window Management 147 + { mode: "normal", mods: [Super], key: "Q", cmd: "close", args: [] }, 148 + { mode: "normal", mods: [Super], key: "F", cmd: "toggle-float", args: [] }, 149 + { mode: "normal", mods: [Super, Control], key: "F", cmd: "toggle-fullscreen", args: [] }, 150 + { mode: "normal", mods: [Super], key: "T", cmd: "output-layout", args: ["rivertile"] }, 151 + { mode: "normal", mods: [Super, Control], key: "T", cmd: "output-layout", args: ["none"] }, 152 + { mode: "normal", mods: [Super], key: "Z", cmd: "focus-view", args: ["next"] }, 153 + { mode: "normal", mods: [Super, Control], key: "Z", cmd: "focus-view", args: ["previous"] }, 154 + { mode: "normal", mods: [Super], key: "Up", cmd: "send-layout-cmd", args: ["rivertile", "main-location top"] }, 155 + { mode: "normal", mods: [Super], key: "Left", cmd: "send-layout-cmd", args: ["rivertile", "main-location left"] }, 156 + { mode: "normal", mods: [Super], key: "Down", cmd: "send-layout-cmd", args: ["rivertile", "main-location bottom"] }, 157 + { mode: "normal", mods: [Super], key: "Right", cmd: "send-layout-cmd", args: ["rivertile", "main-location right"] }, 158 + { mode: "normal", mods: [Super], key: "Bracketleft", cmd: "send-layout-cmd", args: ["rivertile", "main-count -1"] }, 159 + { mode: "normal", mods: [Super], key: "Bracketright", cmd: "send-layout-cmd", args: ["rivertile", "main-count +1"] }, 160 + { mode: "normal", mods: [Super, Control], key: "Bracketleft", cmd: "send-layout-cmd", args: ["rivertile", "main-ratio -0.05"] }, 161 + { mode: "normal", mods: [Super, Control], key: "Bracketright", cmd: "send-layout-cmd", args: ["rivertile", "main-ratio +0.05"] }, 162 + { mode: "normal", mods: [Super], key: "Space", cmd: "zoom", args: [] }, 163 + { mode: "normal", mods: [Super], key: "Comma", cmd: "focus-view", args: ["previous"] }, 164 + { mode: "normal", mods: [Super], key: "Period", cmd: "focus-view", args: ["next"] }, 165 + { mode: "normal", mods: [Super, Control], key: "Comma", cmd: "swap", args: ["previous"] }, 166 + { mode: "normal", mods: [Super, Control], key: "Period", cmd: "swap", args: ["next"] }, 167 + 168 + # Passthrough mode 169 + { mode: "normal", mods: [Super], key: "F12", cmd: "enter-mode", args: ["passthrough"] }, 170 + { mode: "passthrough", mods: [Super], key: "F12", cmd: "enter-mode", args: ["normal"] }, 171 + 172 + # Special Tags Mode 173 + { mode: "normal", mods: [Super], key: "G", cmd: "enter-mode", args: ["special-tags"] }, 174 + { mode: "special-tags", mods: [None], key: "Escape", cmd: "enter-mode", args: ["normal"] }, 175 + ] 176 + 177 + mod_str = |mod| 178 + when mod is 179 + Control -> "Control" 180 + Mod1 | Alt -> "Mod1" 181 + Mod3 -> "Mod3" 182 + Mod4 | Super -> "Mod4" 183 + Mod5 -> "Mod3" 184 + None -> "None" 185 + Shift -> "Shift" 186 + 187 + riverctl_runner! = |list_of_args| 188 + list_of_args 189 + |> List.for_each_try! |elem| 190 + _ = Stdout.line! "Running riverctl with arguments: `${Str.join_with elem ", "}`" 191 + 192 + result = 193 + Cmd.new "riverctl" 194 + |> Cmd.args elem 195 + |> Cmd.exec_exit_code! 196 + 197 + when result is 198 + Ok exit_code if exit_code == 0 -> Ok {} 199 + Ok exit_code -> Stderr.line! "Command exited with non-zero code: ${Num.to_str exit_code}" 200 + Err err -> Stderr.line! "Error executing command: ${Inspect.to_str err}" 201 + 202 + main! = |_args| 203 + autostart_cmds! = 204 + autostart 205 + |> List.map |cmd| 206 + ["spawn", cmd] 207 + 208 + autostart_apps_cmds = 209 + autostart_apps 210 + |> List.map |cmd| 211 + ["spawn", cmd] 212 + 213 + configuration_cmds = 214 + configurations 215 + |> List.map |{ option, args }| 216 + args 217 + |> List.prepend option 218 + 219 + rule_cmds = 220 + rules 221 + |> List.map |{ id, title, action, args }| 222 + id_part = if Str.is_empty id == Bool.false then ["-app-id", id] else [] 223 + full_ident = if Str.is_empty title == Bool.false then List.concat id_part ["-title", title] else id_part 224 + 225 + ["rule-add"] 226 + |> List.concat full_ident 227 + |> List.append action 228 + |> List.concat args 229 + 230 + mode_cmds = 231 + modes 232 + |> List.map |mode| 233 + ["declare-mode", mode] 234 + 235 + pointer_bind_cmds = 236 + pointer_binds 237 + |> List.map |{ mode, mods, btn, cmd }| 238 + ["map-pointer", mode, Str.join_with (List.map mods mod_str) "+", btn, cmd] 239 + 240 + keybind_cmds = 241 + tag_binds 242 + |> List.concat (special_tag_binds Discord "D") 243 + |> List.concat (special_tag_binds Games "G") 244 + |> List.concat (special_tag_binds KeePassXC "K") 245 + |> List.concat (special_tag_binds Nautilus "N") 246 + |> List.concat (special_tag_binds Signal "M") 247 + |> List.concat (special_tag_binds Steam "S") 248 + |> List.concat (special_tag_binds Thunderbird "T") 249 + |> List.concat keybinds 250 + |> List.map |{ mode, mods, key, cmd, args }| 251 + ["map", mode, Str.join_with (List.map mods mod_str) "+", key, cmd] 252 + |> List.concat args 253 + 254 + autostart_cmds! 255 + |> List.concat configuration_cmds 256 + |> List.concat rule_cmds 257 + |> List.concat mode_cmds 258 + |> List.concat pointer_bind_cmds 259 + |> List.concat keybind_cmds 260 + |> List.concat autostart_apps_cmds 261 + |> riverctl_runner!
+145
config/river/init.sh.bak
··· 1 + #!/bin/sh 2 + riverctl spawn "systemctl --user start river-session-pre.target" 3 + riverctl spawn update-session-vars 4 + riverctl spawn "systemctl --user start river-session.target" 5 + riverctl spawn "swaybg -i ${HOME}/pic/wallpapers/dark/evie-s-Pb1KFv4tauY-unsplash.jpg -m fill" 6 + riverctl spawn kanshi 7 + riverctl spawn 'rivertile -outer-padding 0 -view-padding 0 -main-ratio 0.5' 8 + 9 + riverctl xcursor-theme Adwaita 24 10 + 11 + riverctl input pointer-1356-3570-Sony_Interactive_Entertainment_DualSense_Edge_Wireless_Controller_Touchpad events disabled 12 + 13 + riverctl focus-follows-cursor normal 14 + 15 + riverctl map normal Super Return spawn foot 16 + riverctl map normal Super R spawn bemenu-run.sh 17 + riverctl map normal Super E spawn 'wpctl set-mute @DEFAULT_SOURCE@ toggle' 18 + 19 + riverctl map normal None Print spawn 'scr pic -c' 20 + riverctl map normal Super Print spawn 'scr pic -cd' 21 + 22 + # riverctl map normal Super Space 'makoctl dismiss -a' 23 + 24 + # riverctl map normal Super H focus-view left 25 + # riverctl map normal Super J focus-view down 26 + # riverctl map normal Super K focus-view up 27 + # riverctl map normal Super L focus-view right 28 + riverctl map normal Super Z focus-view next 29 + riverctl map normal Super+Control Z focus-view previous 30 + 31 + riverctl map-pointer normal Super BTN_LEFT move-view 32 + riverctl map-pointer normal Super BTN_RIGHT resize-view 33 + 34 + riverctl set-cursor-warp on-output-change 35 + 36 + riverctl map normal Super X focus-output next 37 + riverctl map normal Super+Alt X focus-output previous 38 + riverctl map normal Super+Control X send-to-output next 39 + riverctl map normal Super+Control+Alt X send-to-output previous 40 + riverctl map normal Super+Shift+Control X send-to-output -current-tags next 41 + riverctl map normal Super+Shift+Control+Alt X send-to-output -current-tags previous 42 + 43 + # This doesn't seem to work with these output names 44 + # riverctl declare-mode output-ops 45 + # riverctl map normal Super X enter-mode output-ops 46 + # riverctl map output-ops None 1 focus-output "LG Electronics LG HDR WFHD 0x0000B11B" 47 + # riverctl map output-ops None 2 focus-output "BNQ BenQ PD2700U ET87K04288SL0" 48 + # riverctl map output-ops None 3 focus-output "AOC 2460G4 0x0000075E" 49 + # riverctl map output-ops Shift 1 send-to-output "LG Electronics LG HDR WFHD 0x0000B11B" 50 + # riverctl map output-ops Shift 2 send-to-output "BNQ BenQ PD2700U ET87K04288SL0" 51 + # riverctl map output-ops Shift 3 send-to-output "AOC 2460G4 0x0000075E" 52 + # riverctl map output-ops None Escape enter-mode normal 53 + 54 + for i in $(seq 1 9) 55 + do 56 + tags=$((1 << ($i - 1))) 57 + 58 + # Super+Control+[1-9] to toggle focus of tag [0-8] 59 + riverctl map normal Super $i toggle-focused-tags $tags 60 + 61 + # Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view 62 + riverctl map normal Super+Shift $i toggle-view-tags $tags 63 + 64 + # Super+[1-9] to focus tag [0-8] 65 + riverctl map normal Super+Control $i set-focused-tags $tags 66 + 67 + # Super+Shift+[1-9] to tag focused view with tag [0-8] 68 + riverctl map normal Super+Shift+Control $i set-view-tags $tags 69 + done 70 + 71 + # Super+0 to focus all tags 72 + # Super+Shift+0 to tag focused view with all tags 73 + all_tags=$(((1 << 32) - 1)) 74 + riverctl map normal Super 0 set-focused-tags $all_tags 75 + riverctl map normal Super+Shift 0 set-view-tags $all_tags 76 + 77 + riverctl declare-mode special-tags 78 + riverctl map normal Super G enter-mode special-tags 79 + riverctl map special-tags None Escape enter-mode normal 80 + 81 + keepassxc_tag=$((1 << (10 - 1))) 82 + riverctl map special-tags None k toggle-focused-tags $keepassxc_tag 83 + riverctl map special-tags Shift k toggle-view-tags $keepassxc_tag 84 + riverctl map special-tags Control k set-focused-tags $keepassxc_tag 85 + riverctl map special-tags Shift+Control k set-view-tags $keepassxc_tag 86 + 87 + riverctl rule-add -app-id org.keepassxc.KeePassXC float 88 + riverctl rule-add -app-id org.keepassxc.KeePassXC -title "KeyChain.kdbx [Locked] - KeePassXC" tags $keepassxc_tag 89 + 90 + thunderbird_tag=$((1 << (11 - 1))) 91 + riverctl map special-tags None t toggle-focused-tags $thunderbird_tag 92 + riverctl map special-tags Shift t toggle-view-tags $thunderbird_tag 93 + riverctl map special-tags Control t set-focused-tags $thunderbird_tag 94 + riverctl map special-tags Shift+Control t set-view-tags $thunderbird_tag 95 + 96 + riverctl rule-add -app-id org.mozilla.Thunderbird tags $thunderbird_tag 97 + 98 + for i in $(seq 1 9) 99 + do 100 + tags=$((1 << ($i - 1))) 101 + 102 + riverctl map special-tags None $i toggle-focused-tags $tags 103 + riverctl map special-tags Shift $i toggle-view-tags $tags 104 + riverctl map special-tags Control $i set-focused-tags $tags 105 + riverctl map special-tags Shift+Control $i set-view-tags $tags 106 + done 107 + 108 + riverctl map normal Super+Control Escape exit 109 + riverctl map normal Super Q close 110 + 111 + riverctl map normal Super F toggle-float 112 + riverctl map normal Super+Control F toggle-fullscreen 113 + 114 + riverctl declare-mode passthrough 115 + riverctl map normal Super F12 enter-mode passthrough 116 + riverctl map passthrough Super F12 enter-mode normal 117 + 118 + # Set background and border color 119 + # riverctl background-color 0x002b36 120 + riverctl border-color-focused 0x93a1a1 121 + riverctl border-color-unfocused 0x586e75 122 + 123 + # # Set keyboard repeat rate 124 + # riverctl set-repeat 50 300 125 + 126 + riverctl map normal Super T output-layout rivertile 127 + riverctl map normal Super+Control T output-layout none 128 + 129 + riverctl map normal Super Up send-layout-cmd rivertile "main-location top" 130 + riverctl map normal Super Left send-layout-cmd rivertile "main-location left" 131 + riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom" 132 + riverctl map normal Super Right send-layout-cmd rivertile "main-location right" 133 + 134 + riverctl map normal Super Bracketleft send-layout-cmd rivertile "main-count -1" 135 + riverctl map normal Super Bracketright send-layout-cmd rivertile "main-count +1" 136 + riverctl map normal Super+Control Bracketleft send-layout-cmd rivertile "main-ratio -0.05" 137 + riverctl map normal Super+Control Bracketright send-layout-cmd rivertile "main-ratio +0.05" 138 + 139 + riverctl map normal Super Space zoom 140 + riverctl map normal Super Comma focus-view previous 141 + riverctl map normal Super Period focus-view next 142 + riverctl map normal Super+Control Comma swap previous 143 + riverctl map normal Super+Control Period swap next 144 + 145 + riverctl rule-add -app-id org.gnome.Nautilus float
+6
config/senpai/senpai.scfg
··· 1 + address "soju.y6d.boo:6697" 2 + nickname "yemou" 3 + password-cmd secret-tool lookup service soju.y6d.boo 4 + colors { 5 + nicks self purple 6 + }
config/sioyek/keys_user.config

This is a binary file and will not be displayed.

+9
config/sioyek/prefs_user.config
··· 1 + check_for_updates_on_startup 0 2 + show_statusbar_only_when_hovered 1 3 + 4 + case_sensitive_search 0 5 + 6 + text_highlight_color 0.8196078431372549 0.6784313725490196 0.9490196078431372 7 + search_highlight_color 0.6509803921568628 0.7294117647058823 0.9607843137254902 8 + 9 + ui_font IBM Plex Mono
+1
config/thm/templates/light/foot-colors.ini.template
··· 2 2 3 3 [csd] 4 4 color=ff{bg_color} 5 + border-color=ff{color7} 5 6 button-color=ff{fg_color} 6 7 button-minimize-color=ff{color3} 7 8 button-maximize-color=ff{color2}
+1 -1
config/thm/templates/mako.template
··· 1 1 # Global Config 2 2 max-visible=2 3 - output=DP-1 3 + output=HDMI-A-5 4 4 layer=top 5 5 anchor=top-right 6 6
+38
config/thm/themes/light3.theme
··· 1 + #!/bin/sh 2 + 3 + theme_type="light" 4 + 5 + bg_color="efefef" 6 + fg_color="1f1f1f" 7 + 8 + # Black 9 + color0="d2d2d2" 10 + color8="dfdfdf" 11 + 12 + # Red 13 + color1="e67b7b" 14 + color9="ed9a9a" 15 + 16 + # Green 17 + color2="80ba63" 18 + color10="a3d989" 19 + 20 + # Yellow 21 + color3="f5a868" 22 + color11="f7c297" 23 + 24 + # Blue 25 + color4="849ce6" 26 + color12="a6baf5" 27 + 28 + # Magenta 29 + color5="b37fe3" 30 + color13="d1adf2" 31 + 32 + # Cyan 33 + color6="6ebdc4" 34 + color14="bedcde" 35 + 36 + # White 37 + color7="3f3f3f" 38 + color15="6a6a6a"
+2 -2
config/xdg-desktop-portal-wlr/config
··· 1 1 [screencast] 2 - output_name = DP-1 3 - max_fps = 75 2 + output_name = HDMI-A-5 3 + max_fps = 60 4 4 chooser_cmd = simple 5 5 chooser_type = slurp -f %o -or
+1
config/zathura/zathurarc
··· 1 + set guioptions none
+28 -27
local/bin/bemenu-run.sh
··· 3 3 . "${XDG_STATE_HOME:-$HOME/.local/state}/thm/colors.sh" 4 4 5 5 # shellcheck disable=SC2154 6 - exec bemenu-run -i \ 7 - -w \ 8 - -p run: \ 9 - -m all \ 10 - -H 32 \ 11 - --ch 24 \ 12 - --cw 4 \ 13 - --hp 4 \ 14 - --fn "monospace 10" \ 15 - --tb "#${bg_color}" \ 16 - --tf "#${color5}" \ 17 - --fb "#${bg_color}" \ 18 - --ff "#${color5}" \ 19 - --nb "#${bg_color}" \ 20 - --nf "#${color8}" \ 21 - --hb "#${bg_color}" \ 22 - --hf "#${fg_color}" \ 23 - --fbb "#${color9}" \ 24 - --fbf "#${color9}" \ 25 - --sb "#${color9}" \ 26 - --sf "#${color9}" \ 27 - --ab "#${bg_color}" \ 28 - --af "#${color8}" \ 29 - --scb "#${color9}" \ 30 - --scf "#${color9}" \ 31 - --bdr "#${color9}" \ 32 - "$@" 6 + exec bemenu-run \ 7 + -i \ 8 + -w \ 9 + -p run: \ 10 + -m all \ 11 + -H 32 \ 12 + --ch 24 \ 13 + --cw 4 \ 14 + --hp 4 \ 15 + --fn "monospace 10" \ 16 + --tb "#${bg_color}" \ 17 + --tf "#${color5}" \ 18 + --fb "#${bg_color}" \ 19 + --ff "#${color5}" \ 20 + --nb "#${bg_color}" \ 21 + --nf "#${color8}" \ 22 + --hb "#${bg_color}" \ 23 + --hf "#${fg_color}" \ 24 + --fbb "#${color9}" \ 25 + --fbf "#${color9}" \ 26 + --sb "#${color9}" \ 27 + --sf "#${color9}" \ 28 + --ab "#${bg_color}" \ 29 + --af "#${color8}" \ 30 + --scb "#${color9}" \ 31 + --scf "#${color9}" \ 32 + --bdr "#${color9}" \ 33 + "$@"
+27 -26
local/bin/bemenu.sh
··· 3 3 . "${XDG_STATE_HOME:-$HOME/.local/state}/thm/colors.sh" 4 4 5 5 # shellcheck disable=SC2154 6 - exec bemenu -i \ 7 - -w \ 8 - -m all \ 9 - -H 32 \ 10 - --ch 24 \ 11 - --cw 4 \ 12 - --hp 4 \ 13 - --fn "monospace 10" \ 14 - --tb "#${bg_color}" \ 15 - --tf "#${color5}" \ 16 - --fb "#${bg_color}" \ 17 - --ff "#${color5}" \ 18 - --nb "#${bg_color}" \ 19 - --nf "#${color8}" \ 20 - --hb "#${bg_color}" \ 21 - --hf "#${fg_color}" \ 22 - --fbb "#${color9}" \ 23 - --fbf "#${color9}" \ 24 - --sb "#${color9}" \ 25 - --sf "#${color9}" \ 26 - --ab "#${bg_color}" \ 27 - --af "#${color8}" \ 28 - --scb "#${color9}" \ 29 - --scf "#${color9}" \ 30 - --bdr "#${color9}" \ 31 - "$@" 6 + exec bemenu \ 7 + -i \ 8 + -w \ 9 + -m all \ 10 + -H 32 \ 11 + --ch 24 \ 12 + --cw 4 \ 13 + --hp 4 \ 14 + --fn "monospace 10" \ 15 + --tb "#${bg_color}" \ 16 + --tf "#${color5}" \ 17 + --fb "#${bg_color}" \ 18 + --ff "#${color5}" \ 19 + --nb "#${bg_color}" \ 20 + --nf "#${color8}" \ 21 + --hb "#${bg_color}" \ 22 + --hf "#${fg_color}" \ 23 + --fbb "#${color9}" \ 24 + --fbf "#${color9}" \ 25 + --sb "#${color9}" \ 26 + --sf "#${color9}" \ 27 + --ab "#${bg_color}" \ 28 + --af "#${color8}" \ 29 + --scb "#${color9}" \ 30 + --scf "#${color9}" \ 31 + --bdr "#${color9}" \ 32 + "$@"
+35
local/bin/typp
··· 1 + #!/bin/sh 2 + set -e 3 + 4 + file=$1 5 + if [ "$file" = "typ" ] || [ "${file##*.}" != "typ" ] || [ ! -e "$file" ] 6 + then 7 + printf '%s\n' "Missing typst file" 8 + exit 1 9 + fi 10 + 11 + pdf="${1%.typ}.pdf" 12 + 13 + # Generate a blank PDF document so sioyek doesn't segfault 14 + magick convert xc:none -page A4 "$pdf" 15 + 16 + # typst watch "$file" > /dev/null 2>&1 & 17 + typst watch "$file" & 18 + typst_pid="$!" 19 + 20 + sioyek "$pdf" > /dev/null 2>&1 & 21 + sioyek_pid="$!" 22 + 23 + kill_children() { 24 + kill $typst_pid 25 + kill $sioyek_pid 26 + exit 27 + } 28 + 29 + trap kill_children EXIT 30 + 31 + while inotifywait -e close_write,moved_to,create -qq "$pdf" 32 + do sioyek --execute-command reload_no_flicker > /dev/null 2>&1 33 + done 34 + 35 + kill_children
+2 -2
readme.md
··· 2 2 Configurations for programs that I use. 3 3 4 4 Alongside these configurations I also have a scripts which can be found on 5 - [here](https://codeberg.org/yemou/scripts). 5 + [here](https://tangled.sh/@yemou.pink/scripts). 6 6 7 7 These configurations are intended to be distro agnostic. 8 8 The distro I use is NixOS and the configurations for that can be found 9 - [here](https://codeberg.org/yemou/nix-configs). 9 + [here](https://tangled.sh/@yemou.pink/nix-configs). 10 10 11 11 NOTE: These configurations are specific to my system and are not guaranteed to 12 12 work on yours.
+11 -2
ssh/config
··· 1 1 Host lily 2 + HostName 2600:1702:1730:76f0:7285:c2ff:fe07:3c7b 3 + BindAddress 2600:1702:1730:76f0:dabb:c1ff:fea3:8843 4 + Port 2222 5 + SetEnv TERM=xterm-256color 6 + Host lily-v4 7 + HostName 192.168.1.92 8 + Port 2222 9 + SetEnv TERM=xterm-256color 10 + Host lily-nb 2 11 HostName 100.77.30.206 3 - Port 22 12 + Port 2222 4 13 SetEnv TERM=xterm-256color 5 14 Host dandelion 6 15 HostName 100.77.19.103 7 - Port 22 16 + Port 2222 8 17 SetEnv TERM=xterm-256color