Compare commits

..

68 Commits

Author SHA1 Message Date
315f2b98bb auto up 22:35:16 up 2:12, 2 users, load average: 1.32, 1.67, 1.83 2025-12-18 22:35:18 +01:00
81f9be572a auto up 22:00:58 up 1:38, 2 users, load average: 0.91, 1.30, 1.45 2025-12-18 22:01:00 +01:00
f9d7d345c0 auto up 21:30:42 up 1:07, 2 users, load average: 0.97, 1.31, 1.50 2025-12-18 21:30:44 +01:00
42b3185712 auto up 21:17:45 up 0:54, 2 users, load average: 2.57, 2.26, 1.66 2025-12-18 21:17:47 +01:00
31233ab3d5 New software 2025-12-18 21:10:28 +01:00
951229147f auto up 21:44:11 up 3:28, 2 users, load average: 1.95, 1.48, 1.20 2025-12-11 21:44:13 +01:00
e1cdf08f3c auto up 22:33:03 up 0:49, 2 users, load average: 0.27, 0.65, 0.85 2025-11-28 22:33:05 +01:00
42b6c179d5 auto up 20:56:53 up 3:01, 2 users, load average: 1.44, 1.03, 0.92 2025-11-26 20:56:56 +01:00
a01c20a307 auto up 11:42:06 up 1:56, 2 users, load average: 0.03, 0.13, 0.17 2025-11-26 11:42:06 +01:00
3736992f64 auto up 22:33:36 up 11:15, 2 users, load average: 1.17, 1.00, 0.97 2025-11-24 22:33:39 +01:00
26e3e4dddf auto up 14:35:31 up 3:21, 2 users, load average: 1.95, 1.40, 1.40 2025-11-23 14:35:33 +01:00
4e3b114b68 auto up 02:15:33 up 0:00, 2 users, load average: 1.32, 0.39, 0.14 2025-11-21 02:15:35 +01:00
31400030e9 auto up 02:08:07 up 0:01, 2 users, load average: 0.85, 0.46, 0.18 2025-11-21 02:08:09 +01:00
102e157e1b auto up 01:59:11 up 0:01, 2 users, load average: 0.90, 0.36, 0.13 2025-11-21 01:59:13 +01:00
c32990c087 auto up 01:53:18 up 0:06, 2 users, load average: 0.90, 0.66, 0.33 2025-11-21 01:53:20 +01:00
d433729b22 auto up 01:13:56 up 4:45, 2 users, load average: 0.35, 0.67, 0.81 2025-11-21 01:13:57 +01:00
d407f6e68d auto up 01:11:50 up 4:43, 2 users, load average: 1.05, 0.88, 0.89 2025-11-21 01:11:51 +01:00
350b29c22d auto up 00:54:10 up 4:25, 2 users, load average: 2.03, 1.66, 1.35 2025-11-21 00:54:11 +01:00
bfbfd125bb auto up 00:23:21 up 3:54, 2 users, load average: 1.42, 0.94, 0.79 2025-11-21 00:23:23 +01:00
cf9867f0f7 Autostart kmonad and some improvements 2025-11-21 00:22:19 +01:00
ecc0e2661d Added kmonad 2025-11-20 23:42:53 +01:00
14f0df3b61 auto up 09:41:45 up 1:27, 2 users, load average: 0.31, 0.36, 0.36 2025-11-18 09:41:47 +01:00
6ca5a0285c auto up 13:49:41 up 0:58, 2 users, load average: 0.36, 0.45, 0.51 2025-11-17 13:49:41 +01:00
5d0b15dcf5 auto up 00:07:04 up 9:57, 2 users, load average: 0.53, 0.59, 0.74 2025-11-17 00:07:05 +01:00
a22de5534a auto up 23:01:45 up 8:51, 2 users, load average: 0.57, 0.67, 0.74 2025-11-16 23:01:47 +01:00
d4286fd125 auto up 11:36:12 up 0:01, 2 users, load average: 0.50, 0.26, 0.10 2025-11-16 11:36:14 +01:00
1eff7d42c7 auto up 16:24:24 up 1:02, 2 users, load average: 0.54, 0.27, 0.10 2025-11-14 16:24:26 +01:00
c20d49544a auto up 19:11:40 up 0:07, 2 users, load average: 0.75, 0.63, 0.33 2025-11-12 19:11:42 +01:00
d557b63bac auto up 14:00:28 up 0:03, 2 users, load average: 1.57, 0.48, 0.17 2025-11-11 14:00:30 +01:00
9f3aefc25d auto up 16:59:41 up 2:30, 2 users, load average: 0.65, 0.70, 0.71 2025-11-10 16:59:42 +01:00
fb1f460138 auto up 21:16:29 up 4:11, 2 users, load average: 1.06, 1.06, 0.88 2025-11-07 21:16:31 +01:00
e65c0afab5 auto up 17:06:41 up 0:01, 2 users, load average: 0.30, 0.13, 0.05 2025-11-07 17:06:43 +01:00
4c3e50e943 auto up 13:44:36 up 0:08, 2 users, load average: 2.32, 1.85, 0.87 2025-11-06 13:44:38 +01:00
f78b1de0e3 auto up 12:14:03 up 1:21, 2 users, load average: 0.30, 0.44, 0.46 2025-11-06 12:14:05 +01:00
b4c63f0f3f auto up 11:52:14 up 0:59, 2 users, load average: 0.27, 0.30, 0.33 2025-11-06 11:52:15 +01:00
60d6874bfe auto up 11:11:50 up 0:19, 2 users, load average: 0.30, 0.34, 0.27 2025-11-06 11:11:53 +01:00
9e030dae5e auto up 02:38:43 up 0:05, 3 users, load average: 0.52, 0.53, 0.25 2025-11-06 02:38:44 +01:00
7cc3d26c3b auto up 01:59:20 up 7:21, 2 users, load average: 0.17, 0.29, 0.37 2025-11-06 01:59:21 +01:00
25a8f64577 auto up 01:08:17 up 6:30, 2 users, load average: 0.62, 0.57, 0.51 2025-11-06 01:08:18 +01:00
77a4f39d30 auto up 23:56:08 up 5:18, 2 users, load average: 0.48, 0.84, 1.05 2025-11-05 23:56:09 +01:00
62934f3d62 auto up 23:30:04 up 4:52, 2 users, load average: 0.32, 0.27, 0.33 2025-11-05 23:30:05 +01:00
12090021ff auto up 23:05:00 up 4:27, 2 users, load average: 0.60, 0.54, 0.49 2025-11-05 23:05:02 +01:00
332341a7e0 auto up 20:39:37 up 2:01, 2 users, load average: 0.56, 0.59, 0.50 2025-11-05 20:39:39 +01:00
50682cdd0f auto up 13:49:18 up 1:52, 2 users, load average: 0.93, 0.35, 0.12 2025-11-04 13:49:20 +01:00
49aecc271d auto up 19:57:46 up 0:20, 2 users, load average: 0.34, 0.37, 0.28 2025-11-03 19:57:47 +01:00
c1815ecf2b auto up 18:57:31 up 0:00, 2 users, load average: 0.71, 0.18, 0.06 2025-11-03 18:57:34 +01:00
2485c1e3df auto up 18:55:47 up 0:01, 2 users, load average: 0.67, 0.36, 0.14 2025-11-03 18:55:49 +01:00
89bc721683 auto up 17:13:21 up 4:51, 2 users, load average: 1.17, 1.00, 0.87 2025-11-02 17:13:22 +01:00
dea41fa863 auto up 12:23:53 up 0:02, 2 users, load average: 0.41, 0.29, 0.11 2025-11-02 12:24:00 +01:00
413a01f064 auto up 02:09:52 up 2:18, 2 users, load average: 0.53, 0.69, 0.98 2025-11-02 02:09:53 +01:00
da1ba40562 auto up 00:48:24 up 0:56, 2 users, load average: 0.84, 1.94, 1.86 2025-11-02 00:48:26 +01:00
1aab8e3bc0 auto up 00:24:13 up 0:32, 2 users, load average: 0.84, 0.77, 0.74 2025-11-02 00:24:15 +01:00
c29131ae7e auto up 00:00:12 up 0:08, 2 users, load average: 1.56, 0.92, 0.48 2025-11-02 00:00:13 +01:00
06d24c07e0 auto up 23:56:38 up 0:05, 2 users, load average: 0.83, 0.67, 0.32 2025-11-01 23:56:45 +01:00
27c5994f44 btop 2025-11-01 23:53:18 +01:00
9b8425338b auto up 23:20:55 up 1:52, 2 users, load average: 1.80, 1.92, 1.80 2025-11-01 23:21:01 +01:00
afe6ede77a auto up 2025-11-01 23:14:52 +01:00
73e14e60bf auto up 2025-11-01 23:13:52 +01:00
1c32e4e3d2 Added grayscale 2025-11-01 21:48:20 +01:00
606d911930 Feh 2025-10-19 16:09:47 +02:00
534f4ba863 Hypr and dunst 2025-10-19 16:04:34 +02:00
58a9c54a03 Fix nextcloud 2025-10-17 12:39:35 +02:00
55048de4f9 Nextcloud 2025-10-17 12:08:18 +02:00
a7be299718 Nextcloud 2025-10-17 11:30:02 +02:00
cb0b630585 Added all script 2025-10-17 09:47:20 +02:00
4695dcb650 Update waybar 2025-10-17 09:47:09 +02:00
c4df6d68a5 Some improvements 2025-10-15 23:03:45 +02:00
3c4424c556 Some advancements 2025-10-14 11:14:01 +02:00
31 changed files with 2352 additions and 47 deletions

View File

@@ -5,3 +5,7 @@ When there are conflicts the resolve script can be used with care. It can be use
When `stow` is run with the dotfiles flag then the prefix is parsed and replaced. Be careful that there still exist dotfiles in this repo.
Be sure to only use the `stow.sh` wrapper scripts as this sets some defaults.
## Additional
Setup `rlone` host `Strato` for the automatic webdav mounting to work. This is automatically done when using hyprland.

5
all.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
bash stow.sh cli
bash stow.sh gui
bash stow.sh home

View File

@@ -5,7 +5,7 @@
color_theme = "Default"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True
theme_background = False
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
@@ -57,10 +57,10 @@ update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu lazy"
proc_sorting = "user"
#* Reverse sorting order, True or False.
proc_reversed = False
proc_reversed = True
#* Show processes as a tree.
proc_tree = True
@@ -169,7 +169,7 @@ show_swap = True
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
show_disks = False
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True

View File

