Compare commits

..

17 Commits

Author SHA1 Message Date
506abc9f1c xsession: rename .xsession to .xinitrc (note: restow needed) 2026-07-18 12:28:02 +02:00
6949fb75a0 kakoune: add keys to send selection and paragraph to the repl 2026-07-18 00:27:15 +02:00
6034323fb9 lazygit-use-zsh: trick lazygit to use zsh instead of bash 2026-07-17 23:08:57 +02:00
6e82a49ba6 shell: add aliases for ash shell 2026-07-17 23:08:48 +02:00
4719e8d355 kakoune: use editorconfig; lazygit: disable auto fetch 2026-07-17 23:08:41 +02:00
2d79c5728a kakoune: fix for busybox awk: use middle dot unicode character instead of unicode escape for nbsp 2026-07-17 23:08:35 +02:00
7c91379f6c kakoune: add kak-tree-sitter config for odin 2026-07-17 23:08:25 +02:00
f7a7f031ff kakoune: add kak-tree-sitter config for gotmpl
modify file
~/.local/share/kak-tree-sitter/queries/gotmpl/7275b7f85014aad7e15d4987ec4f2249572eecfb/injections.scm
adding:
((text) @injection.content
 (#set! injection.language "html")
 (#set! injection.combined))
2026-07-17 23:08:20 +02:00
994e3b4662 kakoune: add kak-tree-sitter config for templ 2026-07-17 23:08:13 +02:00
6a5f15c86b kakoune: use kak-tree-sitter, update five-colors themes 2026-07-17 23:08:08 +02:00
61b6984dca lupan-set-theme: now works with busybox readlink 2026-07-17 23:08:00 +02:00
fdc95f72e3 kakoune: keys to comment block and line 2026-07-17 23:07:50 +02:00
f375076fe1 waybar: restart on theme change 2026-07-17 23:07:43 +02:00
ac18f6be8b mango config with waybar 2026-07-17 23:07:18 +02:00
e0aa5923e9 kak: remove packages: themes and peneira 2026-06-29 22:31:59 +02:00
3d1c25ebfe default to dwm on X11 2026-06-29 22:31:59 +02:00
8cd6442acd alacrity: increase font, use five-colors theme 2026-06-29 21:32:42 +02:00
21 changed files with 582 additions and 74 deletions

View File

@@ -14,4 +14,4 @@ family = "HurmitNerdFont"
family = "HurmitNerdFont" family = "HurmitNerdFont"
[general] [general]
import = ["~/.config/alacritty/light.toml"] import = ["~/.config/alacritty/dark.toml"]

View File

@@ -0,0 +1,34 @@
# gotmpl
[grammar.gotmpl.source.git]
url = "https://github.com/ngalaiko/tree-sitter-go-template"
pin = "aa71f63de226c5592dfbfc1f29949522d7c95fac"
[language.gotmpl.queries.source.git]
url = "https://github.com/helix-editor/helix"
pin = "7275b7f85014aad7e15d4987ec4f2249572eecfb"
# odin
[grammar.odin.source.git]
url = "https://github.com/tree-sitter-grammars/tree-sitter-odin"
pin = "d2ca8efb4487e156a60d5bd6db2598b872629403"
[grammar.odin]
compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."]
link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "odin.so"]
[language.odin.queries.source.git]
url = "https://github.com/helix-editor/helix"
pin = "7275b7f85014aad7e15d4987ec4f2249572eecfb"
# templ
[grammar.templ.source.git]
url = "https://github.com/vrischmann/tree-sitter-templ"
pin = "04bae7c82de2fcfec94254fef50f5f1c5924f5f5"
[grammar.templ]
compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."]
link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "templ.so"]
[language.templ.queries.source.git]
url = "https://github.com/helix-editor/helix"
pin = "7275b7f85014aad7e15d4987ec4f2249572eecfb"

View File

@@ -121,5 +121,55 @@ evaluate-commands %sh{
set-face global SnippetsNextPlaceholders $bg,$green2 set-face global SnippetsNextPlaceholders $bg,$green2
set-face global SnippetsOtherPlaceholders $bg,$yellow2 set-face global SnippetsOtherPlaceholders $bg,$yellow2
# kak-tree-sitter
set-face global ts_attribute $green3
set-face global ts_comment $gray
set-face global ts_constant $violet2
set-face global ts_conceal $red1
set-face global ts_constructor $red1
set-face global ts_diff_plus $green2
set-face global ts_diff_minus $red2
set-face global ts_diff_delta $blue2
set-face global ts_error $red2
set-face global ts_function $blue2
set-face global ts_hint $green2
set-face global ts_info $blue2
set-face global ts_keyword $violet3
set-face global ts_label $red1
set-face global ts_bold $green2+b
set-face global ts_markup_heading $red3
set-face global ts_markup_italic $green2+i
set-face global ts_markup_list_checked $red2
set-face global ts_markup_list_numbered $red2
set-face global ts_markup_list_unchecked $red2
set-face global ts_markup_list_unnumbered $red2
set-face global ts_markup_link_label $green2
set-face global ts_markup_link_url $blue2
set-face global ts_markup_link_uri $blue2
set-face global ts_markup_link_text $red1
set-face global ts_markup_quote $blue3
set-face global ts_markup_raw $yellow2
set-face global ts_markup_strikethrough $red2+s
set-face global ts_namespace $green3
set-face global ts_operator $red2
set-face global ts_property $green3
set-face global ts_punctuation $red3
set-face global ts_special $red3
set-face global ts_spell $red1+c
set-face global ts_string $yellow2
set-face global ts_string_regex $yellow1+b
set-face global ts_string_regexp $yellow1+b
set-face global ts_string_escape $yellow1+b
set-face global ts_string_special $yellow1+b
set-face global ts_string_symbol $yellow1+b
set-face global ts_tag $green2
set-face global ts_tag_error $red2+c
set-face global ts_text $red1
set-face global ts_text_title $red3
set-face global ts_type $green2
set-face global ts_variable $blue3
set-face global ts_warning $yellow2+c
" "
} }

