all repos

dotfiles @ 5884baf

i use rach linux btw
7 files changed, 73 insertions(+), 79 deletions(-)
updates
Author: Oleksandr Smirnov olexsmir@gmail.com
Committed at: 2026-08-27 15:32:52 +0300
Authored at: 2026-08-24 17:08:50 +0300
Parent: 7a287b1
M bin/go-install-bins.sh
···
        1
        1
         #!/usr/bin/env bash

      
        2
        2
         echo -e "\e[32m[gopls]\e[0m";        go install golang.org/x/tools/gopls@latest

      
        
        3
        +echo -e "\e[32m[dlv]\e[0m";          go install github.com/go-delve/delve/cmd/dlv@latest

      
        3
        4
         echo -e "\e[32m[staticcheck]\e[0m";  go install honnef.co/go/tools/cmd/staticcheck@latest

      
        4
        
        -echo -e "\e[32m[revive]\e[0m";       go install github.com/mgechev/revive@latest

      
        5
        5
         echo -e "\e[32m[gofumpt]\e[0m";      go install mvdan.cc/gofumpt@latest

      
        6
        6
         echo -e "\e[32m[goimports]\e[0m";    go install golang.org/x/tools/cmd/goimports@latest

      
        7
        
        -echo -e "\e[32m[golines]\e[0m";      go install github.com/segmentio/golines@latest

      
        8
        
        -echo -e "\e[32m[task]\e[0m";         go install github.com/go-task/task/v3/cmd/task@latest

      
        9
        
        -echo -e "\e[32m[yaegi]\e[0m";        go install github.com/traefik/yaegi/cmd/yaegi@latest

      
        10
        7
         echo -e "\e[32m[govulncheck]\e[0m";  go install golang.org/x/vuln/cmd/govulncheck@latest

      
        11
        
        -echo -e "\e[32m[natscli]\e[0m";      go install github.com/nats-io/natscli/nats@latest

      
        12
        
        -echo -e "\e[32m[dlv]\e[0m";          go install github.com/go-delve/delve/cmd/dlv@latest

      
        13
        
        -echo -e "\e[32m[gotestsum]\e[0m";    go install gotest.tools/gotestsum@latest

      
        14
        
        -

      
        15
        
        -echo -e "\e[32m[:GoInstallDepsSync<CR>]\e[0m"; nvim --headless +GoInstallDepsSync +q

      
M config/fish/config.fish
···
        
        1
        +set -gx SHELL fish

      
        1
        2
         set -gx GOPATH $HOME/.local/share/go

      
        2
        3
         set -gx GOBIN $GOPATH/bin

      
        3
        4
         set -gx CARGO_HOME $HOME/.local/share/cargo

      ···
        36
        37
         if status is-interactive

      
        37
        38
           zoxide init fish | source

      
        38
        39
           direnv hook fish | source

      
        39
        
        -

      
        40
        
        -  function fish_user_key_bindings

      
        41
        
        -    fish_vi_key_bindings

      
        42
        
        -  end

      
        43
        40
         

      
        44
        41
           alias ":q" exit

      
        45
        42
           alias ... "cd ../.."

      
M config/fish/functions/fish_prompt.fish
···
        3
        3
           set -l cwd (prompt_pwd --full-length-dirs 1)

      
        4
        4
           set -l vcs (prompt_vcs)

      
        5
        5
         

      
        6
        
        -  set -l session ''

      
        7
        
        -  if set -q ZMX_SESSION

      
        8
        
        -    set session (set_color --dim blue)"($ZMX_SESSION) "(set_color normal)

      
        9
        
        -  end

      
        
        6
        +  set -l close_color normal

      
        
        7
        +  test $last_status -ne 0; and set close_color red

      
        10
        8
         

      
        11
        
        -  switch $fish_bind_mode

      
        12
        
        -    case default

      
        13
        
        -      set mode_char "❮"

      
        14
        
        -      set mode_color (set_color cyan)

      
        15
        
        -    case '*'

      
        16
        
        -      set mode_char "❯"

      
        17
        
        -      if test $last_status -eq 0

      
        18
        
        -        set mode_color (set_color green)

      
        19
        
        -      else

      
        20
        
        -        set mode_color (set_color red)

      
        21
        
        -      end

      
        22
        
        -  end

      
        
        9
        +  set -l vcs_segment ''

      
        
        10
        +  test -n "$vcs"; and set vcs_segment (printf ' (%s%s%s%s)' (set_color blue) $vcs (set_color $close_color) '')

      
        23
        11
         

      
        24
        
        -  printf '%s%s%s%s%s%s%s%s ' $session (set_color cyan) $cwd (set_color normal) $vcs $mode_color $mode_char (set_color normal)

      
        
        12
        +  printf '%s%s%s%s ' (set_color cyan) $cwd (set_color normal) $vcs_segment(set_color normal)

      
        25
        13
         end

      
