+4
-3
config/foot/foot.ini
+4
-3
config/foot/foot.ini
+1
-1
config/git/config
+1
-1
config/git/config
+3
-6
config/kak/colors/theme.kak
+3
-6
config/kak/colors/theme.kak
···
39
39
face global Information default,bright-yellow
40
40
face global Error default,bright-red+f
41
41
face global DiagnosticError red+b
42
-
# face global DiagnosticHint magenta # Unsure what this is being used for
43
-
# face global DiagnosticInfo magenta # Unsure what this is being used for
44
42
face global DiagnosticWarning yellow+b
43
+
face global DiagnosticTagDeprecated red+s
44
+
face global DiagnosticTagUnnecessary +c
45
45
face global StatusLine default,white
46
46
face global StatusLineMode magenta,default+b
47
47
face global StatusLineInfo blue,default+b
···
49
49
face global StatusCursor default,bright-magenta+f
50
50
face global Prompt default,default
51
51
face global MatchingChar default,default+bu
52
-
face global Whitespace white,default+b
52
+
face global Whitespace red,default+b
53
53
face global BufferPadding white,default+b
54
-
# face global InlayCodeLens magenta+b
55
54
face global LineFlagError red+b
56
-
# face global LineFlagHint magenta+b
57
-
# face global LineFlagInfo magenta+b
58
55
face global LineFlagWarning yellow+b
59
56
face global InlayHint bright-black+i
+115
-31
config/kak/kakrc
+115
-31
config/kak/kakrc
···
4
4
# Plugins
5
5
plug "whereswaldon/shellcheck.kak"
6
6
7
+
# Custom Filetypes
8
+
hook global BufCreate .*[.](roc) %{
9
+
set-option buffer filetype roc
10
+
}
11
+
7
12
# kak-lsp
8
-
eval %sh{ kak-lsp --kakoune -s $kak_session }
13
+
eval %sh{ kak-lsp }
9
14
10
-
hook -group lsp global WinSetOption filetype=(c|cpp|go|nix|python|typst|zig|java) %{
15
+
hook global WinSetOption filetype=(c|cpp|erlang|go|java|javascript|nix|python|roc|typst|zig) %{
11
16
lsp-enable-window
12
-
lsp-inlay-code-lenses-enable window
17
+
18
+
map global user l ':enter-user-mode lsp<ret>' -docstring 'Enter kak-lsp mode'
19
+
map global insert -docstring %{
20
+
Select next snippet placeholder
21
+
} <c-space> '<a-semicolon>:lsp-snippets-select-next-placeholders<ret>'
22
+
map global object a '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
23
+
map global object <a-a> '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
24
+
map global object f '<a-semicolon>lsp-object Function Method<ret>' -docstring 'LSP function or method'
25
+
map global object t '<a-semicolon>lsp-object Class Interface Struct<ret>' -docstring 'LSP class interface/struct'
26
+
map global object d '<a-semicolon>lsp-diagnostic-object --include-warnings<ret>' -docstring 'LSP errors & warnings'
27
+
map global object D '<a-semicolon>lsp-diagnostic-object<ret>' -docstring 'LSP errors'
28
+
29
+
lsp-inlay-hints-enable window
13
30
lsp-inlay-diagnostics-enable window
14
-
lsp-inlay-hints-enable window
15
-
def -hidden insert-a-n %{
16
-
try %{
17
-
lsp-snippets-select-next-placeholders
18
-
exec '<a-;>d'
19
-
} catch %{
20
-
exec -with-hooks '<c-n>'
21
-
}
31
+
}
32
+
33
+
hook -group lsp-filetype-nix global BufSetOption filetype=nix %{
34
+
set-option buffer lsp_servers %{
35
+
[nixd]
36
+
root_globs = [ "flake.nix", "shell.nix", ".git", ".hg" ]
37
+
}
38
+
}
39
+
40
+
hook -group lsp-filetype-python global BufSetOption filetype=python %{
41
+
set-option buffer lsp_servers %{
42
+
[ruff]
43
+
args = [ "server", "--quiet" ]
44
+
root_globs = [ "requirements.txt", "setup.py", "pyproject.toml", "uv.lock", ".git" ]
45
+
settings_section = "_"
46
+
# [ruff.settings._.globalSettings]
47
+
[ty]
48
+
args = [ "server" ]
49
+
root_globs = [ "requirements.txt", "setup.py", "pyproject.toml", "uv.lock", ".git" ]
22
50
}
23
-
map global insert <a-n> "<a-;>: insert-a-n<ret>"
51
+
}
52
+
53
+
hook -group lsp-filetype-typst global BufSetOption filetype=typst %{
54
+
set-option buffer lsp_servers %{
55
+
[tinymist]
56
+
root_globs = [ ".git" ]
57
+
settings_section = "tinymist"
58
+
[tinymist.settings.tinymist]
59
+
outputPath = "$root/_preview/$dir/$name"
60
+
fontPaths = [ "./assets/fonts" ]
61
+
formatterMode = "typstyle"
62
+
typstExtraArgs = [ "--features=html" ]
63
+
}
64
+
}
65
+
66
+
hook -group lsp-filetype-roc global BufSetOption filetype=roc %{
67
+
set-option buffer lsp_servers %{
68
+
[roc_language_server]
69
+
root_globs = [ ".git" ]
70
+
}
24
71
}
25
72
26
73
hook -group lsp global WinSetOption filetype=go %{
···
40
87
evaluate-commands %sh{
41
88
[ "$1" = add ] && {
42
89
[ "$3" ] && color=$3 || color=default,bright-white
43
-
printf '%s\n' "eval addhl window/ column $2 $color"
90
+
printf '%s\n' "eval addhl window/ column $(($2 + 1)) $color"
44
91
}
45
92
46
93
[ "$1" = remove ] && {
47
94
[ "$3" ] && color=$3 || color=default,bright-white
48
-
printf '%s\n' "eval rmhl window/column_$2_$color"
95
+
printf '%s\n' "eval rmhl window/column_$(($2 + 1))_$color"
49
96
}
50
97
}
51
98
}
···
67
114
m-whitespace %{
68
115
evaluate-commands %sh{
69
116
[ "$1" = tabs ] \
70
-
&& printf '%s\n' "eval map window insert <tab> <tab>" \
71
-
"eval set window indentwidth 0" \
72
-
"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>"
73
121
74
122
[ "$1" = spaces ] && {
75
123
s=0
···
79
127
s=$((s+1))
80
128
done
81
129
82
-
printf '%s\n' "eval map window insert <tab> \"$size\"" \
83
-
"eval set window indentwidth $2"
130
+
printf '%s\n' \
131
+
"eval set window indentwidth $2" \
132
+
"eval map window insert <tab> \"$size\""
84
133
}
85
134
}
86
135
}
87
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
+
88
156
# Keybinds
89
157
## User
90
158
map global user c ':comment-line<ret>' -docstring 'comment line'
91
159
map global user C ':comment-block<ret>' -docstring 'comment block'
92
160
map global user f ':try format catch lsp-formatting<ret>' -docstring 'Run formatcmd or lsp formatter'
93
-
map global user l ':enter-user-mode lsp<ret>' -docstring 'Enter kak-lsp user mode'
94
161
map global user p '!wl-paste<ret>' -docstring 'Paste from System Clipboard (Wayland)'
95
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'
96
165
97
166
# Set termcmd
98
167
hook global ModuleLoaded wayland %{
···
105
174
# Highlight Matching Characters
106
175
add-highlighter global/ show-matching
107
176
108
-
# Highligh TODO and friends
177
+
# Highlight TODO and friends
109
178
add-highlighter global/ regex \b(TODO|FIXME)\b 0:default+rb
110
179
180
+
# Show Trailing Whitespace
181
+
add-highlighter global/ show-whitespaces -lf ' ' -indent '' -spc 'โ' -only-trailing
182
+
111
183
# Set theme_type
112
184
evaluate-commands %sh{
113
-
[ "$TERM" = linux ] && {
185
+
[ "$TERM" = linux ] && {
114
186
printf '%s\n' "decl str theme_type none"
115
187
return 0
116
188
}
···
132
204
}
133
205
134
206
# Filetype specific options
135
-
hook global WinSetOption filetype=(css|html|java|markdown|xml|nix) %{
207
+
hook global WinSetOption filetype=(css|html|java|javascript|markdown|meson|nix|typst|xml|yaml) %{
136
208
m-whitespace spaces 2
137
209
}
138
210
139
-
# hook global WinSetOption filetype=html %{
140
-
# m-columnindicator remove 100
141
-
# m-columnindicator add 120
142
-
# }
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
+
220
+
hook global WinSetOption filetype=html %{
221
+
set-option buffer formatcmd "prettier --parser html"
222
+
}
143
223
144
224
hook global WinSetOption filetype=nix %{
145
-
set-option buffer formatcmd "nixpkgs-fmt"
225
+
set-option buffer formatcmd "nixfmt -w 120"
146
226
}
147
227
148
228
hook global WinSetOption filetype=java %{
149
229
set-option buffer formatcmd "google-java-format -"
150
230
}
151
231
152
-
hook global WinSetOption filetype=(python|zig) %{
232
+
hook global WinSetOption filetype=javascript %{
233
+
set-option buffer formatcmd "prettier --parser babel"
234
+
}
235
+
236
+
hook global WinSetOption filetype=(python|roc|zig) %{
153
237
m-whitespace spaces 4
154
238
}
155
239
···
169
253
}
170
254
171
255
# Status Line
172
-
set global modelinefmt '%val{bufname} %val{cursor_char_column},%val{cursor_line} {{context_info}} '
173
-
set -add global modelinefmt '{{mode_info}} - %sh{printf $USER} %sh{date +"%R %Z"} '
256
+
# set global modelinefmt '%val{bufname} %val{cursor_char_column},%val{cursor_line} {{context_info}} '
257
+
# set -add global modelinefmt '{{mode_info}} - %sh{printf $USER} %sh{date +"%R %Z"} '
174
258
#set -add global modelinefmt '%sh{cat /sys/class/power_supply/BAT0/capacity} '
175
259
176
260
# Set colorscheme
+20
config/kak/templates/license-mit
+20
config/kak/templates/license-mit
···
1
+
Copyright (c) <year> <copyright holders>
2
+
3
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+
this software and associated documentation files (the "Software"), to deal in
5
+
the Software without restriction, including without limitation the rights to
6
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+
of the Software, and to permit persons to whom the Software is furnished to do
8
+
so, subject to the following conditions:
9
+
10
+
The above copyright notice and this permission notice shall be included in all
11
+
copies or substantial portions of the Software.
12
+
13
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+
SOFTWARE.
20
+
-40
config/kak-lsp/kak-lsp.toml
-40
config/kak-lsp/kak-lsp.toml
···
1
-
snippet_support = true
2
-
verbosity = 2
3
-
4
-
[server]
5
-
timeout = 1800
6
-
7
-
[language_server.clangd]
8
-
filetypes = ["c", "cpp"]
9
-
roots = ["compile_commands.json", ".clangd", ".git", ".hg"]
10
-
command = "clangd"
11
-
12
-
[language_server.jdtls]
13
-
filetypes = ["java"]
14
-
roots = ["mvnw", "gradlew", ".git", ".hg"]
15
-
command = "jdtls"
16
-
[language_server.jdtls.settings]
17
-
# See https://github.dev/eclipse/eclipse.jdt.ls
18
-
# "java.format.insertSpaces" = true
19
-
20
-
[language_server.nil]
21
-
filetypes = ["nix"]
22
-
roots = ["flake.nix", ".git"]
23
-
command = "nil"
24
-
25
-
[language_server.ruff]
26
-
filetypes = ["python"]
27
-
roots = ["requirements.txt", "setup.py", ".git"]
28
-
command = "ruff-lsp"
29
-
30
-
# Kakoune can't detect typst files right now meaning that there is no highlighting
31
-
# I will just continue to use the browser version of typst
32
-
# [language_server.typst-lsp]
33
-
# filetypes = ["typst"]
34
-
# roots = [".git", "main.typ"]
35
-
# command = "typst-lsp"
36
-
37
-
[language_server.zls]
38
-
filetypes = ["zig"]
39
-
roots = ["build.zig"]
40
-
command = "zls"
+17
config/kanshi/config
+17
config/kanshi/config
···
1
+
profile desktop {
2
+
output "AOC 2460G4 0x0000075E" {
3
+
mode 1920x1080@144Hz
4
+
position 0,0
5
+
adaptive_sync on
6
+
}
7
+
output "BNQ BenQ PD2700U ET87K04288SL0" {
8
+
mode 3840x2160@60Hz
9
+
position 1920,0
10
+
scale 2
11
+
adaptive_sync on
12
+
}
13
+
output "LG Electronics LG HDR WFHD 0x0000B11B" {
14
+
mode 2560x1080@75Hz
15
+
position 640,1080
16
+
}
17
+
}
+1
-1
config/loksh/alias
+1
-1
config/loksh/alias
+2
config/loksh/rc
+2
config/loksh/rc
-1
config/mpv/mpv.conf
-1
config/mpv/mpv.conf
+148
config/river/init
+148
config/river/init
···
1
+
#!/bin/sh
2
+
# Autostart
3
+
riverctl spawn "systemctl --user start river-session-pre.target"
4
+
riverctl spawn update-session-vars
5
+
riverctl spawn "systemctl --user start river-session.target"
6
+
riverctl spawn "swaybg -i ${HOME}/pic/wallpapers/dark/evie-s-Pb1KFv4tauY-unsplash.jpg -m fill"
7
+
riverctl spawn kanshi
8
+
riverctl spawn 'rivertile -outer-padding 0 -view-padding 0 -main-ratio 0.5'
9
+
10
+
riverctl xcursor-theme Adwaita 24
11
+
12
+
riverctl input pointer-1356-3570-Sony_Interactive_Entertainment_DualSense_Edge_Wireless_Controller_Touchpad events disabled
13
+
14
+
riverctl focus-follows-cursor normal
15
+
16
+
riverctl map normal Super Return spawn foot
17
+
riverctl map normal Super R spawn bemenu-run.sh
18
+
riverctl map normal Super E spawn 'wpctl set-mute @DEFAULT_SOURCE@ toggle'
19
+
20
+
riverctl map normal None Print spawn 'scr pic -c'
21
+
riverctl map normal Super Print spawn 'scr pic -cd'
22
+
23
+
# riverctl map normal Super Space 'makoctl dismiss -a'
24
+
25
+
# riverctl map normal Super H focus-view left
26
+
# riverctl map normal Super J focus-view down
27
+
# riverctl map normal Super K focus-view up
28
+
# riverctl map normal Super L focus-view right
29
+
riverctl map normal Super Z focus-view next
30
+
riverctl map normal Super+Control Z focus-view previous
31
+
32
+
riverctl map-pointer normal Super BTN_LEFT move-view
33
+
riverctl map-pointer normal Super BTN_RIGHT resize-view
34
+
35
+
riverctl map normal Super+Shift Return zoom
36
+
37
+
riverctl set-cursor-warp on-output-change
38
+
39
+
riverctl map normal Super X focus-output next
40
+
riverctl map normal Super+Alt X focus-output previous
41
+
riverctl map normal Super+Control X send-to-output next
42
+
riverctl map normal Super+Control+Alt X send-to-output previous
43
+
riverctl map normal Super+Shift+Control X send-to-output -current-tags next
44
+
riverctl map normal Super+Shift+Control+Alt X send-to-output -current-tags previous
45
+
46
+
# This doesn't seem to work with these output names
47
+
# riverctl declare-mode output-ops
48
+
# riverctl map normal Super X enter-mode output-ops
49
+
# riverctl map output-ops None 1 focus-output "LG Electronics LG HDR WFHD 0x0000B11B"
50
+
# riverctl map output-ops None 2 focus-output "BNQ BenQ PD2700U ET87K04288SL0"
51
+
# riverctl map output-ops None 3 focus-output "AOC 2460G4 0x0000075E"
52
+
# riverctl map output-ops Shift 1 send-to-output "LG Electronics LG HDR WFHD 0x0000B11B"
53
+
# riverctl map output-ops Shift 2 send-to-output "BNQ BenQ PD2700U ET87K04288SL0"
54
+
# riverctl map output-ops Shift 3 send-to-output "AOC 2460G4 0x0000075E"
55
+
# riverctl map output-ops None Escape enter-mode normal
56
+
57
+
for i in $(seq 1 9)
58
+
do
59
+
tags=$((1 << ($i - 1)))
60
+
61
+
# Super+Control+[1-9] to toggle focus of tag [0-8]
62
+
riverctl map normal Super $i toggle-focused-tags $tags
63
+
64
+
# Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
65
+
riverctl map normal Super+Shift $i toggle-view-tags $tags
66
+
67
+
# Super+[1-9] to focus tag [0-8]
68
+
riverctl map normal Super+Control $i set-focused-tags $tags
69
+
70
+
# Super+Shift+[1-9] to tag focused view with tag [0-8]
71
+
riverctl map normal Super+Shift+Control $i set-view-tags $tags
72
+
done
73
+
74
+
# Super+0 to focus all tags
75
+
# Super+Shift+0 to tag focused view with all tags
76
+
all_tags=$(((1 << 32) - 1))
77
+
riverctl map normal Super 0 set-focused-tags $all_tags
78
+
riverctl map normal Super+Shift 0 set-view-tags $all_tags
79
+
80
+
riverctl declare-mode special-tags
81
+
riverctl map normal Super G enter-mode special-tags
82
+
riverctl map special-tags None Escape enter-mode normal
83
+
84
+
keepassxc_tag=$((1 << (10 - 1)))
85
+
riverctl map special-tags None k toggle-focused-tags $keepassxc_tag
86
+
riverctl map special-tags Shift k toggle-view-tags $keepassxc_tag
87
+
riverctl map special-tags Control k set-focused-tags $keepassxc_tag
88
+
riverctl map special-tags Shift+Control k set-view-tags $keepassxc_tag
89
+
90
+
riverctl rule-add -app-id org.keepassxc.KeePassXC float
91
+
riverctl rule-add -app-id org.keepassxc.KeePassXC -title "KeyChain.kdbx [Locked] - KeePassXC" tags $keepassxc_tag
92
+
93
+
thunderbird_tag=$((1 << (11 - 1)))
94
+
riverctl map special-tags None t toggle-focused-tags $thunderbird_tag
95
+
riverctl map special-tags Shift t toggle-view-tags $thunderbird_tag
96
+
riverctl map special-tags Control t set-focused-tags $thunderbird_tag
97
+
riverctl map special-tags Shift+Control t set-view-tags $thunderbird_tag
98
+
99
+
riverctl rule-add -app-id org.mozilla.Thunderbird tags $thunderbird_tag
100
+
101
+
for i in $(seq 1 9)
102
+
do
103
+
tags=$((1 << ($i - 1)))
104
+
105
+
riverctl map special-tags None $i toggle-focused-tags $tags
106
+
riverctl map special-tags Shift $i toggle-view-tags $tags
107
+
riverctl map special-tags Control $i set-focused-tags $tags
108
+
riverctl map special-tags Shift+Control $i set-view-tags $tags
109
+
done
110
+
111
+
riverctl map normal Super+Control Escape exit
112
+
riverctl map normal Super Q close
113
+
114
+
riverctl map normal Super F toggle-float
115
+
riverctl map normal Super+Control F toggle-fullscreen
116
+
117
+
riverctl declare-mode passthrough
118
+
riverctl map normal Super F12 enter-mode passthrough
119
+
riverctl map passthrough Super F12 enter-mode normal
120
+
121
+
# Set background and border color
122
+
# riverctl background-color 0x002b36
123
+
riverctl border-color-focused 0x93a1a1
124
+
riverctl border-color-unfocused 0x586e75
125
+
126
+
# # Set keyboard repeat rate
127
+
# riverctl set-repeat 50 300
128
+
129
+
riverctl map normal Super T output-layout rivertile
130
+
riverctl map normal Super+Control T output-layout none
131
+
132
+
riverctl map normal Super Up send-layout-cmd rivertile "main-location top"
133
+
riverctl map normal Super Left send-layout-cmd rivertile "main-location left"
134
+
riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom"
135
+
riverctl map normal Super Right send-layout-cmd rivertile "main-location right"
136
+
137
+
riverctl map normal Super Bracketleft send-layout-cmd rivertile "main-count -1"
138
+
riverctl map normal Super Bracketright send-layout-cmd rivertile "main-count +1"
139
+
riverctl map normal Super+Control Bracketleft send-layout-cmd rivertile "main-ratio -0.05"
140
+
riverctl map normal Super+Control Bracketright send-layout-cmd rivertile "main-ratio +0.05"
141
+
142
+
riverctl map normal Super Space zoom
143
+
riverctl map normal Super Comma focus-view previous
144
+
riverctl map normal Super Period focus-view next
145
+
riverctl map normal Super+Control Comma swap previous
146
+
riverctl map normal Super+Control Period swap next
147
+
148
+
riverctl rule-add -app-id org.gnome.Nautilus float
+261
config/river/init.roc
+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
+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
+2
-2
config/scr/config.sh
+2
-2
config/scr/config.sh
···
4
4
## general ##
5
5
# defines were screenshots and recordings will be stored
6
6
# scr_basedir="${HOME}/tmp/scr"
7
-
scr_pic_dir="${HOME}/pics/scr"
8
-
scr_rec_dir="${HOME}/vids/scr"
7
+
scr_pic_dir="${HOME}/pic/scr"
8
+
scr_rec_dir="${HOME}/vid/scr"
9
9
scr_aud_dir="${HOME}/aud/scr"
10
10
11
11
## aud settings ##
+6
config/senpai/senpai.scfg
+6
config/senpai/senpai.scfg
config/sioyek/keys_user.config
config/sioyek/keys_user.config
This is a binary file and will not be displayed.
+9
config/sioyek/prefs_user.config
+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
+1
config/thm/templates/light/foot-colors.ini.template
+1
-1
config/thm/templates/mako.template
+1
-1
config/thm/templates/mako.template
+38
config/thm/themes/light3.theme
+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"
+5
config/xdg-desktop-portal-wlr/config
+5
config/xdg-desktop-portal-wlr/config
+1
config/zathura/zathurarc
+1
config/zathura/zathurarc
···
1
+
set guioptions none
+4
config/zls.json
+4
config/zls.json
+35
local/bin/typp
+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
+4
local/bin/update-session-vars
+4
local/bin/update-session-vars
+5
-13
readme.md
+5
-13
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
-
either [Codeberg](https://codeberg.org/yemou/scripts),
6
-
[GitLab](https://gitlab.com/yemou/scripts), or
7
-
[GitHub](https://github.com/yemouu/scripts).
5
+
[here](https://tangled.sh/@yemou.pink/scripts).
8
6
9
7
These configurations are intended to be distro agnostic.
10
-
Distro specific configurations can be found in other repos.
11
-
- NixOS (Desktops)
12
-
- [Codeberg](https://codeberg.org/yemou/desktop-configs)
13
-
- [GitLab](https://gitlab.com/yemou/desktop-configs)
14
-
- [GitHub](https://github.com/yemouu/desktop-configs)
15
-
- NixOS (Servers)
16
-
- [Codeberg](https://codeberg.org/yemou/server-configs)
17
-
- [GitLab](https://gitlab.com/yemou/server-configs)
18
-
- [GitHub](https://github.com/yemouu/server-configs)
8
+
The distro I use is NixOS and the configurations for that can be found
9
+
[here](https://tangled.sh/@yemou.pink/nix-configs).
19
10
20
-
NOTE: These configurations are specific to my system and are not guaranteed to work on yours.
11
+
NOTE: These configurations are specific to my system and are not guaranteed to
12
+
work on yours.
+11
-2
ssh/config
+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