View File

@@ -121,5 +121,55 @@ evaluate-commands %sh{
set-face global SnippetsNextPlaceholders $bg,$green2 set-face global SnippetsNextPlaceholders $bg,$green2
set-face global SnippetsOtherPlaceholders $bg,$yellow2 set-face global SnippetsOtherPlaceholders $bg,$yellow2
# kak-tree-sitter
set-face global ts_attribute $green3
set-face global ts_comment $gray
set-face global ts_constant $violet2
set-face global ts_conceal $red1
set-face global ts_constructor $red1
set-face global ts_diff_plus $green2
set-face global ts_diff_minus $red2
set-face global ts_diff_delta $blue2
set-face global ts_error $red2
set-face global ts_function $blue2
set-face global ts_hint $green2
set-face global ts_info $blue2
set-face global ts_keyword $violet3
set-face global ts_label $red1
set-face global ts_bold $green2+b
set-face global ts_markup_heading $red3
set-face global ts_markup_italic $green2+i
set-face global ts_markup_list_checked $red2
set-face global ts_markup_list_numbered $red2
set-face global ts_markup_list_unchecked $red2
set-face global ts_markup_list_unnumbered $red2
set-face global ts_markup_link_label $green2
set-face global ts_markup_link_url $blue2
set-face global ts_markup_link_uri $blue2
set-face global ts_markup_link_text $red1
set-face global ts_markup_quote $blue3
set-face global ts_markup_raw $yellow2
set-face global ts_markup_strikethrough $red2+s
set-face global ts_namespace $green3
set-face global ts_operator $red2
set-face global ts_property $green3
set-face global ts_punctuation $red3
set-face global ts_special $red3
set-face global ts_spell $red1+c
set-face global ts_string $yellow2
set-face global ts_string_regex $yellow1+b
set-face global ts_string_regexp $yellow1+b
set-face global ts_string_escape $yellow1+b
set-face global ts_string_special $yellow1+b
set-face global ts_string_symbol $yellow1+b
set-face global ts_tag $green2
set-face global ts_tag_error $red2+c
set-face global ts_text $red1
set-face global ts_text_title $red3
set-face global ts_type $green2
set-face global ts_variable $blue3
set-face global ts_warning $yellow2+c
" "
} }

View File