@@ -0,0 +1,136 @@
# Test
theme = "jonas"
[keys.normal]
# Quick iteration on config changes
C-o = "jump_backward"
# Some nice Helix stuff
C-h = "select_prev_sibling"
C-j = "shrink_selection"
C-k = "expand_selection"
C-l = "select_next_sibling"
# Personal preference
o = ["open_below", "normal_mode"]
O = ["open_above", "normal_mode"]
s = ["select_all", "select_regex"]
# Muscle memory
"{" = ["goto_prev_paragraph", "collapse_selection"]
"}" = ["goto_next_paragraph", "collapse_selection"]
0 = "goto_line_start"
"$" = "goto_line_end"
"^" = "goto_first_nonwhitespace"
G = "goto_file_end"
V = ["select_mode", "extend_to_line_bounds"]
D = ["extend_to_line_end", "yank_main_selection_to_clipboard", "delete_selection"]
S = "surround_add" # Would be nice to be able to do something after this but it isn't chainable
# Clipboards over registers
x = "delete_selection"
p = ["paste_clipboard_after", "collapse_selection"]
P = ["paste_clipboard_before", "collapse_selection"]
Y = ["extend_to_line_end", "yank_main_selection_to_clipboard", "collapse_selection"]
# There is no real difference if you have overridden the commands bound to 'w', 'e' and 'b' like above
# But if you really want to get familiar with the Helix way of selecting-while-moving, comment the
# bindings for 'w', 'e', and 'b' out and leave the bindings for 'i' and 'a' active below. A world of difference!
i = ["insert_mode", "collapse_selection"]
a = ["append_mode", "collapse_selection"]
# Undoing the 'd' + motion commands restores the selection which is annoying
u = ["undo", "collapse_selection"]
# Escape the madness! No more fighting with the cursor! Or with multiple cursors!
esc = ["collapse_selection", "keep_primary_selection"]
# Search for word under cursor
"*" = ["move_char_right", "move_prev_word_start", "move_next_word_end", "search_selection", "search_next"]
"#" = ["move_char_right", "move_prev_word_start", "move_next_word_end", "search_selection", "search_prev"]
# Make j and k behave as they do Vim when soft-wrap is enabled
j = "move_line_down"
k = "move_line_up"
# Extend and select commands that expect a manual input can't be chained
# I've kept d[X] commands here because it's better to at least have the stuff you want to delete
# selected so that it's just a keystroke away to delete
[keys.normal.d]
d = ["extend_to_line_bounds", "yank_main_selection_to_clipboard", "delete_selection"]
t = ["extend_till_char"]
s = ["surround_delete"]
i = ["select_textobject_inner"]
a = ["select_textobject_around"]
j = ["select_mode", "extend_to_line_bounds", "extend_line_below", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"]
down = ["select_mode", "extend_to_line_bounds", "extend_line_below", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"]
k = ["select_mode", "extend_to_line_bounds", "extend_line_above", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"]
up = ["select_mode", "extend_to_line_bounds", "extend_line_above", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"]
G = ["select_mode", "extend_to_line_bounds", "goto_last_line", "extend_to_line_bounds", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"]
w = ["move_next_word_start", "yank_main_selection_to_clipboard", "delete_selection"]
W = ["move_next_long_word_start", "yank_main_selection_to_clipboard", "delete_selection"]
g = { g = ["select_mode", "extend_to_line_bounds", "goto_file_start", "extend_to_line_bounds", "yank_main_selection_to_clipboard", "delete_selection", "normal_mode"] }
[keys.normal.y]
y = ["extend_to_line_bounds", "yank_main_selection_to_clipboard", "normal_mode", "collapse_selection"]
j = ["select_mode", "extend_to_line_bounds", "extend_line_below", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
down = ["select_mode", "extend_to_line_bounds", "extend_line_below", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
k = ["select_mode", "extend_to_line_bounds", "extend_line_above", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
up = ["select_mode", "extend_to_line_bounds", "extend_line_above", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
G = ["select_mode", "extend_to_line_bounds", "goto_last_line", "extend_to_line_bounds", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
w = ["move_next_word_start", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
W = ["move_next_long_word_start", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"]
g = { g = ["select_mode", "extend_to_line_bounds", "goto_file_start", "extend_to_line_bounds", "yank_main_selection_to_clipboard", "collapse_selection", "normal_mode"] }
[keys.insert]
# Escape the madness! No more fighting with the cursor! Or with multiple cursors!
esc = ["collapse_selection", "normal_mode"]
[keys.normal.space.space]
o = ":config-open"
r = ":config-reload"
s = ":write-all"
[keys.normal.space]
q = ":q"
F = "file_picker_in_current_buffer_directory"
[keys.select]
# Muscle memory
"{" = ["extend_to_line_bounds", "goto_prev_paragraph"]
"}" = ["extend_to_line_bounds", "goto_next_paragraph"]
0 = "goto_line_start"
"$" = "goto_line_end"
"^" = "goto_first_nonwhitespace"
G = "goto_file_end"
D = ["extend_to_line_bounds", "delete_selection", "normal_mode"]
"%" = "match_brackets"
S = "surround_add"
u = ["switch_to_lowercase", "collapse_selection", "normal_mode"]
U = ["switch_to_uppercase", "collapse_selection", "normal_mode"]
# Visual-mode specific muscle memory
i = "select_textobject_inner"
a = "select_textobject_around"
# Some extra binds to allow us to insert/append in select mode because it's nice with multiple cursors
tab = ["insert_mode", "collapse_selection"] # tab is read by most terminal editors as "C-i"
C-a = ["append_mode", "collapse_selection"]
# Make selecting lines in visual mode behave sensibly
k = ["extend_line_up", "extend_to_line_bounds"]
j = ["extend_line_down", "extend_to_line_bounds"]
# Clipboards over registers ye ye
d = ["yank_main_selection_to_clipboard", "delete_selection"]
x = ["yank_main_selection_to_clipboard", "delete_selection"]
y = ["yank_main_selection_to_clipboard", "normal_mode", "flip_selections", "collapse_selection"]
Y = ["extend_to_line_bounds", "yank_main_selection_to_clipboard", "goto_line_start", "collapse_selection", "normal_mode"]
p = "replace_selections_with_clipboard" # No life without this
P = "paste_clipboard_before"
# Escape the madness! No more fighting with the cursor! Or with multiple cursors!
esc = ["collapse_selection", "keep_primary_selection", "normal_mode"]

View File

@@ -0,0 +1,14 @@
[[language]]
name = "python"
[language.debugger]
name = "debugpy"
transport = "stdio"
command = "python"
args = ["-m", "debugpy.adapter"]
[[language.debugger.templates]]
name = "source"
request = "launch"
completion = [ { name = "entrypoint", completion = "filename", default = "." } ]
args = { mode = "debug", program = "{0}" }

View File

@@ -0,0 +1,153 @@
# Author : Jakub Bartodziej <kubabartodziej@gmail.com>
# The theme uses the gruvbox dark palette with standard contrast: github.com/morhetz/gruvbox
"annotation" = { fg = "fg1" }
"attribute" = { fg = "aqua1", modifiers = ["italic"] }
"comment" = { fg = "gray", modifiers = ["italic"] }
"constant" = { fg = "purple1" }
"constant.character" = { fg = "aqua1" }
"constant.character.escape" = { fg = "orange1" }
"constant.macro" = { fg = "aqua1" }
"constructor" = { fg = "purple1" }
"definition" = { underline = { color = "aqua1" } }
"diagnostic" = { underline = { color = "orange1", style = "curl" } }
"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
"diagnostic.error" = { underline = { color = "red1", style = "curl" } }
"diagnostic.hint" = { underline = { color = "blue1", style = "curl" } }
"diagnostic.info" = { underline = { color = "aqua1", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow1", style = "curl" } }
# "diagnostic.unnecessary" = { modifiers = ["dim"] } # do not remove this for future resolving
"error" = { fg = "red1" }
"hint" = { fg = "blue1" }
"info" = { fg = "aqua1" }
"warning" = { fg = "yellow1" }
"diff.delta" = { fg = "yellow1" }
"diff.minus" = { fg = "red1" }
"diff.plus" = { fg = "green1" }
"function" = { fg = "green1" }
"function.builtin" = { fg = "yellow1" }
"function.macro" = { fg = "blue1" }
"keyword" = { fg = "red1" }
"keyword.control.import" = { fg = "aqua1" }
"label" = { fg = "red1" }
"markup.bold" = { modifiers = ["bold"] }
"markup.heading" = "aqua1"
"markup.italic" = { modifiers = ["italic"] }
"markup.link.text" = "red1"
"markup.link.url" = { fg = "green1", modifiers = ["underlined"] }
"markup.raw" = "red1"
"markup.strikethrough" = { modifiers = ["crossed_out"] }
"module" = { fg = "aqua1" }
"namespace" = { fg = "fg1" }
"operator" = { fg = "purple1" }
"punctuation" = { fg = "orange1" }
"special" = { fg = "purple0" }
"string" = { fg = "green1" }
"string.regexp" = { fg = "orange1" }
"string.special" = { fg = "orange1" }
"string.symbol" = { fg = "yellow1" }
"tag" = { fg = "aqua1" }
"type" = { fg = "yellow1" }
"type.enum.variant" = { modifiers = ["italic"] }
"ui.background" = { bg = "bg0" }
"ui.bufferline" = { fg = "fg1", bg = "bg1" }
"ui.bufferline.active" = { fg = "bg0", bg = "yellow0" }
"ui.bufferline.background" = { bg = "bg2" }
"ui.cursor" = { fg = "bg1", bg = "bg2" }
"ui.cursor.insert" = { fg = "bg1", bg = "blue0" }
"ui.cursor.normal" = { fg = "bg1", bg = "gray" }
"ui.cursor.select" = { fg = "bg1", bg = "orange0" }
"ui.cursor.match" = { fg = "fg3", bg = "bg3" }
"ui.cursor.primary" = { bg = "fg3", fg = "bg1" }
"ui.cursor.primary.insert" = { fg = "bg1", bg = "blue1" }
"ui.cursor.primary.normal" = { fg = "bg1", bg = "fg3" }
"ui.cursor.primary.select" = { fg = "bg1", bg = "orange1" }
"ui.cursorline" = { bg = "bg0_s" }
"ui.cursorline.primary" = { bg = "bg1" }
"ui.help" = { bg = "bg1", fg = "fg1" }
"ui.linenr" = { fg = "bg3" }
"ui.linenr.selected" = { fg = "yellow1" }
"ui.menu" = { fg = "fg1", bg = "bg2" }
"ui.menu.selected" = { fg = "green1", bg = "bg1", modifiers = ["bold"] }
"ui.popup" = { bg = "bg1" }
"ui.picker.header.column" = { underline.style = "line" }
"ui.picker.header.column.active" = { modifiers = ["bold"], underline.style = "line" }
"ui.selection" = { bg = "bg2" }
"ui.selection.primary" = { bg = "bg3" }
"ui.statusline" = { fg = "fg1", bg = "bg2" }
"ui.statusline.inactive" = { fg = "fg4", bg = "bg2" }
"ui.statusline.insert" = { fg = "bg1", bg = "blue1", modifiers = ["bold"] }
"ui.statusline.normal" = { fg = "bg1", bg = "fg3", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "bg1", bg = "orange1", modifiers = ["bold"] }
"ui.text" = { fg = "fg1" }
"ui.text.focus" = { fg = "green1", bg="bg1" }
"ui.text.directory" = { fg = "blue1" }
"ui.virtual.inlay-hint" = { fg = "gray" }
"ui.virtual.jump-label" = { fg = "purple0", modifiers = ["bold"] }
"ui.virtual.ruler" = { bg = "bg1" }
"ui.virtual.whitespace" = "bg2"
"ui.virtual.wrap" = { fg = "bg2" }
"ui.window" = { bg = "bg1" }
"variable" = { fg = "fg1" }
"variable.builtin" = { fg = "orange1", modifiers = ["italic"] }
"variable.other.member" = { fg = "blue1" }
"variable.parameter" = { fg = "blue1", modifiers = ["italic"] }
[palette]
bg0 = "#282828" # main background
bg0_s = "#32302f"
bg1 = "#3c3836"
bg2 = "#504945"
bg3 = "#665c54"
bg4 = "#7c6f64"
fg0 = "#fbf1c7"
fg1 = "#ebdbb2" # main foreground
fg2 = "#d5c4a1"
fg3 = "#bdae93"
fg4 = "#a89984"
gray = "#928374"
red0 = "#cc241d" # neutral
red1 = "#fb4934" # bright
green0 = "#98971a"
green1 = "#b8bb26"
yellow0 = "#d79921"
yellow1 = "#fabd2f"
blue0 = "#458588"
blue1 = "#83a598"
purple0 = "#b16286"
purple1 = "#d3869b"
aqua0 = "#689d6a"
aqua1 = "#8ec07c"
orange0 = "#d65d0e"
orange1 = "#fe8019"

View File

@@ -0,0 +1,5 @@
#:schema https://jj-vcs.github.io/jj/latest/config-schema.json
[user]
name = "Jonas Hahn"
email = "jonashahn1@gmx.net"

View File

@@ -0,0 +1,16 @@
# Configuration
default_language: go
theme: nord
# Colors
background: "0"
foreground: "7"
primary_color: "#AFBEE1"
primary_color_subdued: "#64708D"
green: "#527251"
bright_green: "#BCE1AF"
bright_red: "#E49393"
red: "#A46060"
black: "#888888"
gray: "#FFFFFF"
white: "#FFFFFF"

View File

@@ -62,6 +62,7 @@ nick_mode = prefix
nick_mode_empty = off
nicks_hide_password = "nickserv"
notice_as_pv = auto
notice_nicks_disable_notify = "chanserv,nickserv"
notice_welcome_redirect = on
notice_welcome_tags = ""
notify_tags_ison = "notify_message"

View File

@@ -62,6 +62,8 @@ backlog_time_format = "[%H:%M] "
remote_autoreconnect_delay_growing = 2
remote_autoreconnect_delay_max = 600
remote_get_lines = 1000
remote_input_cmd_local = " ${color:green}<local cmd>"
remote_input_cmd_remote = " ${color:red}<remote cmd>"
[port]

View File

@@ -17,4 +17,4 @@ salt = on
[data]
__passphrase__ = on
libera_password = "A4AE45D22CFB0C1925758BD65F1EC012311404966DFCFDB714E0150D3F17E867AB969A616A06BDF9F7F5B7443249552EF3B613D8F40AECE9D164"
libera_password = "B0880AFBE996D9870D77AFB8160D7949A56A4903CDAFF670A8ED66232CCE98D5561BC45D60F7DBF9E974E63E5A9486234C3E32632366BDD1A81B"

View File

@@ -138,8 +138,10 @@ scroll_page_percent = 100
search_text_not_found_alert = on
separator_horizontal = "-"
separator_vertical = ""
tab_whitespace_char = "→"
tab_width = 1
time_format = "%a, %d %b %Y %T"
whitespace_char = "·"
window_auto_zoom = off
window_separator_horizontal = on
window_separator_vertical = on
@@ -231,7 +233,9 @@ nick_case_sensitive = off
nick_completer = ": "
nick_first_only = off
nick_ignore_chars = "[]`_-^"
nick_ignore_words = ""
partial_completion_alert = on
partial_completion_auto_expand = on
partial_completion_command = off
partial_completion_command_arg = off
partial_completion_count = on

View File

@@ -0,0 +1,35 @@
require("starship"):setup()
require("gpg"):setup {
default_recipient = "jonashahn1@gmx.net",
delete_after = true,
}
require("git"):setup()
-- https://github.com/MasouShizuka/projects.yazi
--require("projects"):setup({
-- save = {
-- method = "lua",
-- },
-- last = {
-- update_after_save = true,
-- update_after_load = true,
-- load_after_start = true,
-- },
-- notify = {
-- enable = false,
-- },
--})
function Linemode:line_info()
local time = math.floor(self._file.cha.mtime or 0)
if time == 0 then
time = ""
elseif os.date("%Y", time) == os.date("%Y") then
time = os.date("%b %d %H:%M", time)
else
time = os.date("%b %d %Y", time)
end
return time
end

View File

@@ -10,9 +10,13 @@ prepend_keymap = [
# Chmod in yazi
{on = [ "c", "m" ],run = "plugin chmod",desc = "Chmod on selected files"},
{on = [ "g", "E" ],run = "plugin gpg",desc = "Gpg the hovered file"},
#{on = [ "q" ],run = "plugin projects quit",desc = "Quit with save"},
{on = [ "M" ],run = "plugin mount",desc = "Quit with save"},
# Recover the last delted file
{ on = ["u"], run = "plugin restore", desc = "Restore last deleted files/folders" },
{ on = ["T"], run = "plugin toggle-pane max-preview", desc = "Restore last deleted files/folders" },
# Get the size of the cwd
{ on = [ "\\", "s" ], run = "plugin what-size", desc = "Calc size of selection or cwd" },
@@ -32,7 +36,6 @@ prepend_keymap = [
# More mappings
append_keymap = [
# Default jumping to stuff
{ on = [ "g", "s" ], run = "cd /webdav", desc = "Go to webdav folder" },
{ on = [ "g", "u" ], run = "cd ~/projects/university", desc = "Go to university folder" },
{ on = [ "g", "n" ], run = "cd ~/nixos", desc = "Go to nixos folder" },
{ on = [ "g", "p" ], run = "cd ~/projects", desc = "Go to projects folder" },
@@ -41,8 +44,11 @@ append_keymap = [
{ on = [ "g", "r" ], run = "cd /", desc = "Go to root" },
{ on = [ "g", "b" ], run = "cd /shared", desc = "Go to hdd" },
{ on = [ "g", "l" ], run = "cd ~/.local", desc = "Go to Local" },
{ on = [ "g", "a" ], run = "cd ~/workspace/agla", desc = "Go to agla" },
{ on = [ "g", "t" ], run = "cd ~/.local/share/Trash", desc = "Go to Trash" },
{ on = [ "g", "U" ], run = "cd ~/projects/university/pdfs", desc = "Go to Uni PDF" },
{ on = [ "g", "x" ], run = "cd ~/Nextcloud", desc = "Go to nextcloud" },
{ on = [ "g", "a" ], run = "cd ~/.cache", desc = "Go to Cache" },
{ on = [ "g", "T" ], run = "cd ~/.local/share/Trash", desc = "Go to trash" },
{ on = [ "g", "t" ], run = "cd ~/Nextcloud/Notes", desc = "Go to notes" },
{ on = [ "g", "U" ], run = "cd ~/Nextcloud/University/current", desc = "Go to Uni" },
{ on = [ "g", "C" ], run = "cd ~/projects/university/S3", desc = "Go to current semester" },
]

View File

@@ -5,13 +5,13 @@ hash = "ee71543790f0ce3951161045a3787abd"
[[plugin.deps]]
use = "yazi-rs/plugins:chmod"
rev = "d1c8baa"
rev = "8f1d971"
hash = "8ad3e90b079190b4905f24a44f4ca06b"
[[plugin.deps]]
use = "boydaihungst/restore"
rev = "dc40509"
hash = "e7e377f9b1bbaca4a2e5d9ec9709ac4d"
rev = "2161735"
hash = "901741afba1979739b4650324265162e"
[[plugin.deps]]
use = "pirafrank/what-size"
@@ -23,6 +23,31 @@ use = "dedukun/bookmarks"
rev = "9ef1254"
hash = "92fbb5483657fa7976cdf4e0104e18e0"
[[plugin.deps]]
use = "Ascyii/gpg"
rev = "58fccf8"
hash = "b6a8d73d6f0be9aeb9be2077b062ca84"
[[plugin.deps]]
use = "Rolv-Apneseth/starship"
rev = "a63550b"
hash = "c2021386289a0cbb3e152a052f67c177"
[[plugin.deps]]
use = "yazi-rs/plugins:mount"
rev = "8f1d971"
hash = "4fccaaf10c36dc2466e2438a386ff017"
[[plugin.deps]]
use = "yazi-rs/plugins:git"
rev = "8f1d971"
hash = "63b6c222bf2103b3023389dde5e2ecfe"
[[plugin.deps]]
use = "yazi-rs/plugins:toggle-pane"
rev = "8f1d971"
hash = "8a7c58225816a163a6e8730c0adafbc8"
[[flavor.deps]]
use = "dangooddd/kanagawa"
rev = "a0b1d9d"

View File

@@ -1,9 +1,13 @@
[mgr]
sort_by = "extension"
sort_by = "mtime"
linemode = "line_info"
sort_reverse = true
sort_dir_first = true
show_hidden = false
mouse_events = []
[opener]
imagefeh = [
image = [
{ run = 'gtk4-launch fehcustom.desktop "$@"', orphan = true, for = "unix" },
]
play = [
@@ -16,6 +20,9 @@ open = [
{ run = 'xdg-open "$@"', desc = "Open" },
]
[confirm]
quit = false
[open]
prepend_rules = [
{ mime = "application/pdf", use = "open" },
@@ -23,10 +30,20 @@ prepend_rules = [
{ name = "*.html", use = [ "open" ] },
]
rules = [
{ mime = "image/*", use = "imagefeh" },
{ mime = "image/*", use = "image" },
{ mime = "text/*", use = "edit" },
{ mime = "video/*", use = "play" },
]
append_rules = [
{ name = "*", use = ["edit", "open", "play"]}
{ name = "*", use = ["edit", "open", "image", "play"]}
]
[[plugin.prepend_fetchers]]
id = "git"
name = "*"
run = "git"
[[plugin.prepend_fetchers]]
id = "git"
name = "*/"
run = "git"

View File

@@ -0,0 +1,521 @@
// Jonas zellij config to make life better
keybinds clear-defaults=true {
locked {
bind "Ctrl g" { SwitchToMode "normal"; }
}
pane {
bind "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "locked"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "locked"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "locked"; }
bind "h" { MoveFocus "left"; }
bind "i" { TogglePanePinned; SwitchToMode "locked"; }
bind "j" { MoveFocus "down"; }
bind "k" { MoveFocus "up"; }
bind "l" { MoveFocus "right"; }
bind "n" { NewPane; SwitchToMode "locked"; }
bind "p" { SwitchToMode "normal"; }
bind "r" { NewPane "right"; SwitchToMode "locked"; }
bind "s" { NewPane "stacked"; SwitchToMode "locked"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "locked"; }
bind "x" { CloseFocus; SwitchToMode "locked"; }
bind "z" { TogglePaneFrames; SwitchToMode "locked"; }
bind "tab" { SwitchFocus; }
}
tab {
bind "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "locked"; }
bind "2" { GoToTab 2; SwitchToMode "locked"; }
bind "3" { GoToTab 3; SwitchToMode "locked"; }
bind "4" { GoToTab 4; SwitchToMode "locked"; }
bind "5" { GoToTab 5; SwitchToMode "locked"; }
bind "6" { GoToTab 6; SwitchToMode "locked"; }
bind "7" { GoToTab 7; SwitchToMode "locked"; }
bind "8" { GoToTab 8; SwitchToMode "locked"; }
bind "9" { GoToTab 9; SwitchToMode "locked"; }
bind "[" { BreakPaneLeft; SwitchToMode "locked"; }
bind "]" { BreakPaneRight; SwitchToMode "locked"; }
bind "b" { BreakPane; SwitchToMode "locked"; }
bind "h" { GoToPreviousTab; }
bind "j" { GoToNextTab; }
bind "k" { GoToPreviousTab; }
bind "l" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "locked"; }
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "locked"; }
bind "t" { SwitchToMode "normal"; }
bind "x" { CloseTab; SwitchToMode "locked"; }
bind "tab" { ToggleTab; }
}
resize {
bind "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; }
bind "H" { Resize "Decrease left"; }
bind "J" { Resize "Decrease down"; }
bind "K" { Resize "Decrease up"; }
bind "L" { Resize "Decrease right"; }
bind "h" { Resize "Increase left"; }
bind "j" { Resize "Increase down"; }
bind "k" { Resize "Increase up"; }
bind "l" { Resize "Increase right"; }
bind "r" { SwitchToMode "normal"; }
}
move {
bind "left" { MovePane "left"; }
bind "down" { MovePane "down"; }
bind "up" { MovePane "up"; }
bind "right" { MovePane "right"; }
bind "h" { MovePane "left"; }
bind "j" { MovePane "down"; }
bind "k" { MovePane "up"; }
bind "l" { MovePane "right"; }
bind "m" { SwitchToMode "normal"; }
bind "n" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "tab" { MovePane; }
}
scroll {
bind "Alt left" { MoveFocusOrTab "left"; SwitchToMode "locked"; }
bind "Alt down" { MoveFocus "down"; SwitchToMode "locked"; }
bind "Alt up" { MoveFocus "up"; SwitchToMode "locked"; }
bind "Alt right" { MoveFocusOrTab "right"; SwitchToMode "locked"; }
bind "e" { EditScrollback; SwitchToMode "locked"; }
bind "f" { SwitchToMode "entersearch"; SearchInput 0; }
bind "Alt h" { MoveFocusOrTab "left"; SwitchToMode "locked"; }
bind "Alt j" { MoveFocus "down"; SwitchToMode "locked"; }
bind "Alt k" { MoveFocus "up"; SwitchToMode "locked"; }
bind "Alt l" { MoveFocusOrTab "right"; SwitchToMode "locked"; }
bind "s" { SwitchToMode "normal"; }
}
search {
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
bind "p" { Search "up"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "a" {
LaunchOrFocusPlugin "zellij:about" {
floating true
move_to_focused_tab true
}
SwitchToMode "locked"
}
bind "c" {
LaunchOrFocusPlugin "configuration" {
floating true
move_to_focused_tab true
}
SwitchToMode "locked"
}
bind "d" { Detach; }
bind "o" { SwitchToMode "normal"; }
bind "p" {
LaunchOrFocusPlugin "plugin-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "locked"
}
bind "s" {
LaunchOrFocusPlugin "zellij:share" {
floating true
move_to_focused_tab true
}
SwitchToMode "locked"
}
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "locked"
}
}
shared_among "normal" "locked" {
bind "Alt left" { MoveFocusOrTab "left"; }
bind "Alt down" { MoveFocus "down"; }
bind "Alt up" { MoveFocus "up"; }
bind "Alt right" { MoveFocusOrTab "right"; }
bind "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Alt h" { MoveFocusOrTab "left"; }
bind "Alt i" { MoveTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
bind "Alt n" { NewPane; }
bind "Alt o" { MoveTab "right"; }
bind "Alt p" { TogglePaneInGroup; }
bind "Alt Shift p" { ToggleGroupMarking; }
}
shared_except "locked" "renametab" "renamepane" {
bind "Ctrl g" { SwitchToMode "locked"; }
bind "Ctrl q" { Quit; }
}
shared_except "locked" "entersearch" {
bind "enter" { SwitchToMode "locked"; }
}
shared_except "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "locked"; }
}
shared_except "locked" "entersearch" "renametab" "renamepane" "move" {
bind "m" { SwitchToMode "move"; }
}
shared_except "locked" "entersearch" "search" "renametab" "renamepane" "session" {
bind "o" { SwitchToMode "session"; }
}
shared_except "locked" "tab" "entersearch" "renametab" "renamepane" {
bind "t" { SwitchToMode "tab"; }
}
shared_among "normal" "resize" "tab" "scroll" "prompt" "tmux" {
bind "p" { SwitchToMode "pane"; }
}
shared_among "normal" "resize" "search" "move" "prompt" "tmux" {
bind "s" { SwitchToMode "scroll"; }
}
shared_except "locked" "resize" "pane" "tab" "entersearch" "renametab" "renamepane" {
bind "r" { SwitchToMode "resize"; }
}
shared_among "scroll" "search" {
bind "PageDown" { PageScrollDown; }
bind "PageUp" { PageScrollUp; }
bind "left" { PageScrollUp; }
bind "down" { ScrollDown; }
bind "up" { ScrollUp; }
bind "right" { PageScrollDown; }
bind "Ctrl b" { PageScrollUp; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "locked"; }
bind "d" { HalfPageScrollDown; }
bind "Ctrl f" { PageScrollDown; }
bind "h" { PageScrollUp; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "l" { PageScrollDown; }
bind "u" { HalfPageScrollUp; }
}
entersearch {
bind "Ctrl c" { SwitchToMode "scroll"; }
bind "esc" { SwitchToMode "scroll"; }
bind "enter" { SwitchToMode "search"; }
}
renametab {
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
}
shared_among "renametab" "renamepane" {
bind "Ctrl c" { SwitchToMode "locked"; }
}
renamepane {
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
}
}
// Plugin aliases - can be used to change the implementation of Zellij
// changing these requires a restart to take effect
plugins {
about location="zellij:about"
compact-bar location="zellij:compact-bar"
// compact-bar location="zellij:compact-bar" {
// tooltip "F1"
// }
configuration location="zellij:configuration"
filepicker location="zellij:strider" {
cwd "/"
}
plugin-manager location="zellij:plugin-manager"
session-manager location="zellij:session-manager"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
tab-bar location="zellij:tab-bar"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
}
// Plugins to load in the background when a new session starts
// eg. "file:/path/to/my-plugin.wasm"
// eg. "https://example.com/my-plugin.wasm"
load_plugins {
}
web_client {
font "monospace"
}
// Use a simplified UI without special fonts (arrow glyphs)
// Options:
// - true
// - false (Default)
//
simplified_ui true
// Choose the theme that is specified in the themes section.
// Default: default
//
theme "gruvbox-dark"
// Choose the base input mode of zellij.
// Default: normal
//
default_mode "locked"
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd "/tmp"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// The folder in which Zellij will look for layouts
// (Requires restart)
//
// layout_dir "/tmp"
// The folder in which Zellij will look for themes
// (Requires restart)
//
// theme_dir "/tmp"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// mouse_mode false
// Toggle having pane frames around the panes
// Options:
// - true (default, enabled)
// - false
//
pane_frames false
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// (Requires restart)
// Default: false
//
// mirror_session true
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// (Requires restart)
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// (Requires restart)
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
//
// copy_command "pbcopy"
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
// copy_clipboard "primary"
// Enable automatic copying (and clearing) of selection when releasing mouse
// Default: true
//
// copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
// scrollback_editor "/usr/bin/vim"
// A fixed name to always give the Zellij session.
// Consider also setting `attach_to_session true,`
// otherwise this will error if such a session exists.
// Default: <RANDOM>
//
session_name "JonasWork"
// When `session_name` is provided, attaches to that session
// if it is already running or creates it otherwise.
// Default: false
//
attach_to_session true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout false
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
//
// serialize_pane_viewport false
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// (Requires restart)
// Default: true
//
// styled_underlines false
// How often in seconds sessions are serialized
//
// serialization_interval 10000
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// (Requires restart)
// Default: false
//
// disable_session_metadata false
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
// (Requires restart)
// Default: true (if the host terminal supports it)
//
// support_kitty_keyboard_protocol false
// Whether to make sure a local web server is running when a new Zellij session starts.
// This web server will allow creating new sessions and attaching to existing ones that have
// opted in to being shared in the browser.
// When enabled, navigate to http://127.0.0.1:8082
// (Requires restart)
//
// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
// If this is not desired, one can use a version of Zellij compiled without
// `web_server_capability`
//
// Possible values:
// - true
// - false
// Default: false
//
// web_server false
// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
// running (see the `web_server` option for more details).
// (Requires restart)
//
// Note: This is an administrative separation and not intended as a security measure.
//
// Possible values:
// - "on" (allow web sharing through the local web server if it
// is online)
// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
// Default: "off"
//
// web_sharing "off"
// A path to a certificate file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_cert "/path/to/cert.pem"
// A path to a key file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_key "/path/to/key.pem"
/// Whether to enforce https connections to the web server when it is bound to localhost
/// (127.0.0.0/8)
///
/// Note: https is ALWAYS enforced when bound to non-local interfaces
///
/// Default: false
//
// enforce_https_for_localhost false
// Whether to stack panes when resizing beyond a certain size
// Default: true
//
// stacked_resize false
// Whether to show tips on startup
// Default: true
//
show_startup_tips false
// Whether to show release notes on first version run
// Default: true
//
show_release_notes false
// Whether to enable mouse hover effects and pane grouping functionality
// default is true
// advanced_mouse_actions false
// The ip address the web server should listen on when it starts
// Default: "127.0.0.1"
// (Requires restart)
// web_server_ip "127.0.0.1"
// The port the web server should listen on when it starts
// Default: 8082
// (Requires restart)
// web_server_port 8082
// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
// of this command will be used instead of the discovered RESURRECT_COMMAND
// can be useful for removing wrappers around commands
// Note: be sure to escape backslashes and similar characters properly
// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"
//

View File

@@ -0,0 +1,532 @@
keybinds clear-defaults=true {
locked {
bind "Ctrl g" { SwitchToMode "normal"; }
}
pane {
bind "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; }
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; }
bind "k" { MoveFocus "up"; }
bind "l" { MoveFocus "right"; }
bind "n" { NewPane; SwitchToMode "normal"; }
bind "p" { SwitchFocus; }
bind "Ctrl p" { SwitchToMode "normal"; }
bind "r" { NewPane "right"; SwitchToMode "normal"; }
bind "s" { NewPane "stacked"; SwitchToMode "normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
}
tab {
bind "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "normal"; }
bind "2" { GoToTab 2; SwitchToMode "normal"; }
bind "3" { GoToTab 3; SwitchToMode "normal"; }
bind "4" { GoToTab 4; SwitchToMode "normal"; }
bind "5" { GoToTab 5; SwitchToMode "normal"; }
bind "6" { GoToTab 6; SwitchToMode "normal"; }
bind "7" { GoToTab 7; SwitchToMode "normal"; }
bind "8" { GoToTab 8; SwitchToMode "normal"; }
bind "9" { GoToTab 9; SwitchToMode "normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
bind "b" { BreakPane; SwitchToMode "normal"; }
bind "h" { GoToPreviousTab; }
bind "j" { GoToNextTab; }
bind "k" { GoToPreviousTab; }
bind "l" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "normal"; }
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
bind "Ctrl t" { SwitchToMode "normal"; }
bind "x" { CloseTab; SwitchToMode "normal"; }
bind "tab" { ToggleTab; }
}
resize {
bind "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; }
bind "H" { Resize "Decrease left"; }
bind "J" { Resize "Decrease down"; }
bind "K" { Resize "Decrease up"; }
bind "L" { Resize "Decrease right"; }
bind "h" { Resize "Increase left"; }
bind "j" { Resize "Increase down"; }
bind "k" { Resize "Increase up"; }
bind "l" { Resize "Increase right"; }
bind "Ctrl n" { SwitchToMode "normal"; }
}
move {
bind "left" { MovePane "left"; }
bind "down" { MovePane "down"; }
bind "up" { MovePane "up"; }
bind "right" { MovePane "right"; }
bind "h" { MovePane "left"; }
bind "Ctrl h" { SwitchToMode "normal"; }
bind "j" { MovePane "down"; }
bind "k" { MovePane "up"; }
bind "l" { MovePane "right"; }
bind "n" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "tab" { MovePane; }
}
scroll {
bind "e" { EditScrollback; SwitchToMode "normal"; }
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
}
search {
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
bind "p" { Search "up"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "a" {
LaunchOrFocusPlugin "zellij:about" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "c" {
LaunchOrFocusPlugin "configuration" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "Ctrl o" { SwitchToMode "normal"; }
bind "p" {
LaunchOrFocusPlugin "plugin-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "s" {
LaunchOrFocusPlugin "zellij:share" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
}
shared_except "locked" {
bind "Alt left" { MoveFocusOrTab "left"; }
bind "Alt down" { MoveFocus "down"; }
bind "Alt up" { MoveFocus "up"; }
bind "Alt right" { MoveFocusOrTab "right"; }
bind "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Ctrl g" { SwitchToMode "locked"; }
bind "Alt h" { MoveFocusOrTab "left"; }
bind "Alt i" { MoveTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
bind "Alt n" { NewPane; }
bind "Alt o" { MoveTab "right"; }
bind "Alt p" { TogglePaneInGroup; }
bind "Alt Shift p" { ToggleGroupMarking; }
bind "Ctrl q" { Quit; }
}
shared_except "locked" "move" {
bind "Ctrl h" { SwitchToMode "move"; }
}
shared_except "locked" "session" {
bind "Ctrl o" { SwitchToMode "session"; }
}
shared_except "locked" "scroll" "search" "tmux" {
bind "Ctrl b" { SwitchToMode "tmux"; }
}
shared_except "locked" "scroll" "search" {
bind "Ctrl s" { SwitchToMode "scroll"; }
}
shared_except "locked" "tab" {
bind "Ctrl t" { SwitchToMode "tab"; }
}
shared_except "locked" "pane" {
bind "Ctrl p" { SwitchToMode "pane"; }
}
shared_except "locked" "resize" {
bind "Ctrl n" { SwitchToMode "resize"; }
}
shared_except "normal" "locked" "entersearch" {
bind "enter" { SwitchToMode "normal"; }
}
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "normal"; }
}
shared_among "pane" "tmux" {
bind "x" { CloseFocus; SwitchToMode "normal"; }
}
shared_among "scroll" "search" {
bind "PageDown" { PageScrollDown; }
bind "PageUp" { PageScrollUp; }
bind "left" { PageScrollUp; }
bind "down" { ScrollDown; }
bind "up" { ScrollUp; }
bind "right" { PageScrollDown; }
bind "Ctrl b" { PageScrollUp; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
bind "d" { HalfPageScrollDown; }
bind "Ctrl f" { PageScrollDown; }
bind "h" { PageScrollUp; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "l" { PageScrollDown; }
bind "Ctrl s" { SwitchToMode "normal"; }
bind "u" { HalfPageScrollUp; }
}
entersearch {
bind "Ctrl c" { SwitchToMode "scroll"; }
bind "esc" { SwitchToMode "scroll"; }
bind "enter" { SwitchToMode "search"; }
}
renametab {
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
}
shared_among "renametab" "renamepane" {
bind "Ctrl c" { SwitchToMode "normal"; }
}
renamepane {
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
}
shared_among "session" "tmux" {
bind "d" { Detach; }
}
tmux {
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
bind "space" { NextSwapLayout; }
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
bind "%" { NewPane "right"; SwitchToMode "normal"; }
bind "," { SwitchToMode "renametab"; }
bind "[" { SwitchToMode "scroll"; }
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
bind "c" { NewTab; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
bind "n" { GoToNextTab; SwitchToMode "normal"; }
bind "o" { FocusNextPane; }
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
}
}
// Plugin aliases - can be used to change the implementation of Zellij
// changing these requires a restart to take effect
plugins {
about location="zellij:about"
compact-bar location="zellij:compact-bar"
configuration location="zellij:configuration"
filepicker location="zellij:strider" {
cwd "/"
}
plugin-manager location="zellij:plugin-manager"
session-manager location="zellij:session-manager"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
tab-bar location="zellij:tab-bar"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
}
// Plugins to load in the background when a new session starts
// eg. "file:/path/to/my-plugin.wasm"
// eg. "https://example.com/my-plugin.wasm"
load_plugins {
}
web_client {
font "monospace"
}
// Use a simplified UI without special fonts (arrow glyphs)
// Options:
// - true
// - false (Default)
//
// simplified_ui true
// Choose the theme that is specified in the themes section.
// Default: default
//
// theme "dracula"
// Choose the base input mode of zellij.
// Default: normal
//
// default_mode "locked"
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd "/tmp"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// The folder in which Zellij will look for layouts
// (Requires restart)
//
// layout_dir "/tmp"
// The folder in which Zellij will look for themes
// (Requires restart)
//
// theme_dir "/tmp"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// mouse_mode false
// Toggle having pane frames around the panes
// Options:
// - true (default, enabled)
// - false
//
// pane_frames false
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// (Requires restart)
// Default: false
//
// mirror_session true
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// (Requires restart)
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// (Requires restart)
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
// copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
//
// copy_command "pbcopy"
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
// copy_clipboard "primary"
// Enable automatic copying (and clearing) of selection when releasing mouse
// Default: true
//
// copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
// scrollback_editor "/usr/bin/vim"
// A fixed name to always give the Zellij session.
// Consider also setting `attach_to_session true,`
// otherwise this will error if such a session exists.
// Default: <RANDOM>
//
// session_name "My singleton session"
// When `session_name` is provided, attaches to that session
// if it is already running or creates it otherwise.
// Default: false
//
// attach_to_session true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout false
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
//
// serialize_pane_viewport false
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// (Requires restart)
// Default: true
//
// styled_underlines false
// How often in seconds sessions are serialized
//
// serialization_interval 10000
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// (Requires restart)
// Default: false
//
// disable_session_metadata false
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
// (Requires restart)
// Default: true (if the host terminal supports it)
//
// support_kitty_keyboard_protocol false
// Whether to make sure a local web server is running when a new Zellij session starts.
// This web server will allow creating new sessions and attaching to existing ones that have
// opted in to being shared in the browser.
// When enabled, navigate to http://127.0.0.1:8082
// (Requires restart)
//
// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
// If this is not desired, one can use a version of Zellij compiled without
// `web_server_capability`
//
// Possible values:
// - true
// - false
// Default: false
//
// web_server false
// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
// running (see the `web_server` option for more details).
// (Requires restart)
//
// Note: This is an administrative separation and not intended as a security measure.
//
// Possible values:
// - "on" (allow web sharing through the local web server if it
// is online)
// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
// Default: "off"
//
// web_sharing "off"
// A path to a certificate file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_cert "/path/to/cert.pem"
// A path to a key file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_key "/path/to/key.pem"
/// Whether to enforce https connections to the web server when it is bound to localhost
/// (127.0.0.0/8)
///
/// Note: https is ALWAYS enforced when bound to non-local interfaces
///
/// Default: false
//
// enforce_https_for_localhost false
// Whether to stack panes when resizing beyond a certain size
// Default: true
//
// stacked_resize false
// Whether to show tips on startup
// Default: true
//
// show_startup_tips false
// Whether to show release notes on first version run
// Default: true
//
// show_release_notes false
// Whether to enable mouse hover effects and pane grouping functionality
// default is true
// advanced_mouse_actions false
// The ip address the web server should listen on when it starts
// Default: "127.0.0.1"
// (Requires restart)
// web_server_ip "127.0.0.1"
// The port the web server should listen on when it starts
// Default: 8082
// (Requires restart)
// web_server_port 8082
// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
// of this command will be used instead of the discovered RESURRECT_COMMAND
// can be useful for removing wrappers around commands
// Note: be sure to escape backslashes and similar characters properly
// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"

View File

@@ -0,0 +1,536 @@
//
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/jonas/.config/zellij/config.kdl.bak
//
keybinds clear-defaults=true {
locked {
bind "Ctrl g" { SwitchToMode "normal"; }
}
pane {
bind "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; }
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; }
bind "k" { MoveFocus "up"; }
bind "l" { MoveFocus "right"; }
bind "n" { NewPane; SwitchToMode "normal"; }
bind "p" { SwitchFocus; }
bind "Ctrl p" { SwitchToMode "normal"; }
bind "r" { NewPane "right"; SwitchToMode "normal"; }
bind "s" { NewPane "stacked"; SwitchToMode "normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
}
tab {
bind "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "normal"; }
bind "2" { GoToTab 2; SwitchToMode "normal"; }
bind "3" { GoToTab 3; SwitchToMode "normal"; }
bind "4" { GoToTab 4; SwitchToMode "normal"; }
bind "5" { GoToTab 5; SwitchToMode "normal"; }
bind "6" { GoToTab 6; SwitchToMode "normal"; }
bind "7" { GoToTab 7; SwitchToMode "normal"; }
bind "8" { GoToTab 8; SwitchToMode "normal"; }
bind "9" { GoToTab 9; SwitchToMode "normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
bind "b" { BreakPane; SwitchToMode "normal"; }
bind "h" { GoToPreviousTab; }
bind "j" { GoToNextTab; }
bind "k" { GoToPreviousTab; }
bind "l" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "normal"; }
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
bind "Ctrl t" { SwitchToMode "normal"; }
bind "x" { CloseTab; SwitchToMode "normal"; }
bind "tab" { ToggleTab; }
}
resize {
bind "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; }
bind "H" { Resize "Decrease left"; }
bind "J" { Resize "Decrease down"; }
bind "K" { Resize "Decrease up"; }
bind "L" { Resize "Decrease right"; }
bind "h" { Resize "Increase left"; }
bind "j" { Resize "Increase down"; }
bind "k" { Resize "Increase up"; }
bind "l" { Resize "Increase right"; }
bind "Ctrl n" { SwitchToMode "normal"; }
}
move {
bind "left" { MovePane "left"; }
bind "down" { MovePane "down"; }
bind "up" { MovePane "up"; }
bind "right" { MovePane "right"; }
bind "h" { MovePane "left"; }
bind "Ctrl h" { SwitchToMode "normal"; }
bind "j" { MovePane "down"; }
bind "k" { MovePane "up"; }
bind "l" { MovePane "right"; }
bind "n" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "tab" { MovePane; }
}
scroll {
bind "e" { EditScrollback; SwitchToMode "normal"; }
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
}
search {
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
bind "p" { Search "up"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "a" {
LaunchOrFocusPlugin "zellij:about" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "c" {
LaunchOrFocusPlugin "configuration" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "Ctrl o" { SwitchToMode "normal"; }
bind "p" {
LaunchOrFocusPlugin "plugin-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "s" {
LaunchOrFocusPlugin "zellij:share" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
}
shared_except "locked" {
bind "Alt left" { MoveFocusOrTab "left"; }
bind "Alt down" { MoveFocus "down"; }
bind "Alt up" { MoveFocus "up"; }
bind "Alt right" { MoveFocusOrTab "right"; }
bind "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Ctrl g" { SwitchToMode "locked"; }
bind "Alt h" { MoveFocusOrTab "left"; }
bind "Alt i" { MoveTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
bind "Alt n" { NewPane; }
bind "Alt o" { MoveTab "right"; }
bind "Alt p" { TogglePaneInGroup; }
bind "Alt Shift p" { ToggleGroupMarking; }
bind "Ctrl q" { Quit; }
}
shared_except "locked" "move" {
bind "Ctrl h" { SwitchToMode "move"; }
}
shared_except "locked" "session" {
bind "Ctrl o" { SwitchToMode "session"; }
}
shared_except "locked" "scroll" "search" "tmux" {
bind "Ctrl b" { SwitchToMode "tmux"; }
}
shared_except "locked" "scroll" "search" {
bind "Ctrl s" { SwitchToMode "scroll"; }
}
shared_except "locked" "tab" {
bind "Ctrl t" { SwitchToMode "tab"; }
}
shared_except "locked" "pane" {
bind "Ctrl p" { SwitchToMode "pane"; }
}
shared_except "locked" "resize" {
bind "Ctrl n" { SwitchToMode "resize"; }
}
shared_except "normal" "locked" "entersearch" {
bind "enter" { SwitchToMode "normal"; }
}
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "normal"; }
}
shared_among "pane" "tmux" {
bind "x" { CloseFocus; SwitchToMode "normal"; }
}
shared_among "scroll" "search" {
bind "PageDown" { PageScrollDown; }
bind "PageUp" { PageScrollUp; }
bind "left" { PageScrollUp; }
bind "down" { ScrollDown; }
bind "up" { ScrollUp; }
bind "right" { PageScrollDown; }
bind "Ctrl b" { PageScrollUp; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
bind "d" { HalfPageScrollDown; }
bind "Ctrl f" { PageScrollDown; }
bind "h" { PageScrollUp; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "l" { PageScrollDown; }
bind "Ctrl s" { SwitchToMode "normal"; }
bind "u" { HalfPageScrollUp; }
}
entersearch {
bind "Ctrl c" { SwitchToMode "scroll"; }
bind "esc" { SwitchToMode "scroll"; }
bind "enter" { SwitchToMode "search"; }
}
renametab {
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
}
shared_among "renametab" "renamepane" {
bind "Ctrl c" { SwitchToMode "normal"; }
}
renamepane {
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
}
shared_among "session" "tmux" {
bind "d" { Detach; }
}
tmux {
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
bind "space" { NextSwapLayout; }
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
bind "%" { NewPane "right"; SwitchToMode "normal"; }
bind "," { SwitchToMode "renametab"; }
bind "[" { SwitchToMode "scroll"; }
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
bind "c" { NewTab; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
bind "n" { GoToNextTab; SwitchToMode "normal"; }
bind "o" { FocusNextPane; }
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
}
}
// Plugin aliases - can be used to change the implementation of Zellij
// changing these requires a restart to take effect
plugins {
about location="zellij:about"
compact-bar location="zellij:compact-bar"
configuration location="zellij:configuration"
filepicker location="zellij:strider" {
cwd "/"
}
plugin-manager location="zellij:plugin-manager"
session-manager location="zellij:session-manager"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
tab-bar location="zellij:tab-bar"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
}
// Plugins to load in the background when a new session starts
// eg. "file:/path/to/my-plugin.wasm"
// eg. "https://example.com/my-plugin.wasm"
load_plugins {
}
web_client {
font "monospace"
}
// Use a simplified UI without special fonts (arrow glyphs)
// Options:
// - true
// - false (Default)
//
// simplified_ui true
// Choose the theme that is specified in the themes section.
// Default: default
//
// theme "dracula"
// Choose the base input mode of zellij.
// Default: normal
//
// default_mode "locked"
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd "/tmp"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// The folder in which Zellij will look for layouts
// (Requires restart)
//
// layout_dir "/tmp"
// The folder in which Zellij will look for themes
// (Requires restart)
//
// theme_dir "/tmp"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// mouse_mode false
// Toggle having pane frames around the panes
// Options:
// - true (default, enabled)
// - false
//
// pane_frames false
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// (Requires restart)
// Default: false
//
// mirror_session true
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// (Requires restart)
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// (Requires restart)
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
// copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
//
// copy_command "pbcopy"
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
// copy_clipboard "primary"
// Enable automatic copying (and clearing) of selection when releasing mouse
// Default: true
//
// copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
// scrollback_editor "/usr/bin/vim"
// A fixed name to always give the Zellij session.
// Consider also setting `attach_to_session true,`
// otherwise this will error if such a session exists.
// Default: <RANDOM>
//
// session_name "My singleton session"
// When `session_name` is provided, attaches to that session
// if it is already running or creates it otherwise.
// Default: false
//
// attach_to_session true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout false
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
//
// serialize_pane_viewport false
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// (Requires restart)
// Default: true
//
// styled_underlines false
// How often in seconds sessions are serialized
//
// serialization_interval 10000
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// (Requires restart)
// Default: false
//
// disable_session_metadata false
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
// (Requires restart)
// Default: true (if the host terminal supports it)
//
// support_kitty_keyboard_protocol false
// Whether to make sure a local web server is running when a new Zellij session starts.
// This web server will allow creating new sessions and attaching to existing ones that have
// opted in to being shared in the browser.
// When enabled, navigate to http://127.0.0.1:8082
// (Requires restart)
//
// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
// If this is not desired, one can use a version of Zellij compiled without
// `web_server_capability`
//
// Possible values:
// - true
// - false
// Default: false
//
// web_server false
// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
// running (see the `web_server` option for more details).
// (Requires restart)
//
// Note: This is an administrative separation and not intended as a security measure.
//
// Possible values:
// - "on" (allow web sharing through the local web server if it
// is online)
// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
// Default: "off"
//
// web_sharing "off"
// A path to a certificate file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_cert "/path/to/cert.pem"
// A path to a key file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_key "/path/to/key.pem"
/// Whether to enforce https connections to the web server when it is bound to localhost
/// (127.0.0.0/8)
///
/// Note: https is ALWAYS enforced when bound to non-local interfaces
///
/// Default: false
//
// enforce_https_for_localhost false
// Whether to stack panes when resizing beyond a certain size
// Default: true
//
// stacked_resize false
// Whether to show tips on startup
// Default: true
//
show_startup_tips false
// Whether to show release notes on first version run
// Default: true
//
// show_release_notes false
// Whether to enable mouse hover effects and pane grouping functionality
// default is true
// advanced_mouse_actions false
// The ip address the web server should listen on when it starts
// Default: "127.0.0.1"
// (Requires restart)
// web_server_ip "127.0.0.1"
// The port the web server should listen on when it starts
// Default: 8082
// (Requires restart)
// web_server_port 8082
// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
// of this command will be used instead of the discovered RESURRECT_COMMAND
// can be useful for removing wrappers around commands
// Note: be sure to escape backslashes and similar characters properly
// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"

View File

@@ -1,7 +1,7 @@
# Main dunst configuration
[global]
monitor = 0
monitor = 2 # For the multi monitor setup
follow = none
origin = top-right
offset = 5 x 15
@@ -28,7 +28,6 @@
alignment = left
vertical_alignment = center
ignore_newline = no
stack_duplicates = true
hide_duplicate_count = false
@@ -38,4 +37,3 @@
corner_radius = 5
corners = bottom, top-left

View File

@@ -5,26 +5,49 @@ monitor = HDMI-A-1, 1920x1080@60, 0x0, 1
monitor = HDMI-A-2, 1920x1080@60, -1920x0, 1
monitor = DP-1, 1920x1080@60, 1920x0, 1
input:tablet {
device {
name = gaomon-gaomon-tablet # Big one
output = HDMI-A-1
active_area_size = 170, 120
active_area_position = 35, 30
}
device {
name = gaomon-gaomon-tablet-pen # Small one
output = HDMI-A-1
active_area_size = 155, 60
active_area_position = 0, 0
}
#######################################################################################
$terminal = alacritty
$menu = tofi-drun --terminal=kitty | sh
$menu = tofi-drun --terminal="alacritty -e" | sh
#######################################################################################
exec-once = waybar
exec-once = hyprsunset -t 3000
exec-once = wl-clip-persist --clipboard regular
exec-once = hyprpaper
#exec-once = hyprpaper
exec-once = nm-applet
exec-once = ~/projects/scripts/shell/rnote_mapper.sh
exec-once = ~/projects/scripts/shell/start_kmonad.sh
exec-once = sleep 5 && nextcloud
exec-once = sleep 5 && owncloud
# Prevent speaker damage
exec-once = sleep 5 && wpctl set-volume @DEFAULT_AUDIO_SINK@ 42%
#exec-once = ~/projects/scripts/shell/rnote_mapper.sh
exec-once = ~/projects/scripts/shell/toggle_grayscale.sh
exec-once = ~/projects/scripts/shell/computer.sh
# Mount the webdav folder configured by rclone
#exec-once = mkdir -p ~/Notecloud
#exec-once = rclone mount Strato: ~/Notecloud
# Set the right workspace otherwise it is set to ten
exec-once = sleep 0.1 && hyprctl dispatch workspace 1
# Check the hostname and enable animations only on a specific device
#exec-once = sh -c 'if [ "$(hostname)" = "minoxy" ]; then hyprctl keyword animations enabled; fi'
@@ -40,10 +63,14 @@ workspace=4,monitor:HDMI-A-1
workspace=5,monitor:HDMI-A-2
workspace=6,monitor:HDMI-A-2
workspace=7,monitor:HDMI-A-2
workspace=11,monitor:HDMI-A-2
workspace=12,monitor:HDMI-A-2
workspace=8,monitor:DP-1
workspace=9,monitor:DP-1
workspace=0,monitor:DP-1
workspace=13,monitor:DP-1
workspace=14,monitor:DP-1
env = HYPRCURSOR_THEME,catppuccin-frappe-rosewater-cursors
env = HYPRCURSOR_SIZE,18
@@ -69,6 +96,7 @@ misc {
input {
kb_layout = us
kb_options = compose:ralt
follow_mouse = 1
touchpad {
natural_scroll = false
@@ -84,6 +112,7 @@ bind = $mainMod, B, exec, firefox
bind = $mainMod, M, exit,
bind = $mainMod, F, togglefloating,
bind = $mainMod, P, exec, $menu
bind = $mainMod, E, exec, nemo
# Some keybindings for screenshot and colorpicking
bind = , Print, exec, hyprshot -m region --clipboard-only
@@ -106,6 +135,10 @@ bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod, A, workspace, 11
bind = $mainMod, S, workspace, 12
bind = $mainMod, D, workspace, 13
bind = $mainMod, G, workspace, 14
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
@@ -116,6 +149,10 @@ bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod SHIFT, A, movetoworkspace, 11
bind = $mainMod SHIFT, S, movetoworkspace, 12
bind = $mainMod SHIFT, D, movetoworkspace, 13
bind = $mainMod SHIFT, G, movetoworkspace, 14
bind = $mainMod, F12, exec, ~/projects/scripts/unison_sync.sh
# Resizeing with mouse buttons while pressed mod
@@ -137,6 +174,7 @@ bindt = $mainMod SHIFT, L, exec, hyprlock
windowrulev2 = suppressevent maximize, class:.*
windowrulev2 = float, class:(clipse)
windowrulev2 = float, class:(Edit Item)
windowrulev2 = size 622 652, class:(clipse)
windowrulev2 = stayfocused, class:(clipse)
windowrulev2 = float, class:(org.kde.dolphin)
@@ -168,7 +206,7 @@ windowrulev2 = workspace 5, class:(steam)
windowrulev2 = workspace 5, class:(blender)
windowrulev2 = workspace 6, initialTitle:(LibreOffice)
windowrulev2 = workspace 6, initialTitle:(GNU Image Manipulation Program)
#windowrulev2 = workspace 6, initialTitle:(GNU Image Manipulation Program)
windowrulev2 = workspace 6, class:(org.shotcut.Shotcut)
# Social Apps
@@ -196,28 +234,54 @@ windowrulev2 = workspace 10, class:(org.prismlauncher.PrismLauncher)
#windowrule = float,^(sioyek)$ # set rounding to 10 for kitty
windowrulev2 = size 900 500, title:(Select Document)
windowrulev2 = size 900 500, title:(Open File)
windowrulev2 = float, class:(PrismLauncher)
windowrulev2 = workspace 9, class:(PrismLauncher)
windowrulev2 = workspace 4, class:(Minecraft*)
# Settings applications will float
windowrulev2 = float, class:(qt6ct)
windowrulev2 = float, class:(nm-connection-editor)
windowrulev2 = float, title:(Save Document As)
windowrulev2 = float, title:(Print)
windowrulev2 = float, class:(simple-scan)
windowrulev2 = float, title:(Kvantum Manager)
windowrulev2 = float, class:(qt5ct)
windowrulev2 = float, title:(Open File)
windowrulev2 = float, title:(Open Folder)
windowrulev2 = float, title:(Save As)
windowrulev2 = tile, class:(sioyek)
windowrulev2 = float, title:(Preferences)
windowrulev2 = float, title:(Add)
windowrulev2 = size 450 450, class:(Gnuplot)
windowrulev2 = move 100 203100, class:(Gnuplot)
windowrulev2 = move 100 203, class:(Gnuplot)
windowrulev2 = float, class:(io.github.Qalculate.qalculate-qt)
windowrulev2 = size 700 700, class:(Qalculate!)
# Overwrite mechanics
windowrulev2 = float, class:(thunderbird)
windowrulev2 = tile, initialTitle:(Mozilla Thunderbird)
#windowrulev2 = tile, class:(sioyek)
windowrulev2 = float, title:(Select Document)
windowrulev2 = float, class:(Nextcloud)
windowrulev2 = move 1250 28, class:(Nextcloud)
windowrulev2 = move 700 50, title:(Nextcloud Settings)
windowrulev2 = size 700 800, title:(Nextcloud Settings)
windowrulev2 = size 800 250, class:(org.pulseaudio.pavucontrol)
windowrulev2 = float, class:(ownCloud)
windowrulev2 = move 800 48, class:(ownCloud)
windowrulev2 = move 700 50, title:(Nextcloud Settings)
windowrulev2 = size 1200 900, title:(Add)
windowrulev2 = size 800 450, class:(org.pulseaudio.pavucontrol)
windowrulev2 = move 40 80, class:(org.pulseaudio.pavucontrol)
windowrulev2 = move 1300 80, class:(nm-connection-editor)
windowrulev2 = float, class:(org.pulseaudio.pavucontrol)
windowrulev2 = float, class:(cheese)
windowrulev2 = float, class:(nemo)
windowrulev2 = float, initialTitle:(Open)
windowrulev2 = size 1200 900, class:(nemo)
windowrulev2 = move 50 100, class:(xdragon)
windowrulev2 = pin, class:(xdragon)

View File

@@ -0,0 +1,18 @@
#version 300 es
precision highp float;
in vec2 v_texcoord;
uniform sampler2D tex;
out vec4 fragColor;
void main() {
vec4 pixColor = texture(tex, v_texcoord);
float gray = 0.0;
// Get gray with luminosity and hdr
// https://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems
gray = dot(pixColor.rgb, vec3(0.2627, 0.6780, 0.0593));
fragColor = vec4(vec3(gray), pixColor.a);
}

View File

@@ -2,7 +2,7 @@ font = NotoFont
font-size = 14
outline-width = 0
border-width = 1
border-width = 2
padding-left = 4%
padding-top = 2%
@@ -10,17 +10,16 @@ background-color = #111
text-color = #f9fbff
selection-color = #933
prompt-text = "Act: "
placeholder-text = "Now"
width = 20%
height = 40%
anchor = bottom-right
margin-top = 100
margin-bottom = 100
width = 30%
height = 30%
anchor = top
margin-top = 250
input-background = #1234
margin-left = 100
margin-right = 100
hide-cursor = false
corner-radius = 10
corner-radius = 7
border-color = #F9a672
background-color = #1B1D1Eaa

View File

@@ -1,6 +1,6 @@
{
"height": 0,
[{
"position": "top",
"output": ["HDMI-A-1", "eDP-1"],
"modules-left": ["hyprland/workspaces", "hyprland/window"],
"modules-center": ["custom/webdav","clock", "custom/status"],
"modules-right": ["tray", "pulseaudio", "backlight", "cpu", "memory", "battery"],
@@ -44,4 +44,14 @@
"icon-size": 21,
"spacing": 5
},
}
}, {
"width": 0,
"position": "right",
"output": "HDMI-A-2",
"modules-left": [ "hyprland/workspaces"],
}, {
"width": 0,
"position": "left",
"output": "DP-1",
"modules-left": [ "hyprland/workspaces"],
}]

View File

@@ -6,3 +6,6 @@ else
PS1='\u@\h:\w\$ '
fi
# Added by GitLab Knowledge Graph installer
export PATH="$HOME/.local/bin:$PATH"

View File

@@ -8,6 +8,9 @@ bind-key u new-window -d -n fzf-switcher "bash -c '~/projects/scripts/find_gits.
bind-key s choose-tree -ZsK '#{?#{e|<:#{line},9},#{e|+:1,#{line}},#{?#{e|<:#{line},35},M-#{a:#{e|+:97,#{e|-:#{line},9}}},}}'
#bind-key -n M-9 run-shell "tmux last-window; tmux select-window -t 9; tmux send-keys '!!' Enter; tmux last-window"
bind-key & kill-window
bind-key x kill-pane
############# Cosmetics
set-option -g status-bg black
set-option -g status-fg white

View File

@@ -1,5 +1,7 @@
source $HOME/.common_shell
export TERM="alacritty"
bindkey '^R' history-incremental-search-backward
bindkey -v
@@ -72,3 +74,9 @@ fi
if [ -f "/etc/NIXOS" ]; then
eval "$(starship init zsh)"
fi
# opencode
export PATH=/home/jonas/.opencode/bin:$PATH
# Added by GitLab Knowledge Graph installer
export PATH="$HOME/.local/bin:$PATH"

View File

@@ -2,7 +2,7 @@
# Common config across different shells #
#########################################
export EDITOR='nvim'
export EDITOR='hx'
export HTTP_HOME="duckduckgo.com"
export RANGER_LOAD_DEFAULT_RC=false
export PATH=$HOME/programs_local/:$HOME/.cargo/bin:~/projects/scripts:$HOME/.local/bin:/usr/local/bin:$PATH
@@ -11,11 +11,15 @@ export MANPAGER="nvim +Man!"
export GOPATH=$HOME/.go
export PATH=$HOME/.go/bin:$PATH
export ANDROID_HOME=/home/jonas/Android
export NAP_CONFIG="~/.config/nap/config.yaml"
export loc="$HOME/files_local/"
alias oati="~/projects/scripts/oathi.sh"
alias imu="immich upload -r ."
alias chch="~/projects/scripts/check_git.sh"
alias rp="rsync --info=progress2 -a --checksum"
alias aut="~/projects/scripts/autostart-server.sh"
alias tt="~/projects/scripts/find_gits.sh"
alias on="nvim ~/projects/planner/quick.md"
@@ -27,8 +31,9 @@ alias a="alpine"
alias ff="~/projects/scripts/hyprfix.sh" # Fix the touchpad not working on the laptop with a simple script
alias sp="spotify_player"
alias ne="newsboat"
alias j="zellij -l compact options --simplified-ui true"
alias po="castero"
alias h="zsh"
alias h="~/projects/scripts/shell/helper.sh"
alias tw="torify w3m duckduckgo.com"
alias rmbak="mkdir -p ~/.local/share/Trash/files && find . -name '.bak.*' -exec mv '{}' ~/.local/share/Trash/files \;"
alias f="~/projects/scripts/search.sh"
@@ -38,7 +43,7 @@ alias lg="lazygit"
alias m="make"
alias mn="make nix"
alias syn="~/projects/scripts/run_unison.sh"
alias s="~/projects/scripts/run_unison.sh"
alias s="sync"
alias rmt="rm /tmp/all_git_projects"
alias fu="chch && fla && shd"
alias fla="sudo nixos-rebuild switch --flake ~/nixos#"
@@ -54,7 +59,7 @@ alias t="todo.sh"
alias tl="todo.sh list"
alias td="todo.sh do"
alias de="sudo loadkeys de"
alias us="sudo loadkeys us"
alias us="~/projects/scripts/shell/uni_setup.sh > /dev/zero 2>&1"
alias b="btop"
alias c="cat"
alias chch="~/projects/scripts/check_git.sh"
@@ -63,7 +68,11 @@ alias gui="Hyprland && clear"
alias ls='ls --color=auto'
alias tofiu='rm ~/.cache/tofi-drun'
alias ll='exa -la '
alias shd="shutdown now"
alias shd="systemctl poweroff"
alias nt="nvim ~/Nextcloud/Notes/in.txt"
alias upda="~/projects/scripts/shell/up.sh"
alias ttt='timer -f 10m'
alias zshconfig="mate ~/.zshrc"
alias giter="git add . && git commit -a -m 'auto commit' && git push"
@@ -72,3 +81,23 @@ alias oiiiii="bash ~/management/office/sync.sh in"
alias ou="bash ~/management/office/sync.sh out"
alias aiiiii="bash ~/projects/scripts/sync_all.sh in"
alias au="bash ~/projects/scripts/sync_all.sh out"
alias ia="ip a"
alias sn="nohup 'nextcloud' > /dev/zero &"
alias pdf="~/projects/scripts/shell/traverse_pdf.sh"
alias ud="~/projects/scripts/shell/traverse_pdf.sh ~/projects/university ~/Nextcloud/University"
alias rnt="~/projects/scripts/shell/traverse_rnote.sh ~/Nextcloud/University ~/Nextcloud/HandNotes"
alias typ="~/projects/scripts/shell/traverse_typst.sh ~/projects/university"
alias mt="mkdir -p ~/Notecloud && rclone mount Strato: ~/Notecloud"
alias tp="~/projects/scripts/shell/open_sess.sh"
# From gpt
alias nv='tmux new-session -d -s university -n uni "cd ~/projects/university && nvim -c '\''lua require(\"custom.uni\").select_course_directory()'\''" && tmux new-window -t university:2 -n typstar "cd ~/projects/typstar; exec $SHELL" && tmux select-window -t university:1 && tmux attach -t university'
alias gre='grep -C 7 '
alias f='nvim -c "lua vim.defer_fn(function() require(\"utils.functions\").fzf_wrapped(\"find\") end, 100)"'
alias g='nvim -c "lua vim.defer_fn(function() require(\"utils.functions\").fzf_wrapped(\"grep\") end, 100)"'
alias kn="killall .nextcloud-wrapped"
alias vim="nvim"
alias kh="kmonad ~/dotfiles/home/dot-kmonad/hyper.kbd"

68
home/dot-kmonad/hyper.kbd Normal file
View File

@@ -0,0 +1,68 @@
(defcfg
input (device-file "/dev/input/by-id/usb-HyperX_Alloy_Elite_RGB_HyperX_Alloy_Elite_RGB-event-kbd")
output (uinput-sink "Jonas kmonad modified output")
cmp-seq ralt
cmp-seq-delay 5
key-seq-delay 5
fallthrough true
allow-cmd true
implicit-around around
)
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq slck pause
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup nlck kp/ kp* kp-
tab q w e r t y u i o p [ ] ret del end pgdn kp7 kp8 kp9 kp+
caps a s d f g h j k l ; ' \ kp4 kp5 kp6
lsft 102d z x c v b n m , . / rsft up kp1 kp2 kp3 kprt
lctl lmet lalt spc ralt rmet cmp rctl left down rght kp0 kp.
)
(defalias
caps (tap-hold-next 200 esc lctl)
symbols (layer-toggle symbols)
neo (layer-switch neo)
specials (layer-toggle specials)
default (layer-switch default)
)
(deflayer default
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq XX XX
grv 1 2 3 4 5 6 7 8 9 0 - = bspc XX XX XX XX XX XX XX
tab q w e r t y u i o p [ ] ret XX XX XX XX XX XX XX
@caps a s d f g h j k l ; @symbols @symbols XX XX XX
rsft @specials z x c v b n m , . / rsft up XX XX XX XX
@neo lalt lmet spc lalt XX XX XX left down rght XX XX
)
;; Inspired from neo, graphite and enthium
(deflayer neo
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq XX XX
XX 1 2 3 4 5 6 7 8 9 0 XX XX bspc XX XX XX XX XX XX XX
tab b l d w z _ f o u j XX XX ret XX XX XX XX XX XX XX
@caps n r t s g y h a e i @symbols @symbols XX XX XX
lsft @specials q x m c v k p _ _ _ rsft up XX XX XX XX
@default lalt lmet spc lalt XX XX XX left down rght XX XX
)
(deflayer symbols
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- \ / [ ] ^ ! < > @ _ _ _ _ _ _ _ _ _ _ _
= ' " { } * ? \( \) _ _ _ _ _ _ _
_ _ # $ | ~ ` + % _ _ _ _ _ _ _ _ _
_ _ & \_ _ _ _ _ _ _ _ _ _
)
(deflayer specials
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ pgdn up pgup _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ left down rght _ _ ä ö ü ß _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
)

View File

@@ -0,0 +1,77 @@
(defcfg
input (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd")
output (uinput-sink "Jonas kmonad modified output")
cmp-seq ralt
cmp-seq-delay 5
key-seq-delay 5
fallthrough true
allow-cmd true
implicit-around around
)
(defsrc
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] ret
caps a s d f g h j k l ; ' \
lsft lsgt z x c v b n m , . / rsft
lctl lmet lalt spc ralt rmet cmp rctl
)
(defalias
symbols (layer-toggle symbols)
specials (layer-toggle specials)
numbers (layer-toggle numbers)
graphite (layer-switch graphite)
default (layer-switch default)
mod1 @symbols
mod2 @specials
caps (tap-hold-next 200 esc lctl)
tab (tap-hold-next 200 tab @mod2)
middle ret
)
(deflayer default
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
@tab q w e r t y u i o p [ ] ret
@caps a s d f g h j k l ; @mod1 \
rsft @mod1 z x c v b n m , . / rsft
@graphite lalt lmet spc @mod2 XX XX XX
)
(deflayer graphite
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
@tab b l d w z @middle f o u j [ ] ret
@caps n r t s g y h a e i @mod1 \
rsft @mod1 q x m c v k p , . / rsft
@default lalt lmet spc @mod2 XX XX XX
)
(deflayer symbols
_ _ _ _ _ _ _ _ _ _ _ _ _ _
` \ [ ] / ^ _ # < > $ _ _ _
= ' " { } ! ? \( \) @ & _ _
_ _ ~ - | \_ _ % + * _ _ _
_ _ _ _ _ _ _ _
)
(deflayer specials
_ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ ö ü _ _ _ _
_ _ _ _ ß _ _ _ ä _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
)
(deflayer numbers
_ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ 6 7 8 9 0 _ _
_ _ _ _ _ _ _ 1 2 3 4 5 _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
)

View File

@@ -28,6 +28,22 @@ Host physik
User j.hahn02
IdentityFile ~/.ssh/id_university
Host theo_bitzz
HostName bitzz.de
User theo
IdentityFile ~/.ssh/id_theo
Host informatik
HostName shell.informatik.uni-goettingen.de
User j.hahn02
Host dock
HostName paper.ascyii.de
Port 24
User admin
Host git.ascyii.de
HostName git.ascyii.de
Port 222
User admin
IdentityFile ~/.ssh/id_gitea