M config/fish/functions/prompt_vcs.fish
···
        1
        1
         function prompt_vcs

      
        2
        2
           set -l dir $PWD

      
        3
        
        -  set -l repo_root ""

      
        4
        
        -  set -l vcs_type ""

      
        5
        3
           set -l depth 0

      
        6
        4
         

      
        7
        
        -  while test "$dir" != "/" -a $depth -lt 20

      
        
        5
        +  while test "$dir" != / # -a $depth -lt 20

      
        8
        6
             if test -d "$dir/.jj"

      
        9
        
        -      set vcs_type jj

      
        10
        
        -      set repo_root $dir

      
        11
        
        -      break

      
        12
        
        -    end

      
        13
        
        -    if test -d "$dir/.git"

      
        14
        
        -      set vcs_type git

      
        15
        
        -      set repo_root $dir

      
        16
        
        -      break

      
        
        7
        +      _prompt_vcs_jj

      
        
        8
        +      return

      
        
        9
        +    else if test -d "$dir/.git"

      
        
        10
        +      _prompt_vcs_git $dir

      
        
        11
        +      return

      
        17
        12
             end

      
        18
        13
             set dir (path dirname $dir)

      
        19
        
        -    set depth (math $depth + 1)

      
        20
        14
           end

      
        
        15
        +end

      
        21
        16
         

      
        22
        
        -  test -n "$vcs_type"; or return

      
        
        17
        +function _prompt_vcs_seg -a label

      
        
        18
        +  printf '%s%s%s' (set_color normal) (set_color blue) $label (set_color normal) (set_color normal)

      
        
        19
        +end

      
        23
        20
         

      
        24
        
        -  if test "$vcs_type" = jj; and command -sq jj

      
        25
        
        -    set -l head (jj log --no-graph -r "@" -T "change_id.shortest()" 2>/dev/null)

      
        26
        
        -    printf ' %s(jj: %s%s%s)%s' (set_color normal) (set_color blue) $head (set_color normal) (set_color normal)

      
        27
        
        -    return

      
        28
        
        -  end

      
        
        21
        +function _prompt_vcs_jj

      
        
        22
        +  command -sq jj; or return

      
        
        23
        +  set -l head (jj log --no-graph -r @ -T 'change_id.shortest()' 2>/dev/null)

      
        
        24
        +  test -n "$head"; and _prompt_vcs_seg "jj: $head"

      
        
        25
        +end

      
        29
        26
         

      
        30
        
        -  # git

      
        31
        
        -  set -l git_dir "$repo_root/.git"

      
        
        27
        +function _prompt_vcs_git -a root

      
        
        28
        +  set -l git_dir "$root/.git"

      
        32
        29
           if test -f "$git_dir"

      
        33
        30
             read -l gitdir_line < "$git_dir"

      
        34
        
        -    set git_dir (string replace "gitdir: " "" -- $gitdir_line)

      
        
        31
        +    set git_dir (string replace 'gitdir: ' '' -- $gitdir_line)

      
        35
        32
           end

      
        36
        33
         

      
        37
        34
           set -l head_file "$git_dir/HEAD"

      
        38
        35
           test -f "$head_file"; or return

      
        39
        
        -

      
        40
        
        -  read -l head_content < "$head_file"

      
        
        36
        +  read -l head < "$head_file"

      
        41
        37
         

      
        42
        
        -  if string match -qr '^ref: refs/heads/' -- $head_content

      
        43
        
        -    set -l branch (string replace 'ref: refs/heads/' '' -- $head_content)

      
        44
        
        -    printf ' %s(%s%s%s)%s' (set_color normal) (set_color blue) $branch (set_color normal) (set_color normal)

      
        
        38
        +  set -l m (string match -r '^ref: refs/heads/(.*)' -- $head)

      
        
        39
        +  if test -n "$m[2]"

      
        
        40
        +    _prompt_vcs_seg $m[2]

      
        45
        41
           else

      
        46
        
        -    printf ' %s(%s%s%s)%s' (set_color normal) (set_color blue) (string sub -l 7 -- $head_content) (set_color normal) (set_color normal)

      
        
        42
        +    _prompt_vcs_seg (string sub -l 7 -- $head)

      
        47
        43
           end

      
        48
        44
         end

      
M config/ghostty/config
···
        1
        1
         command = fish

      
        
        2
        +mouse-hide-while-typing = true

      
        
        3
        +

      
        2
        4
         theme = dark:TokyoNight Night,light:Zenbones Light

      
        3
        5
         # font-family = Jetbrains Mono

      
        4
        6
         font-family = Maple Mono

      
        5
        7
         font-size = 13

      
        6
        
        -font-feature = -calt, -liga, -dlig

      
        7
        
        -mouse-hide-while-typing = true

      
        
        8
        +font-feature = -calt -liga -dlig

      
        8
        9
         

      
        9
        
        -gtk-custom-css = ~/.config/ghostty/tab-style.css

      
        
        10
        +cursor-style = bar

      
        
        11
        +cursor-style-blink = false

      
        
        12
        +shell-integration-features = no-cursor

      
        10
        13
         

      
        11
        14
         keybind = ctrl+,=unbind

      
        12
        15
         keybind = ctrl+shift+.=move_tab:1

      