@@ -6,7 +6,11 @@ set-option global ui_options terminal_assistant=none
hook global WinCreate .* %{ hook global WinCreate .* %{
add-highlighter window/number-lines number-lines -relative -hlcursor add-highlighter window/number-lines number-lines -relative -hlcursor
} }
add-highlighter global/ show-matching
hook global BufCreate .*\.templ %{ set buffer filetype templ }
hook global BufCreate .*\.html.tmpl %{ set buffer filetype gotmpl }
hook global WinCreate ^[^*]+$ %{editorconfig-load}
# LOCAL # LOCAL
@@ -34,6 +38,8 @@ map global -docstring 'Grep previous match' file-mode 'p' ': grep-prev-match<ret
map global -docstring 'Grep current file' file-mode 'l' ':grep-file ' map global -docstring 'Grep current file' file-mode 'l' ':grep-file '
map global -docstring 'Grep current file' file-mode 'L' ': grep-file %val{selection}<ret>' map global -docstring 'Grep current file' file-mode 'L' ': grep-file %val{selection}<ret>'
map global -docstring 'Delete buffer' file-mode 'x' ': delete-buffer ' map global -docstring 'Delete buffer' file-mode 'x' ': delete-buffer '
map global -docstring 'REPL send selection' file-mode 'u' ': repl-send-text<ret>'
map global -docstring 'REPL send paragraph' file-mode 'U' ': repl-send-paragraph<ret>'
declare-user-mode git-mode declare-user-mode git-mode
map global -docstring 'Git' user 'g' ': enter-user-mode git-mode<ret>' map global -docstring 'Git' user 'g' ': enter-user-mode git-mode<ret>'
@@ -60,8 +66,6 @@ map global -docstring 'Options' user 'o' ': enter-user-mode options-mode<ret>'
map global -docstring 'Five Dark mode' options-mode 'd' ': colorscheme five-colors-dark<ret>' map global -docstring 'Five Dark mode' options-mode 'd' ': colorscheme five-colors-dark<ret>'
map global -docstring 'Five Light mode' options-mode 'l' ': colorscheme five-colors-light<ret>' map global -docstring 'Five Light mode' options-mode 'l' ': colorscheme five-colors-light<ret>'
map global -docstring 'Light mode' options-mode 'L' ': colorscheme one-light<ret>'
map global -docstring 'Dark mode' options-mode 'D' ': colorscheme one-darker<ret>'
declare-user-mode make-mode declare-user-mode make-mode
map global -docstring 'Make' user 'k' ': enter-user-mode make-mode<ret>' map global -docstring 'Make' user 'k' ': enter-user-mode make-mode<ret>'
@@ -71,6 +75,12 @@ map global -docstring 'Next' make-mode 'n' ': make-next-error<ret>'
map global -docstring 'Previous' make-mode 'p' ': make-previous-error<ret>' map global -docstring 'Previous' make-mode 'p' ': make-previous-error<ret>'
map global -docstring 'General messages' make-mode 'g' ': set window make_error_pattern "^([^:\n]+):(\d+):(?:(\d+):)? ([^\n]+)?"<ret>' map global -docstring 'General messages' make-mode 'g' ': set window make_error_pattern "^([^:\n]+):(\d+):(?:(\d+):)? ([^\n]+)?"<ret>'
declare-user-mode code-mode
map global -docstring 'Code' user 'c' ': enter-user-mode code-mode<ret>'
map global -docstring 'Comment block' code-mode 'b' ': comment-block<ret>'
map global -docstring 'Comment line' code-mode 'l' ': comment-line<ret>'
evaluate-commands %sh{ evaluate-commands %sh{
if [ -n "$WAYLAND_DISPLAY" ]; then if [ -n "$WAYLAND_DISPLAY" ]; then
echo " echo "
@@ -119,6 +129,10 @@ define-command -override open-create-in-dir %{
execute-keys ': edit ' %sh{dirname "$kak_buffile"}/ execute-keys ': edit ' %sh{dirname "$kak_buffile"}/
} }
define-command -override repl-send-paragraph %{
execute-keys -draft '<a-i>p: repl-send-text<ret>'
}
define-command git-log-show-current-commit %{ define-command git-log-show-current-commit %{
execute-keys ';<a-/>^commit\s[0-9a-f]+<ret>b' execute-keys ';<a-/>^commit\s[0-9a-f]+<ret>b'
git show %val{selection} git show %val{selection}
@@ -205,19 +219,7 @@ map global lsp p '<esc>: lsp-find-error --previous error<ret>' -docstring 'fin
source "%val{config}/bundle/kak-bundle/rc/kak-bundle.kak" source "%val{config}/bundle/kak-bundle/rc/kak-bundle.kak"
bundle-noload kak-bundle https://codeberg.org/jdugan6240/kak-bundle bundle-noload kak-bundle https://codeberg.org/jdugan6240/kak-bundle
# COLORSCHEME # RECENT
bundle-theme kak-one 'https://codeberg.org/raiguard/kak-one'
bundle-theme kakoune-themes 'https://codeberg.org/anhsirk0/kakoune-themes'
# FZF
bundle fzf.kak 'https://github.com/andreyorst/fzf.kak' %{
map global -docstring 'FZF menu' user 'f' ': fzf-mode<ret>'
require-module fzf
set-option global fzf_highlight_command "bat"
}
hook global BufCreate [^*].* %{ hook global BufCreate [^*].* %{
nop %sh{ nop %sh{
@@ -248,40 +250,12 @@ bundle kak-harpoon 'https://codeberg.org/raiguard/kak-harpoon' %{
harpoon-add-bindings harpoon-add-bindings
} }
# PENEIRA # TREE SITTER
bundle 'luar' 'https://github.com/gustavo-hms/luar' %{ eval %sh{ kak-tree-sitter -dks --init $kak_session }
require-module luar
}
bundle 'peneira' 'https://github.com/gustavo-hms/peneira' %{ define-command -override tree-sitter-user-after-highlighter %{
require-module peneira add-highlighter -override buffer/show-matching show-matching
define-command buffers %{
peneira 'buffers: ' %{ eval "printf '%s\n' $kak_quoted_buflist" } %{
buffer %arg{1}
}
}
define-command peneira-git-files %{
peneira 'git files: ' %{ git ls-files } %{ edit -- %arg{1} }
}
define-command peneira-files-with-hidden %{
peneira 'git files: ' %{ fd -t f -H } %{ edit -- %arg{1} }
}
define-command peneira-recent-files %{
peneira 'mru files: ' %{ cat ~/.cache/kak-mru } %{ edit -- %arg{1} }
}
map global -docstring 'Buffer' user ' ' ': buffers<ret>'
map global -docstring 'Git files' file-mode 'a' ': peneira-git-files<ret>'
map global -docstring 'Buffers' file-mode 'b' ': buffers<ret>'
map global -docstring 'Files' file-mode 'f' ': peneira-files<ret>'
map global -docstring 'Files' file-mode 'F' ': peneira-local-files<ret>'
map global -docstring 'Files (with hidden)' file-mode 'h' ': peneira-files-with-hidden<ret>'
map global -docstring 'Lines' file-mode 'l' ': peneira-lines<ret>'
map global -docstring 'Symbols' file-mode 's' ': peneira-symbols<ret>'
map global -docstring 'Recent files' file-mode 'r' ': peneira-recent-files<ret>'
} }
# LOCAL # LOCAL

View File

@@ -2,7 +2,7 @@
for (i = 3; i < NF; ++i) { for (i = 3; i < NF; ++i) {
if ($i ~ /^[0-9]+$/) { if ($i ~ /^[0-9]+$/) {
j = match($0, "[ ]+" $(i-1) "[ ]+" $i " ") j = match($0, "[ ]+" $(i-1) "[ ]+" $i " ")
print substr($0, 0, j - 1) "\u00a0" $(i-1) "\u00a0" $i print substr($0, 0, j - 1) "·" $(i-1) "·" $i
break break
} }
} }

View File

@@ -1,5 +1,5 @@
BEGIN { BEGIN {
n = split(ENVIRON["kak_text"], a, "\u00a0") n = split(ENVIRON["kak_text"], a, "·")
line = a[3] line = a[3]
if (n == 3 && line ~ /^[0-9]+/) { if (n == 3 && line ~ /^[0-9]+/) {
pat = a[1] pat = a[1]

View File

@@ -2,7 +2,7 @@
for (i = 3; i < NF; ++i) { for (i = 3; i < NF; ++i) {
if ($i ~ /^[0-9]+$/) { if ($i ~ /^[0-9]+$/) {
j = match($0, "[ ]+" $(i-1) "[ ]+" $i " ") j = match($0, "[ ]+" $(i-1) "[ ]+" $i " ")
print substr($0, 0, j - 1) "\u00a0" $(i-1) "\u00a0" $i "\u00a0" $(i+1) print substr($0, 0, j - 1) "·" $(i-1) "·" $i "·" $(i+1)
break break
} }
} }

View File

@@ -1,5 +1,5 @@
BEGIN { BEGIN {
n = split(ENVIRON["kak_text"], a, "\u00a0") n = split(ENVIRON["kak_text"], a, "·")
line = a[3] line = a[3]
if (n == 4 && line ~ /^[0-9]+/) { if (n == 4 && line ~ /^[0-9]+/) {
pat = a[1] pat = a[1]

View File

@@ -0,0 +1 @@
/bin/zsh

2
lazygit-use-zsh/bin/lazygit Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/sh
PATH="$PATH:$HOME/.config/lazygit/bin" exec /usr/bin/lazygit "$@"

View File

@@ -11,3 +11,6 @@ gui:
theme: theme:
selectedLineBgColor: selectedLineBgColor:
- reverse - reverse
git:
autoFetch: false

View File

@@ -0,0 +1,311 @@
# More option see https://mangowm.github.io/docs/configuration
exec-once=waybar
exec-once=openrc -q -U gui
# Window effect
blur=0
blur_layer=0
blur_optimized=1
blur_params_num_passes = 2
blur_params_radius = 5
blur_params_noise = 0.02
blur_params_brightness = 0.9
blur_params_contrast = 0.9
blur_params_saturation = 1.2
shadows = 0
layer_shadows = 0
shadow_only_floating = 1
shadows_size = 10
shadows_blur = 15
shadows_position_x = 0
shadows_position_y = 0
shadowscolor= 0x000000ff
border_radius=6
no_radius_when_single=0
focused_opacity=1.0
unfocused_opacity=1.0
# Animation Configuration(support type:zoom,slide)
# tag_animation_direction: 1-horizontal,0-vertical
animations=1
layer_animations=1
animation_type_open=slide
animation_type_close=slide
animation_fade_in=1
animation_fade_out=1
tag_animation_direction=1
zoom_initial_ratio=0.4
zoom_end_ratio=0.8
fadein_begin_opacity=0.5
fadeout_begin_opacity=0.8
animation_duration_move=500
animation_duration_open=400
animation_duration_tag=350
animation_duration_close=800
animation_duration_focus=0
animation_curve_open=0.46,1.0,0.29,1
animation_curve_move=0.46,1.0,0.29,1
animation_curve_tag=0.46,1.0,0.29,1
animation_curve_close=0.08,0.92,0,1
animation_curve_focus=0.46,1.0,0.29,1
animation_curve_opafadeout=0.5,0.5,0.5,0.5
animation_curve_opafadein=0.46,1.0,0.29,1
# Scroller Layout Setting
scroller_structs=20
scroller_default_proportion=0.8
scroller_focus_center=0
scroller_prefer_center=0
edge_scroller_pointer_focus=1
edge_scroller_focus_allow_speed=0.0
scroller_default_proportion_single=1.0
scroller_proportion_preset=0.5,0.8,1.0
# Master-Stack Layout Setting
new_is_master=1
default_mfact=0.55
default_nmaster=1
smartgaps=0
# Dwindle Layout Setting
dwindle_smart_split=0
dwindle_drop_simple_split=1
dwindle_manual_split=0
dwindle_hsplit=1
dwindle_vsplit=1
dwindle_preserve_split=0
# Overview Setting
hotarea_size=10
enable_hotarea=0
ov_tab_mode=1
ov_no_resize=1
overviewgappi=5
overviewgappo=30
# Misc
no_border_when_single=0
axis_bind_apply_timeout=100
focus_on_activate=1
idleinhibit_ignore_visible=0
sloppyfocus=1
warpcursor=1
focus_cross_monitor=0
focus_cross_tag=0
enable_floating_snap=0
snap_distance=30
cursor_size=24
drag_tile_to_tile=1
drag_tile_small=1
# keyboard
repeat_rate=25
repeat_delay=600
numlockon=0
xkb_rules_layout=pl
# Trackpad
# need relogin to make it apply
disable_trackpad=0
tap_to_click=1
tap_and_drag=1
drag_lock=1
trackpad_natural_scrolling=0
disable_while_typing=1
left_handed=0
middle_button_emulation=0
swipe_min_threshold=1
# mouse
# need relogin to make it apply
mouse_natural_scrolling=0
# Appearance
gappih=5
gappiv=5
gappoh=10
gappov=10
scratchpad_width_ratio=0.8
scratchpad_height_ratio=0.9
borderpx=4
rootcolor=0x201b14ff
bordercolor=0x444444ff
dropcolor=0x8FBA7C55
splitcolor=0xEB441EFF
focuscolor=0xc9b890ff
maximizescreencolor=0x89aa61ff
urgentcolor=0xad401fff
scratchpadcolor=0x516c93ff
globalcolor=0xb153a7ff
overlaycolor=0x14a57cff
# layout support:
# tile,scroller,grid,deck,monocle,center_tile,vertical_tile,vertical_scroller
tagrule=id:1,layout_name:tile
tagrule=id:2,layout_name:tile
tagrule=id:3,layout_name:tile
tagrule=id:4,layout_name:tile
tagrule=id:5,layout_name:tile
tagrule=id:6,layout_name:tile
tagrule=id:7,layout_name:tile
tagrule=id:8,layout_name:tile
tagrule=id:9,layout_name:tile
# Key Bindings
# key name refer to `xev` or `wev` command output,
# mod keys name: super,ctrl,alt,shift,none
# reload config
bind=SUPER,r,reload_config
# menu and terminal
bind=SUPER,p,spawn,rofi -show drun
bind=SUPER,Return,spawn,foot
# lock and toggle theme
bind=SUPER+CTRL+SHIFT,l,spawn,swaylock
bind=SUPER+CTRL+SHIFT,t,spawn,lupan-set-theme toggle
# exit
bind=SUPER+SHIFT,q,quit
bind=SUPER+SHIFT,c,killclient,
# switch window focus
bind=SUPER,Tab,focusstack,next
bind=SUPER,h,focusdir,left
bind=SUPER,l,focusdir,right
bind=SUPER,k,focusdir,up
bind=SUPER,j,focusdir,down
# swap window
bind=SUPER+SHIFT,k,exchange_client,up
bind=SUPER+SHIFT,j,exchange_client,down
bind=SUPER+SHIFT,h,exchange_client,left
bind=SUPER+SHIFT,l,exchange_client,right
# switch window status
bind=SUPER,g,toggleglobal,
bind=SUPER,Tab,toggleoverview,
bind=SUPER,backslash,togglefloating,
bind=SUPER,m,togglemaximizescreen,
bind=SUPER,f,togglefullscreen,
bind=SUPER+SHIFT,f,togglefakefullscreen,
bind=SUPER,i,minimized,
bind=SUPER,o,toggleoverlay,
bind=SUPER+SHIFT,I,restore_minimized
bind=SUPER,z,toggle_scratchpad
# scroller layout
bind=SUPER,e,set_proportion,1.0
bind=SUPER,x,switch_proportion_preset,
bind=alt+super+ctrl,Left,scroller_stack,left
bind=alt+super+ctrl,Right,scroller_stack,right
bind=alt+super+ctrl,Up,scroller_stack,up
bind=alt+super+ctrl,Down,scroller_stack,down
#dwindle layout(manual split mode)
bind=SUPER+shift,Return,dwindle_toggle_split_direction
# switch layout
bind=SUPER,n,switch_layout
bind=SUPER+CTRL,c,setlayout,center_tile
bind=SUPER+CTRL,d,setlayout,deck
bind=SUPER+CTRL,e,setlayout,vertical_deck
bind=SUPER+CTRL,f,setlayout,fair
bind=SUPER+CTRL,g,setlayout,grid
bind=SUPER+CTRL,i,setlayout,vertical_fair
bind=SUPER+CTRL,r,setlayout,right_tile
bind=SUPER+CTRL,s,setlayout,scroller
bind=SUPER+CTRL,t,setlayout,tile
bind=SUPER+CTRL,u,setlayout,vertical_scroller
bind=SUPER+CTRL,v,setlayout,vertical_tile
bind=SUPER+CTRL,w,setlayout,dwindle
# tag switch
bind=SUPER,Left,viewtoleft,0
bind=SUPER+CTRL,Left,viewtoleft_have_client,0
bind=SUPER,Right,viewtoright,0
bind=SUPER+CTRL,Right,viewtoright_have_client,0
bind=CTRL+SHIFT+SUPER,Left,tagtoleft,0
bind=CTRL+SHIFT+SUPER,Right,tagtoright,0
bind=SUPER+Alt,h,viewtoleft_have_client,0
bind=SUPER+Alt,l,viewtoright_have_client,0
bind=SUPER,1,view,1,0
bind=SUPER,2,view,2,0
bind=SUPER,3,view,3,0
bind=SUPER,4,view,4,0
bind=SUPER,5,view,5,0
bind=SUPER,6,view,6,0
bind=SUPER,7,view,7,0
bind=SUPER,8,view,8,0
bind=SUPER,9,view,9,0
# tag: move client to the tag and focus it
# tagsilent: move client to the tag and not focus it
# bind=Alt,1,tagsilent,1
bind=SUPER+shift,1,tag,1,0
bind=SUPER+shift,2,tag,2,0
bind=SUPER+shift,3,tag,3,0
bind=SUPER+shift,4,tag,4,0
bind=SUPER+shift,5,tag,5,0
bind=SUPER+shift,6,tag,6,0
bind=SUPER+shift,7,tag,7,0
bind=SUPER+shift,8,tag,8,0
bind=SUPER+shift,9,tag,9,0
# monitor switch
bind=SUPER+alt+shift,Left,focusmon,left
bind=SUPER+alt+shift,Right,focusmon,right
bind=SUPER+Alt,Left,tagmon,left
bind=SUPER+Alt,Right,tagmon,right
bind=SUPER,comma,focusmon,left
bind=SUPER,period,focusmon,right
bind=SUPER+shift,comma,tagmon,left
bind=SUPER+shift,period,tagmon,right
# gaps
bind=SUPER+SHIFT,X,incgaps,1
bind=SUPER+SHIFT,Z,incgaps,-1
bind=SUPER+SHIFT,R,togglegaps
# movewin
bind=SUPER+CTRL,k,movewin,+0,-50
bind=SUPER+CTRL,j,movewin,+0,+50
bind=SUPER+CTRL,h,movewin,-50,+0
bind=SUPER+CTRL,l,movewin,+50,+0
# resizewin
bind=SUPER+CTRL+ALT,Up,resizewin,+0,-50
bind=SUPER+CTRL+ALT,Down,resizewin,+0,+50
bind=SUPER+CTRL+ALT,Left,resizewin,-50,+0
bind=SUPER+CTRL+ALT,Right,resizewin,+50,+0
bind=SUPER+CTRL+ALT,k,resizewin,+0,-50
bind=SUPER+CTRL+ALT,j,resizewin,+0,+50
bind=SUPER+CTRL+ALT,h,resizewin,-50,+0
bind=SUPER+CTRL+ALT,l,resizewin,+50,+0
# Mouse Button Bindings
# btn_left and btn_right can't bind none mod key
mousebind=SUPER,btn_left,moveresize,curmove
mousebind=NONE,btn_middle,togglemaximizescreen,0
mousebind=SUPER,btn_right,moveresize,curresize
# Axis Bindings
axisbind=SUPER,UP,viewtoleft_have_client
axisbind=SUPER,DOWN,viewtoright_have_client
# layer rule
layerrule=animation_type_open:zoom,layer_name:rofi
layerrule=animation_type_close:zoom,layer_name:rofi
monitorrule=name:^HDMI-A-1$,scale:2,x:0
monitorrule=name:^HDMI-A-2$,scale:2,x:1920

View File

@@ -0,0 +1,20 @@
{
"modules-left": [
"ext/workspaces",
"dwl/window"
],
"modules-right": [
"tray",
"clock"
],
"ext/workspaces": {
"format": "{icon}",
"ignore-hidden": true,
"on-click": "activate",
"on-click-right": "deactivate",
"sort-by-id": true
},
"dwl/window": {
"format": "[{layout}] {title}"
}
}

View File

@@ -0,0 +1,12 @@
* {
background-color: #282e38;
color: #a29e98;
}
#workspaces button.active {
border-bottom: 3px solid #04785d;
}
#workspaces button.urgent {
border-bottom: 3px solid #c37583;
}

View File

@@ -0,0 +1,12 @@
* {
background-color: #f6ede0;
color: #696257;
}
#workspaces button.active {
border-bottom: 3px solid #278a6e;
}
#workspaces button.urgent {
border-bottom: 3px solid #d0818f;
}

View File

@@ -0,0 +1,25 @@
@import url("file:///home/lupan/.config/waybar/dark.css");
* {
font-family: HurmitNerdFont;
font-size: 12px;
}
#workspaces {
padding: 0 0.5rem;
}
#workspaces button {
padding: 0 3px;
border-radius: 0;
border-bottom: 3px solid transparent;
}
#window {
border-bottom: 3px solid transparent;
}
#clock {
padding: 0 0.5rem;
border-bottom: 3px solid transparent;
}

5
shell/.ashrc Normal file
View File

@@ -0,0 +1,5 @@
alias k=kak
alias kc='kak -c "$(kak -l | fzf)"'
alias kd='kak -s "$(printf %s $PWD | xargs basename)"'
alias lg=lazygit
alias z='cd $(fzf --walker dir --walker-root ~)'

View File

@@ -38,17 +38,25 @@ fi
export GOPATH=~/.cache/go export GOPATH=~/.cache/go
export GOBIN=~/.local/bin export GOBIN=~/.local/bin
export ENV=~/.ashrc
# start X or Hyprland at login # start X or Hyprland at login
if [ -z "$DISPLAY" -a -z "$WAYLAND_DISPLAY" -a "$(tty)" = /dev/tty1 ]; then if [ -z "$DISPLAY" -a -z "$WAYLAND_DISPLAY" -a "$(tty)" = /dev/tty1 ]; then
if which niri > /dev/null; then if which /usr/bin/sx > /dev/null; then
exec /usr/bin/sx ~/.xinitrc
elif which /usr/bin/startx > /dev/null; then
exec /usr/bin/startx
elif which niri > /dev/null; then
exec niri exec niri
elif which river argen > /dev/null; then
export XKB_DEFAULT_LAYOUT=pl
exec river -c 'argen'
elif which river kwm stdout-clock > /dev/null; then elif which river kwm stdout-clock > /dev/null; then
export XKB_DEFAULT_LAYOUT=pl export XKB_DEFAULT_LAYOUT=pl
exec river -c 'stdout-clock | kwm' exec river -c 'stdout-clock | kwm'
elif which /usr/bin/sx > /dev/null; then elif which river rill > /dev/null; then
exec /usr/bin/sx ~/.xsession export XKB_DEFAULT_LAYOUT=pl
elif which /usr/bin/startx > /dev/null; then exec river -c rill
exec /usr/bin/startx ~/.xsession
elif which Hyprland > /dev/null && [ -d ~/.config/hypr ]; then elif which Hyprland > /dev/null && [ -d ~/.config/hypr ]; then
exec Hyprland exec Hyprland
elif which river > /dev/null && [ -d ~/.config/river ]; then elif which river > /dev/null && [ -d ~/.config/river ]; then

View File

@@ -30,16 +30,16 @@ xsetroot -cursor_name left_ptr
picom -b -I 1 -O 1 -e 1 --no-fading-openclose --backend glx || compton -b --no-fading-openclose picom -b -I 1 -O 1 -e 1 --no-fading-openclose --backend glx || compton -b --no-fading-openclose
if which awesome > /dev/null; then
exec awesome
fi
if which dwm > /dev/null; then if which dwm > /dev/null; then
dunst & dunst &
lupan-clock & lupan-clock &
exec dwm exec dwm
fi fi
if which awesome > /dev/null; then
exec awesome
fi
if which dk > /dev/null; then if which dk > /dev/null; then
for m in $(polybar --list-monitors | cut -d: -f1); do for m in $(polybar --list-monitors | cut -d: -f1); do
MONITOR=$m polybar --reload bar & MONITOR=$m polybar --reload bar &

View File

@@ -23,8 +23,8 @@ fi
pkill -USR1 '^dwm$' pkill -USR1 '^dwm$'
XRES=$(readlink -e ~/.Xresources) XRES=$(readlink -f ~/.Xresources)
if [ -n "$XRES" ]; then if [ -f "$XRES" ]; then
if [ "$THEME" = dark ]; then if [ "$THEME" = dark ]; then
sed -i 's/^#undef THEME_DARK/#define THEME_DARK/' "$XRES" sed -i 's/^#undef THEME_DARK/#define THEME_DARK/' "$XRES"
elif [ "$THEME" = light ]; then elif [ "$THEME" = light ]; then
@@ -35,11 +35,11 @@ if [ -n "$XRES" ]; then
fi fi
# Alacritty # Alacritty
AYML=$(readlink -e ~/.config/alacritty/alacritty.yml) AYML=$(readlink -f ~/.config/alacritty/alacritty.yml)
if [ -n "$AYML" ]; then if [ -f "$AYML" ]; then
sed -i "s/^colors: [*].*/colors: *$THEME/" "$AYML" sed -i "s/^colors: [*].*/colors: *$THEME/" "$AYML"
fi fi
ATOML=$(readlink -e ~/.config/alacritty/alacritty.toml) ATOML=$(readlink -f ~/.config/alacritty/alacritty.toml)
if [ -f "$ATOML" ]; then if [ -f "$ATOML" ]; then
sed -i "s#^import =.*#import = [\"~/.config/alacritty/$THEME.toml\"]#" "$ATOML" sed -i "s#^import =.*#import = [\"~/.config/alacritty/$THEME.toml\"]#" "$ATOML"
fi fi
@@ -52,29 +52,30 @@ elif [ "$THEME" = light ]; then
fi fi
# Foot # Foot
FOOT=$(readlink -e ~/.config/foot/foot.ini) FOOT=$(readlink -f ~/.config/foot/foot.ini)
if [ -n "$FOOT" ]; then if [ -f "$FOOT" ]; then
sed -i "s/^initial-color-theme .*/initial-color-theme = $THEME/" "$FOOT" sed -i "s/^initial-color-theme .*/initial-color-theme = $THEME/" "$FOOT"
fi fi
# GTK # GTK
XSET=$(readlink -e ~/.config/xsettingsd/xsettingsd.conf) XSET=$(readlink -f ~/.config/xsettingsd/xsettingsd.conf)
if [ -n "$XSET" ]; then if [ -f "$XSET" ]; then
sed -i -E "s#(Net/ThemeName) .*#\\1 \"${GTK_THEME}\"#" "$XSET" sed -i -E "s#(Net/ThemeName) .*#\\1 \"${GTK_THEME}\"#" "$XSET"
pkill -HUP -x xsettingsd pkill -HUP -x xsettingsd
gsettings set org.gnome.desktop.interface gtk-theme "${GTK_THEME}" gsettings set org.gnome.desktop.interface gtk-theme "${GTK_THEME}"
fi fi
# niri # niri
NIRI=$(readlink -e ~/.config/niri/config.kdl) NIRI=$(readlink -f ~/.config/niri/config.kdl)
if [ -n "$NIRI" ]; then if [ -f "$NIRI" ]; then
sed -i -E "s%^(include) \"(dark|light).kdl\".*%\\1 \"${THEME}.kdl\"%" "$NIRI" sed -i -E "s%^(include) \"(dark|light).kdl\".*%\\1 \"${THEME}.kdl\"%" "$NIRI"
fi fi
# waybar # waybar
WCSS=$(readlink -e ~/.config/waybar/style.css) WCSS=$(readlink -f ~/.config/waybar/style.css)
if [ -f "$WCSS" ]; then if [ -f "$WCSS" ]; then
sed -i -E "s#file:///.*/(light|dark)[.]css#file://$HOME/.config/waybar/$THEME.css#" "$WCSS" sed -i -E "s#file:///.*/(light|dark)[.]css#file://$HOME/.config/waybar/$THEME.css#" "$WCSS"
killall -SIGUSR2 waybar
fi fi
for session in $(kak -l); do for session in $(kak -l); do