summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Li Dobnik <tomlidobnik1@gmail.com>2026-02-23 07:44:54 +0100
committerTom Li Dobnik <tomlidobnik1@gmail.com>2026-02-23 07:44:54 +0100
commit4cf642a4e17473e71849444e2f6d6d8ce245bb96 (patch)
tree72d04f5e6d1da6756dc5793a1d03ade90a2290dd
parent95bb1945715c94b033e5e8e4f633f791a68c6c9e (diff)
update
-rw-r--r--.DS_Storebin0 -> 6148 bytes
-rw-r--r--.config/.DS_Storebin0 -> 8196 bytes
-rw-r--r--.config/Brewfile12
-rw-r--r--.config/fish/conf.d/rustup.fish1
-rw-r--r--.config/fish/config.fish2
-rw-r--r--.config/ghostty/config2
-rw-r--r--.config/install.sh6
-rw-r--r--.config/karabiner/automatic_backups/karabiner_20260222.json552
-rw-r--r--.config/karabiner/karabiner.json1
-rw-r--r--.config/linearmouse/linearmouse.json2
-rw-r--r--.config/nvim/lazy-lock.json69
-rw-r--r--.config/nvim/lua/config/plugins/blink-cmp.lua11
-rw-r--r--.config/nvim/lua/config/plugins/conform.lua1
-rw-r--r--.config/nvim/lua/config/plugins/fzflua.lua4
-rw-r--r--.config/nvim/lua/config/plugins/jupytext.lua6
-rw-r--r--.config/nvim/lua/config/plugins/learn.lua8
-rw-r--r--.config/nvim/lua/config/plugins/leetcode.lua22
-rw-r--r--.config/nvim/lua/config/plugins/lsp.lua16
-rw-r--r--.config/nvim/lua/config/plugins/notebook.lua14
-rw-r--r--.config/nvim/lua/config/plugins/rustacean.lua26
-rw-r--r--.config/nvim/lua/config/plugins/snacks.lua1
-rw-r--r--.config/nvim/lua/config/plugins/treesitter.lua70
-rw-r--r--.config/nvim/lua/mappings.lua8
l---------.gitignore-template1
l---------Brewfile1
l---------config.yml1
l---------install.sh1
l---------starship.toml1
28 files changed, 726 insertions, 113 deletions
diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..e7c50f2
--- /dev/null
+++ b/.DS_Store
Binary files differ
diff --git a/.config/.DS_Store b/.config/.DS_Store
new file mode 100644
index 0000000..1f74281
--- /dev/null
+++ b/.config/.DS_Store
Binary files differ
diff --git a/.config/Brewfile b/.config/Brewfile
index d52b5b4..e290067 100644
--- a/.config/Brewfile
+++ b/.config/Brewfile
@@ -21,10 +21,15 @@ brew "huggingface-cli"
brew "mactop"
brew "just"
brew "sqlite"
-brew "stew"
+brew "stow"
brew "tmux"
brew "websocat"
brew "uv"
+brew "carapace"
+brew "sesh"
+brew "viu"
+brew "chafa"
+brew "7-zip"
cask "visual-studio-code"
cask "google-chrome"
@@ -43,8 +48,9 @@ cask "vlc"
cask "discord"
cask "spotify"
cask "aldente"
-cask "ghossty"
-cask "brave"
+cask "ghostty"
+cask "brave-browser"
cask "font-iosevka-term-nerd-font"
cask "microsoft-teams"
cask "bambu-studio"
+cask "affinity"
diff --git a/.config/fish/conf.d/rustup.fish b/.config/fish/conf.d/rustup.fish
new file mode 100644
index 0000000..e4cb363
--- /dev/null
+++ b/.config/fish/conf.d/rustup.fish
@@ -0,0 +1 @@
+source "$HOME/.cargo/env.fish"
diff --git a/.config/fish/config.fish b/.config/fish/config.fish
index 357db65..646bf63 100644
--- a/.config/fish/config.fish
+++ b/.config/fish/config.fish
@@ -99,7 +99,7 @@ atuin init fish --disable-up-arrow | source
export EDITOR="nvim"
# uv
-fish_add_path "/Users/tomiko/.local/bin"
+fish_add_path "/Users/tom/.local/bin"
starship init fish | source
alias conda="/opt/homebrew/anaconda3/bin/conda"
diff --git a/.config/ghostty/config b/.config/ghostty/config
index d998684..8d0b45c 100644
--- a/.config/ghostty/config
+++ b/.config/ghostty/config
@@ -14,7 +14,7 @@ quick-terminal-animation-duration = 0
background = #000000
#background-blur = 15
#background-opacity = 0.8
-background-image="/Users/tomiko/dotfiles/.config/ghostty/ign-0008.png"
+background-image="/Users/tom/dotfiles/.config/ghostty/ign-0008.png"
background-image-fit="cover"
background-image-opacity=0.3
diff --git a/.config/install.sh b/.config/install.sh
index 5be31dd..2bd9588 100644
--- a/.config/install.sh
+++ b/.config/install.sh
@@ -27,17 +27,17 @@ defaults write -g NSAutomaticDashSubstitutionEnabled -bool false
defaults write com.apple.dock autohide-time-modifier -float 0.15;
defaults delete com.apple.dock autohide-delay;
defaults write -g KeyRepeat -int 1
-defaults write -g InitialKeyRepeat -int 20
+defaults write -g InitialKeyRepeat -int 15
killall Dock
# Instructions for additional apps
echo "Go to System Settings > Keyboard > Text Input and disable all"
+# Install packages with Homebrew
+brew bundle
cd "~/dotfiles/"
stow .
-# Install packages with Homebrew
-brew bundle
# Ensure Fish shell is available in /etc/shells and set it as the default
grep -qxF "/opt/homebrew/bin/fish" /etc/shells || echo "/opt/homebrew/bin/fish" | sudo tee -a /etc/shells
diff --git a/.config/karabiner/automatic_backups/karabiner_20260222.json b/.config/karabiner/automatic_backups/karabiner_20260222.json
new file mode 100644
index 0000000..20d87d2
--- /dev/null
+++ b/.config/karabiner/automatic_backups/karabiner_20260222.json
@@ -0,0 +1,552 @@
+{
+ "global": { "show_in_menu_bar": false },
+ "profiles": [
+ {
+ "complex_modifications": {
+ "rules": [
+ {
+ "description": "Disable cmd + tab",
+ "enabled": false,
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "tab",
+ "modifiers": { "mandatory": ["left_command"] }
+ },
+ "to": [],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "c1",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "a",
+ "modifiers": { "mandatory": ["left_option", "left_control", "left_command", "left_shift"] }
+ },
+ "to": [{ "key_code": "left_control" }],
+ "to_if_alone": [
+ {
+ "key_code": "a",
+ "modifiers": ["left_control"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+2 -> Ctrl+S then 2",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "2",
+ "modifiers": { "mandatory": ["left_option", "left_control", "left_command", "left_shift"] }
+ },
+ "to": [
+ {
+ "key_code": "s",
+ "modifiers": ["left_control"]
+ },
+ { "key_code": "2" }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+3 -> Ctrl+S then 3",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "3",
+ "modifiers": { "mandatory": ["left_option", "left_control", "left_command", "left_shift"] }
+ },
+ "to": [
+ {
+ "key_code": "s",
+ "modifiers": ["left_control"]
+ },
+ { "key_code": "3" }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+4 -> Ctrl+S then 4",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "4",
+ "modifiers": { "mandatory": ["left_option", "left_control", "left_command", "left_shift"] }
+ },
+ "to": [
+ {
+ "key_code": "s",
+ "modifiers": ["left_control"]
+ },
+ { "key_code": "4" }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+1 -> Ctrl+S then 1",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "1",
+ "modifiers": { "mandatory": ["left_option", "left_control", "left_command", "left_shift"] }
+ },
+ "to": [
+ {
+ "key_code": "s",
+ "modifiers": ["left_control"]
+ },
+ { "key_code": "1" }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+q -> left_option+q",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "q",
+ "modifiers": { "mandatory": ["left_option", "left_control", "left_shift", "left_command"] }
+ },
+ "to": [
+ {
+ "key_code": "q",
+ "modifiers": ["left_option"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+a -> left_control+a",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "a",
+ "modifiers": { "mandatory": ["left_option", "left_control", "left_shift", "left_command"] }
+ },
+ "to": [
+ {
+ "key_code": "a",
+ "modifiers": ["left_control"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Disable Control + Left Click",
+ "manipulators": [
+ {
+ "from": {
+ "modifiers": {
+ "mandatory": ["control"],
+ "optional": ["any"]
+ },
+ "pointing_button": "button1"
+ },
+ "to": [{ "pointing_button": "button1" }],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Change caps_lock to Hyper Key (⌃⌥⇧⌘)",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "caps_lock",
+ "modifiers": { "optional": ["any"] }
+ },
+ "to": [
+ {
+ "key_code": "left_shift",
+ "modifiers": ["left_command", "left_control", "left_option"]
+ }
+ ],
+ "to_if_alone": [{ "key_code": "escape" }],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+s -> left_control+s",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "s",
+ "modifiers": { "mandatory": ["left_option", "left_control", "left_shift", "left_command"] }
+ },
+ "to": [
+ {
+ "key_code": "s",
+ "modifiers": ["left_control"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+h -> left_arrow",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "h",
+ "modifiers": { "mandatory": ["left_shift", "left_control", "left_option", "left_command"] }
+ },
+ "to": [
+ {
+ "key_code": "left_arrow",
+ "modifiers": []
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+j -> down_arrow",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "j",
+ "modifiers": { "mandatory": ["left_shift", "left_control", "left_option", "left_command"] }
+ },
+ "to": [
+ {
+ "key_code": "down_arrow",
+ "modifiers": []
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+k -> up_arrow",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "k",
+ "modifiers": { "mandatory": ["left_shift", "left_control", "left_option", "left_command"] }
+ },
+ "to": [
+ {
+ "key_code": "up_arrow",
+ "modifiers": []
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+l -> right_arrow",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "l",
+ "modifiers": { "mandatory": ["left_shift", "left_control", "left_option", "left_command"] }
+ },
+ "to": [
+ {
+ "key_code": "right_arrow",
+ "modifiers": []
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+u -> left_control+d",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "u",
+ "modifiers": { "mandatory": ["left_shift", "left_control", "left_option", "left_command"] }
+ },
+ "to": [
+ {
+ "key_code": "d",
+ "modifiers": ["left_control"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+i -> left_control+u",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "i",
+ "modifiers": { "mandatory": ["left_shift", "left_control", "left_option", "left_command"] }
+ },
+ "to": [
+ {
+ "key_code": "u",
+ "modifiers": ["left_control"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+o -> return_or_enter",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "o",
+ "modifiers": { "mandatory": ["left_control", "left_shift", "left_command", "left_option"] }
+ },
+ "to": [
+ {
+ "key_code": "return_or_enter",
+ "modifiers": []
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+p -> delete_or_backspace",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "p",
+ "modifiers": { "mandatory": ["left_control", "left_shift", "left_command", "left_option"] }
+ },
+ "to": [
+ {
+ "key_code": "delete_or_backspace",
+ "modifiers": []
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+semicolon -> left_command+z",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "semicolon",
+ "modifiers": { "mandatory": ["left_command", "left_shift", "left_option", "left_control"] }
+ },
+ "to": [
+ {
+ "key_code": "z",
+ "modifiers": ["left_command"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+quote -> left_shift, left_command+z",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "quote",
+ "modifiers": { "mandatory": ["left_command", "left_control", "left_option", "left_shift"] }
+ },
+ "to": [
+ {
+ "key_code": "z",
+ "modifiers": ["left_shift", "left_command"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+period -> left_control+n",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "period",
+ "modifiers": { "mandatory": ["left_control", "left_shift", "left_command", "left_option"] }
+ },
+ "to": [
+ {
+ "key_code": "n",
+ "modifiers": ["left_control"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+comma -> left_control+p",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "comma",
+ "modifiers": { "mandatory": ["left_control", "left_shift", "left_command", "left_option"] }
+ },
+ "to": [
+ {
+ "key_code": "p",
+ "modifiers": ["left_control"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+slash -> left_control+y",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "slash",
+ "modifiers": { "mandatory": ["left_command", "left_control", "left_shift", "left_option"] }
+ },
+ "to": [
+ {
+ "key_code": "y",
+ "modifiers": ["left_control"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+m -> left_option+c",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "m",
+ "modifiers": { "mandatory": ["left_command", "left_option", "left_control", "left_shift"] }
+ },
+ "to": [
+ {
+ "key_code": "c",
+ "modifiers": ["left_option"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+c -> left_command+c",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "c",
+ "modifiers": { "mandatory": ["left_command", "left_control", "left_option", "left_shift"] }
+ },
+ "to": [
+ {
+ "key_code": "c",
+ "modifiers": ["left_command"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+v -> left_command+v",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "v",
+ "modifiers": { "mandatory": ["left_command", "left_control", "left_option", "left_shift"] }
+ },
+ "to": [
+ {
+ "key_code": "v",
+ "modifiers": ["left_command"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+y -> left_control+c",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "y",
+ "modifiers": { "mandatory": ["left_shift", "left_command", "left_option", "left_control"] }
+ },
+ "to": [
+ {
+ "key_code": "c",
+ "modifiers": ["left_control"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "Hyper+t -> left_command+tab",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "t",
+ "modifiers": { "mandatory": ["left_option", "left_shift", "left_command", "left_control"] }
+ },
+ "to": [
+ {
+ "key_code": "tab",
+ "modifiers": ["left_command"]
+ }
+ ],
+ "type": "basic"
+ }
+ ]
+ }
+ ]
+ },
+ "devices": [
+ {
+ "identifiers": {
+ "is_keyboard": true,
+ "product_id": 53297,
+ "vendor_id": 13364
+ },
+ "ignore": true
+ },
+ {
+ "identifiers": {
+ "is_keyboard": true,
+ "product_id": 166,
+ "vendor_id": 5426
+ },
+ "ignore": true
+ }
+ ],
+ "virtual_hid_keyboard": { "keyboard_type_v2": "ansi" }
+ }
+ ]
+} \ No newline at end of file
diff --git a/.config/karabiner/karabiner.json b/.config/karabiner/karabiner.json
index 20d87d2..1dd1cf4 100644
--- a/.config/karabiner/karabiner.json
+++ b/.config/karabiner/karabiner.json
@@ -510,6 +510,7 @@
},
{
"description": "Hyper+t -> left_command+tab",
+ "enabled": false,
"manipulators": [
{
"from": {
diff --git a/.config/linearmouse/linearmouse.json b/.config/linearmouse/linearmouse.json
index b8eedbc..0aa9763 100644
--- a/.config/linearmouse/linearmouse.json
+++ b/.config/linearmouse/linearmouse.json
@@ -91,7 +91,7 @@
}
},
"pointer" : {
- "acceleration" : 0.8655,
+ "acceleration" : 0.9326,
"disableAcceleration" : true
},
"scrolling" : {
diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json
index 74ad888..3d12f22 100644
--- a/.config/nvim/lazy-lock.json
+++ b/.config/nvim/lazy-lock.json
@@ -1,46 +1,43 @@
{
- "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
+ "LuaSnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" },
"blink-emoji.nvim": { "branch": "master", "commit": "066013e4c98a9318408ee3f1ca2dbcb6fa3e4c06" },
- "blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
+ "blink.cmp": { "branch": "main", "commit": "4b18c32adef2898f95cdef6192cbd5796c1a332d" },
"blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" },
- "bullets.vim": { "branch": "master", "commit": "1c13e510e11d08b0259e8e627f128359c5521962" },
+ "bullets.vim": { "branch": "master", "commit": "89294b8930e660936374fb763ac48a1ac51dd29c" },
"cmp-sql": { "branch": "master", "commit": "54193ac99e3855c6ffaa36f83a7c50213df03157" },
- "conform.nvim": { "branch": "master", "commit": "9fd3d5e0b689ec1bf400c53cbbec72c6fdf24081" },
- "fidget.nvim": { "branch": "main", "commit": "3f5475949679953af6d78654db29b944fa826e6a" },
- "flash.nvim": { "branch": "main", "commit": "3be9bf7e85550045ec576379a0c45aac144d0438" },
- "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
- "fzf-lua": { "branch": "main", "commit": "9244bd48e0e6167ffe521209d0cfddc70bb70c21" },
- "gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
- "image.nvim": { "branch": "master", "commit": "c75654b37cd13df17475a53d9dc3e3d1b5e09fa1" },
- "jupytext.nvim": { "branch": "main", "commit": "c8baf3ad344c59b3abd461ecc17fc16ec44d0f7b" },
- "lazy.nvim": { "branch": "main", "commit": "16e52715b70b4d0fc6af3563ccc0ed9df82ae23e" },
- "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
+ "conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" },
+ "fidget.nvim": { "branch": "main", "commit": "7fa433a83118a70fe24c1ce88d5f0bd3453c0970" },
+ "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
+ "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
+ "fzf-lua": { "branch": "main", "commit": "9004cbb4c065a32b690e909c49903967b45301eb" },
+ "gitsigns.nvim": { "branch": "main", "commit": "9f3c6dd7868bcc116e9c1c1929ce063b978fa519" },
+ "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
+ "leetcode.nvim": { "branch": "master", "commit": "fdd3f91800b3983e27bc9fcfb99cfa7293d7f11a" },
+ "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
- "mason-lspconfig.nvim": { "branch": "main", "commit": "2304ff65ecc8cb2afc2484de3e2ed9a407edf0b9" },
- "mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
- "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
- "mini.icons": { "branch": "main", "commit": "284798619aed9f4c1ac1b9417b9a5e3b4b85ef3a" },
- "mini.nvim": { "branch": "main", "commit": "cf32454e91b3d963a12fef0314811fb035b62d49" },
- "molten-nvim": { "branch": "main", "commit": "4fd7be6a12b5efda5179db642f13bad60893acca" },
- "neo-tree.nvim": { "branch": "v3.x", "commit": "8cdd6b1940f333c1dd085526a9c45b30fb2dbf50" },
+ "mason-lspconfig.nvim": { "branch": "main", "commit": "21c2a84ce368e99b18f52ab348c4c02c32c02fcf" },
+ "mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" },
+ "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
+ "mini.icons": { "branch": "main", "commit": "68c178e0958d95b3977a771f3445429b1bded985" },
+ "mini.nvim": { "branch": "main", "commit": "dbb073bd2ed4a7bb35daafc7989567f0ff1426ee" },
+ "neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
"nord.nvim": { "branch": "master", "commit": "80c1e5321505aeb22b7a9f23eb82f1e193c12470" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
- "nvim-colorizer.lua": { "branch": "master", "commit": "51cf7c995ed1eb6642aecf19067ee634fa1b6ba2" },
- "nvim-lspconfig": { "branch": "master", "commit": "52a893217b2c12e215c6851bd8813b43204416cd" },
+ "nvim-colorizer.lua": { "branch": "master", "commit": "338409dd8a6ed74767bad3eb5269f1b903ffb3cf" },
+ "nvim-lspconfig": { "branch": "master", "commit": "44acfe887d4056f704ccc4f17513ed41c9e2b2e6" },
"nvim-osc52": { "branch": "main", "commit": "04cfaba1865ae5c53b6f887c3ca7304973824fb2" },
- "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
- "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" },
- "oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" },
- "outline.nvim": { "branch": "main", "commit": "6b62f73a6bf317531d15a7ae1b724e85485d8148" },
+ "nvim-treesitter": { "branch": "main", "commit": "dc42c209f3820bdfaae0956f15de29689aa6b451" },
+ "nvim-web-devicons": { "branch": "master", "commit": "746ffbb17975ebd6c40142362eee1b0249969c5c" },
+ "oil.nvim": { "branch": "master", "commit": "f55b25e493a7df76371cfadd0ded5004cb9cd48a" },
+ "outline.nvim": { "branch": "main", "commit": "ead1820d49c8e79ce89cab1c2c318981b695c9d2" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
- "pyworks.nvim": { "branch": "main", "commit": "5e7f0298849d4b1d3dd2f272d27b48a93bcdd424" },
- "rainbow-delimiters.nvim": { "branch": "master", "commit": "3277ad5f96eb03c9d618c88e24f683e4364e578c" },
- "render-markdown.nvim": { "branch": "main", "commit": "475d3ad8cae486b0df6fc6050cf5b5ea1de42db8" },
- "rustaceanvim": { "branch": "master", "commit": "12504405821c05874d2d1f6b5ec919f9808e2c99" },
- "snacks.nvim": { "branch": "main", "commit": "4e1070867a701b863d4bce4fd54a6c11314de506" },
- "typst-preview.nvim": { "branch": "master", "commit": "1603d37bb44ed2efa0b4378d1dfedc087b4f2141" },
- "undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" },
- "uv.nvim": { "branch": "main", "commit": "be4a7d47a976249282bb2f71fc773ac2f5325973" },
- "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" },
- "which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" }
+ "rainbow-delimiters.nvim": { "branch": "master", "commit": "e2858c43caafec291f915ef25fbed27bbe78abbd" },
+ "render-markdown.nvim": { "branch": "main", "commit": "48b4175dbca8439d30c1f52231cbe5a712c8f9d9" },
+ "rustaceanvim": { "branch": "master", "commit": "88575b98bb9937fb9983ddec5e532b67e75ce677" },
+ "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" },
+ "typst-preview.nvim": { "branch": "master", "commit": "e123a7ab64e52d836e00dea9251e85b201f38966" },
+ "undotree": { "branch": "master", "commit": "d8f99084d98c32f651860eb0baaf89759f91debc" },
+ "uv.nvim": { "branch": "main", "commit": "b0bce1b61584fde99c316aa0587a4996c52df206" },
+ "vim-tmux-navigator": { "branch": "master", "commit": "e41c431a0c7b7388ae7ba341f01a0d217eb3a432" },
+ "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}
diff --git a/.config/nvim/lua/config/plugins/blink-cmp.lua b/.config/nvim/lua/config/plugins/blink-cmp.lua
index 424d463..9f622c7 100644
--- a/.config/nvim/lua/config/plugins/blink-cmp.lua
+++ b/.config/nvim/lua/config/plugins/blink-cmp.lua
@@ -49,6 +49,12 @@ return {
-- (Default) Only show the documentation popup when manually triggered
completion = {
+ menu = { auto_show = true },
+ trigger = {
+ show_on_keyword = true,
+ show_on_trigger_character = true,
+ show_on_insert_on_trigger_character = true,
+ },
documentation = { auto_show = true, window = { border = "single" } },
},
signature = { enabled = true },
@@ -56,6 +62,11 @@ return {
sources = {
default = { "lsp", "path", "snippets", "buffer", "emoji", "sql" },
providers = {
+ lsp = {
+ name = "LSP",
+ module = "blink.cmp.sources.lsp",
+ min_keyword_length = 0,
+ },
snippets = {
name = "snippets",
module = "blink.cmp.sources.snippets",
diff --git a/.config/nvim/lua/config/plugins/conform.lua b/.config/nvim/lua/config/plugins/conform.lua
index afc2dd5..55660e9 100644
--- a/.config/nvim/lua/config/plugins/conform.lua
+++ b/.config/nvim/lua/config/plugins/conform.lua
@@ -22,7 +22,6 @@ return {
typescriptreact = { "prettierd", "prettier", stop_after_first = true },
css = { "prettierd", "prettier", stop_after_first = true },
html = { "prettierd", "prettier", stop_after_first = true },
- htmldjango = { "djlint" },
typst = { "prettypst" },
},
format_on_save = {
diff --git a/.config/nvim/lua/config/plugins/fzflua.lua b/.config/nvim/lua/config/plugins/fzflua.lua
index ea8a744..8dfdeb3 100644
--- a/.config/nvim/lua/config/plugins/fzflua.lua
+++ b/.config/nvim/lua/config/plugins/fzflua.lua
@@ -22,8 +22,8 @@ return {
},
files = {
-- Show hidden files but respect .gitignore
- rg_opts = [[--color=never --hidden --files -g "!.git" --ignore-file ~/.config/git/ignore]],
- fd_opts = [[--color=never --hidden --type f --type l --exclude .git --ignore-file ~/.config/git/ignore]],
+ -- rg_opts = [[--color=never --hidden --files -g "!.git" --ignore-file ~/.config/git/ignore]],
+ -- fd_opts = [[--color=never --hidden --type f --type l --exclude .git --ignore-file ~/.config/git/ignore]],
},
},
}
diff --git a/.config/nvim/lua/config/plugins/jupytext.lua b/.config/nvim/lua/config/plugins/jupytext.lua
deleted file mode 100644
index 2f57193..0000000
--- a/.config/nvim/lua/config/plugins/jupytext.lua
+++ /dev/null
@@ -1,6 +0,0 @@
-return {
- "GCBallesteros/jupytext.nvim",
- config = true,
- -- Depending on your nvim distro or config you may need to make the loading not lazy
- -- lazy=false,
-}
diff --git a/.config/nvim/lua/config/plugins/learn.lua b/.config/nvim/lua/config/plugins/learn.lua
deleted file mode 100644
index 2d82d9f..0000000
--- a/.config/nvim/lua/config/plugins/learn.lua
+++ /dev/null
@@ -1,8 +0,0 @@
-return {
- -- {
- -- "m4xshen/hardtime.nvim",
- -- lazy = false,
- -- dependencies = { "MunifTanjim/nui.nvim" },
- -- opts = {},
- -- },
-}
diff --git a/.config/nvim/lua/config/plugins/leetcode.lua b/.config/nvim/lua/config/plugins/leetcode.lua
new file mode 100644
index 0000000..920aba9
--- /dev/null
+++ b/.config/nvim/lua/config/plugins/leetcode.lua
@@ -0,0 +1,22 @@
+return {
+ "kawre/leetcode.nvim",
+ build = function()
+ if vim.fn.exists(":TSUpdate") == 2 then
+ vim.cmd("TSUpdate html")
+ end
+ end,
+ dependencies = {
+ -- include a picker of your choice, see picker section for more details
+ "nvim-lua/plenary.nvim",
+ "MunifTanjim/nui.nvim",
+ },
+ opts = {
+ -- configuration goes here
+ lang = "rust",
+ storage = {
+ home = vim.fn.expand("~/leetcode"),
+ cache = vim.fn.stdpath("cache") .. "/leetcode",
+ },
+ image_support = false,
+ },
+}
diff --git a/.config/nvim/lua/config/plugins/lsp.lua b/.config/nvim/lua/config/plugins/lsp.lua
index 4d4dcc0..eb812d2 100644
--- a/.config/nvim/lua/config/plugins/lsp.lua
+++ b/.config/nvim/lua/config/plugins/lsp.lua
@@ -138,7 +138,12 @@ return {
[vim.diagnostic.severity.HINT] = "󰌶 ",
},
},
- virtual_text = { current_line = true },
+ virtual_text = {
+ source = "if_many",
+ spacing = 2,
+ },
+ update_in_insert = true,
+ virtual_lines = false,
-- virtual_text = {
-- source = "if_many",
-- spacing = 2,
@@ -164,6 +169,7 @@ return {
-- - capabilities (table): Override fields in capabilities. Can be used to disable certain LSP features.
-- - settings (table): Override the default settings passed when initializing the server.
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
+ local lspconfig_util = require("lspconfig.util")
local servers = {
bashls = {},
marksman = {},
@@ -184,6 +190,13 @@ return {
"--fallback-style={BasedOnStyle: LLVM, IndentWidth: 4, TabWidth: 4, UseTab: Never}",
},
},
+ rust_analyzer = {
+ single_file_support = true,
+ root_dir = function(fname)
+ return lspconfig_util.root_pattern("Cargo.toml", "rust-project.json", ".git")(fname)
+ or vim.fs.dirname(fname)
+ end,
+ },
lua_ls = {},
} -- Ensure the servers and tools above are installed
--
@@ -208,6 +221,7 @@ return {
require("mason-lspconfig").setup({
ensure_installed = {}, -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer)
automatic_installation = false,
+ automatic_enable = false,
handlers = {
function(server_name)
if server_name == "rust_analyzer" then
diff --git a/.config/nvim/lua/config/plugins/notebook.lua b/.config/nvim/lua/config/plugins/notebook.lua
deleted file mode 100644
index f3eff87..0000000
--- a/.config/nvim/lua/config/plugins/notebook.lua
+++ /dev/null
@@ -1,14 +0,0 @@
-return {
- {
- "jeryldev/pyworks.nvim",
- dependencies = {
- "benlubas/molten-nvim",
- "3rd/image.nvim",
- },
- config = function()
- require("pyworks").setup() -- See Configuration section for options
- end,
- lazy = false,
- priority = 100,
- },
-}
diff --git a/.config/nvim/lua/config/plugins/rustacean.lua b/.config/nvim/lua/config/plugins/rustacean.lua
index 849db6e..1187aad 100644
--- a/.config/nvim/lua/config/plugins/rustacean.lua
+++ b/.config/nvim/lua/config/plugins/rustacean.lua
@@ -1,5 +1,29 @@
return {
"mrcjkb/rustaceanvim",
- version = "^6", -- Recommended
+ version = "^8", -- Recommended
lazy = false, -- This plugin is already lazy
+ init = function()
+ local capabilities = vim.lsp.protocol.make_client_capabilities()
+ local ok, blink = pcall(require, "blink.cmp")
+ if ok then
+ capabilities = blink.get_lsp_capabilities(capabilities)
+ end
+
+ vim.g.rustaceanvim = {
+ tools = {
+ enable_clippy = false,
+ },
+ server = {
+ capabilities = capabilities,
+ standalone = true,
+ status_notify_level = false,
+ load_vscode_settings = false,
+ default_settings = {
+ ["rust-analyzer"] = {
+ checkOnSave = false,
+ },
+ },
+ },
+ }
+ end,
}
diff --git a/.config/nvim/lua/config/plugins/snacks.lua b/.config/nvim/lua/config/plugins/snacks.lua
index b83beb9..dd731dd 100644
--- a/.config/nvim/lua/config/plugins/snacks.lua
+++ b/.config/nvim/lua/config/plugins/snacks.lua
@@ -25,6 +25,7 @@ return {
{ icon = " ", key = "f", desc = "Find File", action = ":lua Snacks.dashboard.pick('files')" },
{ icon = " ", key = "g", desc = "Grep", action = ":lua Snacks.dashboard.pick('live_grep')", padding = 1 },
{ icon = " ", key = "n", desc = "New File", action = ":ene | startinsert" },
+ { icon = " ", key = "c", desc = "LeetCode", action = ":Leet" },
{ icon = "󰒲 ", key = "l", desc = "Lazy", action = ":Lazy", enabled = package.loaded.lazy ~= nil },
{ icon = " ", key = "q", desc = "Quit", action = ":qa" },
},
diff --git a/.config/nvim/lua/config/plugins/treesitter.lua b/.config/nvim/lua/config/plugins/treesitter.lua
index 3c95b41..3e866c5 100644
--- a/.config/nvim/lua/config/plugins/treesitter.lua
+++ b/.config/nvim/lua/config/plugins/treesitter.lua
@@ -2,40 +2,42 @@ return {
{
"nvim-treesitter/nvim-treesitter",
event = "VeryLazy",
- build = ":TSUpdate",
- config = function()
- require("nvim-treesitter.configs").setup({
- ensure_installed = {
- "c",
- "lua",
- "vim",
- "vimdoc",
- "query",
- "markdown",
- "markdown_inline",
- "rust",
+ opts = {
+ ensure_installed = {
+ "c",
+ "lua",
+ "vim",
+ "vimdoc",
+ "query",
+ "markdown",
+ "markdown_inline",
+ "rust",
+ "css",
+ "javascript",
+ "svelte",
+ "tsx",
+ "typst",
+ },
+ auto_install = true,
+ incremental_selection = {
+ enable = true,
+ keymaps = {
+ node_incremental = "<Enter>",
+ scope_incremental = false,
+ node_decremental = "<Backspace>",
},
- auto_install = true,
- incremental_selection = {
- enable = true,
- keymaps = {
- node_incremental = "<Enter>",
- scope_incremental = false,
- node_decremental = "<Backspace>",
- },
- },
- highlight = {
- enable = true,
- disable = function(lang, buf)
- local max_filesize = 100 * 1024 -- 100 KB
- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
- if ok and stats and stats.size > max_filesize then
- return true
- end
- end,
- additional_vim_regex_highlighting = false,
- },
- })
- end,
+ },
+ highlight = {
+ enable = true,
+ disable = function(lang, buf)
+ local max_filesize = 100 * 1024 -- 100 KB
+ local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
+ if ok and stats and stats.size > max_filesize then
+ return true
+ end
+ end,
+ additional_vim_regex_highlighting = false,
+ },
+ },
},
}
diff --git a/.config/nvim/lua/mappings.lua b/.config/nvim/lua/mappings.lua
index 25b566a..9f17f28 100644
--- a/.config/nvim/lua/mappings.lua
+++ b/.config/nvim/lua/mappings.lua
@@ -13,6 +13,12 @@ local fzf = require("fzf-lua")
wk.add({
{
mode = { "n" },
+ { "<leader>qr", "<cmd>Leet run<CR>", desc = "Run code" },
+ { "<leader>qs", "<cmd>Leet submit<CR>", desc = "Submit code" },
+ { "<leader>qi", "<cmd>Leet info<CR>", desc = "Get info" },
+ { "<leader>qo", "<cmd>Leet open<CR>", desc = "Open in browser" },
+ { "<leader>qd", "<cmd>Leet desc<CR>", desc = "Toggle decription" },
+ { "<leader>qm", "<cmd>Leet menu<CR>", desc = "Open menu" },
{ "<C-d>", "<C-d>zz", desc = "Move down in buffer with cursor centered" },
{ "<C-u>", "<C-u>zz", desc = "Move up in buffer with cursor centered" },
{ "n", "nzzzv", desc = "Search next with cursor centered" },
@@ -48,7 +54,7 @@ wk.add({
desc = "Search by Grep",
},
{
- "<leader>d",
+ "<leader>h",
function()
require("fzf-lua").lsp_document_diagnostics()
end,
diff --git a/.gitignore-template b/.gitignore-template
new file mode 120000
index 0000000..552d285
--- /dev/null
+++ b/.gitignore-template
@@ -0,0 +1 @@
+.config/.gitignore-template \ No newline at end of file
diff --git a/Brewfile b/Brewfile
new file mode 120000
index 0000000..6018181
--- /dev/null
+++ b/Brewfile
@@ -0,0 +1 @@
+.config/Brewfile \ No newline at end of file
diff --git a/config.yml b/config.yml
new file mode 120000
index 0000000..b5e3f41
--- /dev/null
+++ b/config.yml
@@ -0,0 +1 @@
+.config/config.yml \ No newline at end of file
diff --git a/install.sh b/install.sh
new file mode 120000
index 0000000..3bf3f07
--- /dev/null
+++ b/install.sh
@@ -0,0 +1 @@
+.config/install.sh \ No newline at end of file
diff --git a/starship.toml b/starship.toml
new file mode 120000
index 0000000..9b2f14d
--- /dev/null
+++ b/starship.toml
@@ -0,0 +1 @@
+.config/starship.toml \ No newline at end of file