M config/kitty/kitty.conf
···
        1
        1
         hide_window_decorations yes

      
        2
        2
         update_check_interval 0

      
        3
        
        -enabled_layouts horizontal

      
        
        3
        +enabled_layouts splits,stack

      
        4
        4
         

      
        5
        5
         ## some non terminal things

      
        6
        6
         shell fish

      ···
        10
        10
         listen_on unix:/tmp/kitty

      
        11
        11
         

      
        12
        12
         ## Font

      
        13
        
        -font_size 12.6

      
        14
        
        -font_family Jetbrains Mono

      
        15
        
        -bold_font auto

      
        16
        
        -italic_font auto

      
        17
        
        -bold_italic_font auto

      
        18
        
        -disable_ligatures never

      
        
        13
        +font_size 13

      
        
        14
        +font_family Maple Mono

      
        
        15
        +disable_ligatures yes

      
        
        16
        +font_hinting full

      
        19
        17
         

      
        20
        18
         ## Tabs

      
        21
        19
         tab_bar_style fade

      ···
        37
        35
         focus_follows_mouse no

      
        38
        36
         

      
        39
        37
         ## Mappings

      
        40
        
        -# map alt+1 goto_tab 1

      
        41
        
        -# map alt+2 goto_tab 2

      
        42
        
        -# map alt+3 goto_tab 3

      
        43
        
        -# map alt+4 goto_tab 4

      
        44
        
        -# map alt+5 goto_tab 5

      
        45
        
        -# map alt+6 goto_tab 6

      
        46
        
        -# map alt+7 goto_tab 7

      
        47
        
        -# map alt+8 goto_tab 8

      
        48
        
        -# map alt+9 goto_tab 9

      
        49
        
        -map kitty_mod+t new_tab_with_cwd

      
        50
        
        -map kitty_mod+enter new_window_with_cwd

      
        
        38
        +map alt+1 goto_tab 1

      
        
        39
        +map alt+2 goto_tab 2

      
        
        40
        +map alt+3 goto_tab 3

      
        
        41
        +map alt+4 goto_tab 4

      
        
        42
        +map alt+5 goto_tab 5

      
        
        43
        +map alt+6 goto_tab 6

      
        
        44
        +map alt+7 goto_tab 7

      
        
        45
        +map alt+8 goto_tab 8

      
        
        46
        +map alt+9 goto_tab 9

      
        
        47
        +# map kitty_mod+t new_tab_with_cwd

      
        
        48
        +# map kitty_mod+enter new_window_with_cwd

      
        51
        49
         

      
        52
        50
         map ctrl+equal change_font_size all +1

      
        53
        51
         map ctrl+minus change_font_size all -1

      
        54
        52
         map ctrl+backspace change_font_size all 0

      
        55
        53
         map ctrl+0 change_font_size all 0

      
        
        54
        +

      
        
        55
        +map ctrl+t>ctrl+t send_key ctrl+t

      
        
        56
        +map ctrl+t>t new_tab_with_cwd

      
        
        57
        +map ctrl+t>e launch --cwd=current ~/bin/time.sh

      
        
        58
        +map ctrl+t>n launch --location=vsplit --cwd=current

      
        
        59
        +map ctrl+t>shift+n launch --location=hsplit --cwd=current

      
        
        60
        +map ctrl+t>w close_window

      
        
        61
        +map ctrl+t>f toggle_layout stack

      
        
        62
        +map ctrl+t>/ show_scrollback

      
        
        63
        +map ctrl+t>shift+comma move_tab_backward

      
        
        64
        +map ctrl+t>shift+dot move_tab_forward

      
        
        65
        +map ctrl+t>h neighboring_window left

      
        
        66
        +map ctrl+t>j neighboring_window down

      
        
        67
        +map ctrl+t>k neighboring_window up

      
        
        68
        +map ctrl+t>l neighboring_window right

      
        
        69
        +map ctrl+t>left resize_window narrower 2

      
        
        70
        +map ctrl+t>down resize_window shorter 2

      
        
        71
        +map ctrl+t>up resize_window taller 2

      
        
        72
        +map ctrl+t>right resize_window wider 2

      
        56
        73
         

      
        57
        74
         ## Theme

      
        58
        75
         background #1a1b26

      
M config/niri/config.kdl
···
        6
        6
         environment {

      
        7
        7
           XDG_CURRENT_DESKTOP "niri"

      
        8
        8
           ELECTRON_OZONE_PLATFORM_HINT "auto"

      
        
        9
        +  DISPLAY null

      
        9
        10
           GTK_IM_MODULE "simple"

      
        10
        11
           MOZ_ENABLE_WAYLAND "1"

      
        11
        
        -  QT_QPA_PLATFORM "wayland"

      
        
        12
        +  QT_QPA_PLATFORM "wayland;xcb"

      
        12
        13
           QT_QPA_PLATFORMTHEME "gtk3"

      
        13
        14
           QT_QPA_PLATFORMTHEME_QT6 "gtk3"

      
        14
        15
           QT_WAYLAND_DISABLE_WINDOWDECORATION "1"