all repos

dotfiles @ 53bc89e

i use rach linux btw
12 files changed, 76 insertions(+), 34 deletions(-)
updaties
Author: Oleksandr Smirnov olexsmir@gmail.com
Committed at: 2026-05-30 18:22:46 +0300
Authored at: 2026-05-22 22:16:56 +0300
Parent: 7573d0a
A config/ctags/hare.ctags
···
        
        1
        +--langdef=Hare

      
        
        2
        +--langmap=Hare:.ha

      
        
        3
        +--kinddef-Hare=f,function,functions

      
        
        4
        +--kinddef-Hare=s,structure,structs

      
        
        5
        +--kinddef-Hare=e,enum,enums

      
        
        6
        +--kinddef-Hare=E,event,errors

      
        
        7
        +--kinddef-Hare=c,const,consts

      
        
        8
        +--kinddef-Hare=v,variable,variables

      
        
        9
        +--kinddef-Hare=C,class,types

      
        
        10
        +--regex-Hare=/^(export\s+)?fn\s+([a-zA-Z_][a-zA-Z0-9_]*)/\2/f/x

      
        
        11
        +--regex-Hare=/^@(test|init|fini)\s+fn\s+([a-zA-Z_][a-zA-Z0-9_]+)/\2/f/x

      
        
        12
        +--regex-Hare=/^(export\s+)?type\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*=\s*struct\s*\{/\2/s/x

      
        
        13
        +--regex-Hare=/^(export\s+)?type\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*=\s*union\s*\{/\2/s/x

      
        
        14
        +--regex-Hare=/^(export\s+)?type\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*=\s*enum\s+/\2/e/x

      
        
        15
        +--regex-Hare=/^(export\s+)?type\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*=\s*!/\2/E/x

      
        
        16
        +--regex-Hare=/^(export\s+)?type\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*=/\2/C/x

      
        
        17
        +--regex-Hare=/^(export\s+)?def\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*[:=]/\2/c/x

      
        
        18
        +--regex-Hare=/^(export\s+)?const\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*[:=]/\2/c/x

      
        
        19
        +--regex-Hare=/^(export\s+)?let\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*[:=]/\2/v/x

      
M config/fish/config.fish
···
        50
        50
         

      
        51
        51
         if type -q hledger; alias f hledger; end

      
        52
        52
         if type -q jj; abbr --add j jj; end

      
        53
        
        -if type -q tmux; alias t "tmux attach 2>/dev/null || tmux"; end

      
        
        53
        +if type -q tmux; and not set -q TMUX; alias t "tmux attach 2>/dev/null || tmux"; end

      
        54
        54
         

      
        55
        55
         if type -q eza

      
        56
        56
           alias ls "eza -l"

      
M config/jj/config.toml
···
        13
        13
         

      
        14
        14
         [signing]

      
        15
        15
         backend = "ssh"

      
        
        16
        +backends.ssh.allowed-signers = "~/.config/git/allowed_signers"

      
        16
        17
         key = "~/.ssh/git-sign.pub"

      
        17
        18
         

      
        18
        19
         [git]

      ···
        32
        33
         tug = ["bookmark", "advance"]

      
        33
        34
         

      
        34
        35
         [revsets]

      
        35
        
        -bookmark-advance-to = "heads(::@ & ~description(exact:'') & (~empty() | merges()))"

      
        
        36
        +bookmark-advance-to = "heads(::@ & ~description(exact:'') & ~private():: & (~empty() | merges()))"

      
        36
        37
         

      
        37
        38
         [revset-aliases]

      
        38
        39
         "private()" = "description(glob:'private:*') | description(glob:'wip:*')"

      
M config/niri/config.kdl
···
        102
        102
         window-rule {

      
        103
        103
           match app-id="firefox"

      
        104
        104
           match app-id="brave-browser"

      
        
        105
        +  match app-id="helium"

      
        105
        106
           open-on-workspace "two"

      
        106
        107
           open-focused true

      
        107
        108
         }

      ···
        115
        116
         }

      
        116
        117
         

      
        117
        118
         window-rule {

      
        118
        
        -  match app-id="org.gnome.Solanum"

      
        119
        
        -  default-floating-position relative-to="top-left" x=10 y=10

      
        120
        
        -  open-focused true

      
        121
        
        -  open-floating true

      
        122
        
        -  open-on-workspace "laptop"

      
        123
        
        -}

      
        124
        
        -

      
        125
        
        -window-rule {

      
        126
        119
           match app-id="Spotify"

      
        127
        120
           match app-id="spotify"

      
        128
        121
           match app-id="zen"

      
        129
        122
           match app-id="firefox"

      
        
        123
        +  match app-id="helium"

      
        130
        124
           match app-id="Brave-browser"

      
        131
        125
           match app-id="brave-browser"

      
        132
        126
           match app-id="kitty"

      ···
        160
        154
           Mod+Shift+Escape { spawn "~/bin/wofi-power-menu" "niri";}

      
        161
        155
           Mod+Shift+Return { spawn "wofi"; }

      
        162
        156
         

      
        163
        
        -  // programs {{{

      
        164
        157
           Mod+Shift+a { spawn "anki"; }

      
        165
        
        -  Mod+Shift+d { spawn "obsidian"; }

      
        166
        
        -  Mod+Shift+f { spawn "newsflash"; }

      
        167
        
        -  Mod+Shift+r { spawn "solanum"; }

      
        168
        
        -  Mod+Shift+s { spawn "spotify"; }

      
        
        158
        +  Mod+Shift+s { spawn "gelly"; }

      
        169
        159
           Mod+Shift+t { spawn "Telegram"; }

      
        170
        
        -  Mod+Shift+w { spawn "brave"; }

      
        171
        
        -  // }}}

      
        
        160
        +  Mod+Shift+w { spawn "helium-browser"; }

      
        172
        161
           // func keys {{{

      
        173
        162
           // audio

      
        174
        163
           XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%-"; }

      
M config/opencode/AGENTS.md
···
        1
        
        -# Code Quality Standards

      
        2
        
        -- Make minimal, surgical changes

      
        3
        
        -- Abstractions: Consciously constrained, pragmatically parameterised, doggedly documented

      
        4
        
        -- Make illegal states unrepresentable: Model domain with ADTs/discriminated unions; parse inputs at boundaries into typed structures; if state can't exist, code can't mishandle it

      
        5
        
        -

      
        6
        
        -# Testing

      
        7
        
        -- Write tests that verify semantically correct behavior

      
        8
        
        -- Failing tests are acceptable when they expose genuine bugs and test correct behavior

      
        9
        
        -

      
        10
        1
         # Plans

      
        11
        2
         - At the end of each plan, give me a list of unresolved questions to answer, if any. Make the questions extremely concise. Sacrifice grammar for the sake of concision.

      
        12
        3
         

      
M config/rgrc
···
        
        1
        +--smart-case

      
        
        2
        +--fixed-strings

      
A config/sioyek/keys_user.config
···
        
        1
        +fit_to_page_width s

      
        
        2
        +goto_toc <tab>

      
        
        3
        +open_prev_doc o

      
        
        4
        +open_document O

      
        
        5
        +

      
        
        6
        +# Vim-style half-page scrolling

      
        
        7
        +screen_down <C-d>

      
        
        8
        +screen_up <C-u>

      
        
        9
        +prev_state <C-o>

      
        
        10
        +toggle_titlebar <C-w>

      
        
        11
        +next_state <C-i>

      
        
        12
        +zoom_in J

      
        
        13
        +zoom_out K

      
        
        14
        +

      
        
        15
        +# Toggle dark mode with 'i' (for "invert")

      
        
        16
        +toggle_dark_mode i

      
        
        17
        +toggle_custom_color c

      
        
        18
        +reload_config r

      
        
        19
        +helper_window

      
M config/tmux/tmux.conf
···
        3
        3
         set -g default-shell /bin/fish

      
        4
        4
         set -g default-terminal "tmux-256color"

      
        5
        5
         set -g extended-keys on

      
        
        6
        +set -g extended-keys-format csi-u

      
        6
        7
         set -ag terminal-overrides ",xterm-kitty:Tc:U8=0,xterm*:extkeys"

      
        7
        8
         set -g set-clipboard on

      
        8
        9
         set -g allow-passthrough on

      
A config/user-dirs.dirs
···
        
        1
        +# This file is written by xdg-user-dirs-update

      
        
        2
        +# If you want to change or add directories, just edit the line you're

      
        
        3
        +# interested in. All local changes will be retained on the next run.

      
        
        4
        +# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped

      
        
        5
        +# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an

      
        
        6
        +# absolute path. No other format is supported.

      
        
        7
        +# 

      
        
        8
        +XDG_DOCUMENTS_DIR="$HOME/doc"

      
        
        9
        +XDG_DOWNLOAD_DIR="$HOME/Downloads"

      
        
        10
        +XDG_PICTURES_DIR="$HOME/Pictures"

      
        
        11
        +XDG_DESKTOP_DIR="$HOME/"

      
        
        12
        +XDG_MUSIC_DIR="$HOME/"

      
        
        13
        +XDG_PUBLICSHARE_DIR="$HOME/"

      
        
        14
        +XDG_TEMPLATES_DIR="$HOME/"

      
        
        15
        +XDG_VIDEOS_DIR="$HOME/Pictures/Videos"

      
        
        16
        +XDG_PROJECTS_DIR="$HOME/"

      
M config/waybar/modules/info.jsonc
···
        5
        5
           },

      
        6
        6
         

      
        7
        7
           "clock": {

      
        8
        
        -    "format": "  {:%a, %d %b %H:%M}", // replace %I with %H for 24h format

      
        
        8
        +    "format": "{:%a, %d %b %H:%M}",

      
        9
        9
             "tooltip": false

      
        10
        10
           },

      
        11
        11
         

      
M config/yazi/keymap.toml
···
        2
        2
           { on = ["g", "."], run = "cd ~/.dotfiles", desc = "goto .dotfiles" },

      
        3
        3
           { on = ["g", "o"], run = "cd ~/org", desc = "goto ~/org" },

      
        4
        4
           { on = ["g", "c"], run = "cd ~/code", desc = "goto ~/code" },

      
        5
        
        -  { on = ["g", "p"], run = "cd ~/Pictures", desc = "goto ~/Pictures" },

      
        6
        
        -  { on = ["g", "v"], run = "cd ~/vods", desc = "goto ~/vods" },

      
        7
        
        -  { on = ["g", "b"], run = "cd ~/Documents/Books", desc = "goto /Books" },

      
        
        5
        +  { on = ["g", "p"], run = "cd ~/pics", desc = "goto ~/pics" },

      
        
        6
        +  { on = ["g", "v"], run = "cd ~/Pictures/Videos", desc = "goto ~/vods" },

      
        
        7
        +  { on = ["g", "b"], run = "cd ~/doc/Books", desc = "goto /Books" },

      
        8
        8
         ]

      
M misc/vimium_c.json
···
        1
        1
         {

      
        2
        2
           "name": "Vimium C",

      
        3
        
        -  "@time": "10/21/2025, 9:07:10 PM",

      
        4
        
        -  "time": 1761070030010,

      
        
        3
        +  "@time": "5/18/2026, 12:10:14 AM",

      
        
        4
        +  "time": 1779052214158,

      
        5
        5
           "environment": {

      
        6
        
        -    "extension": "2.12.3",

      
        
        6
        +    "extension": "2.12.2",

      
        7
        7
             "platform": "linux",

      
        8
        
        -    "firefox": 140

      
        
        8
        +    "chromium": 148

      
        9
        9
           },

      
        10
        10
           "exclusionRules": [

      
        11
        11
             {

      ···
        19
        19
             {

      
        20
        20
               "passKeys": "",

      
        21
        21
               "pattern": ":https://monkeytype.com/"

      
        
        22
        +    },

      
        
        23
        +    {

      
        
        24
        +      "passKeys": "r",

      
        
        25
        +      "pattern": ":https://rss.olexsmir.xyz/"

      
        22
        26
             }

      
        23
        27
           ],

      
        24
        28
           "keyLayout": 2,