i use arch btw
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

random bullshit go

+6677 -1743
+1 -1
README.md
··· 86 86 #### Install dotfiles 87 87 ``` 88 88 rm -rf ~/.config/fish 89 - stow -d dotfiles bin cpupower direnv fish git gtk neofetch nvim pacman ripgrep mise starship stow terminator wayland yay 89 + stow -d dotfiles bin cpupower direnv fish git gtk neofetch nvim pacman ripgrep mise starship stow wayland yay ghostty 90 90 ``` 91 91 92 92 #### Use systemd-resolved
+28
alacritty/.config/alacritty/alacritty.toml
··· 1 + [general] 2 + import = ["/usr/share/alacritty/themes/nord.toml"] 3 + 4 + [window] 5 + padding = { x = 8, y = 10 } 6 + dynamic_padding = true 7 + 8 + [font] 9 + normal = { family = "Hack Nerd Font", style = "Regular" } 10 + bold = { family = "Hack Nerd Font", style = "Bold" } 11 + italic = { family = "Hack Nerd Font", style = "Italic" } 12 + bold_italic = { family = "Hack Nerd Font", style = "Bold Italic" } 13 + size = 10 14 + offset = { x = 0, y = 0 } 15 + builtin_box_drawing = true 16 + 17 + [env] 18 + # TERM = "alacritty-direct" 19 + 20 + [terminal] 21 + osc52 = "CopyPaste" 22 + 23 + [keyboard] 24 + bindings = [ 25 + { key = "M", mods = "Control", chars = "\u001b[109;5u" }, 26 + { key = "V", mods = "Control|Shift", action = "Paste" }, 27 + { key = "C", mods = "Control|Shift", action = "Copy" }, 28 + ]
+5 -2
arch-desktop-packages
··· 11 11 bitwarden 12 12 bluez-tools 13 13 bluez-utils 14 - chromium 15 14 cjdns 16 15 cups 17 16 customizepkg-git ··· 41 40 gnome-epub-thumbnailer 42 41 gnome-firmware 43 42 gnome-themes-extra 43 + gnome-shell-extensions 44 44 google-chrome 45 45 google-chrome-dev 46 46 gparted ··· 104 104 otf-latin-modern 105 105 otf-latinmodern-math 106 106 pavucontrol 107 - piper 107 + solaar 108 108 pipewire 109 109 pipewire-alsa 110 110 pipewire-jack ··· 144 144 throttled 145 145 torbrowser-launcher 146 146 tosu 147 + tosu-overlay 147 148 trezor-suite-appimage 148 149 ttf-arphic-uming 149 150 ttf-hack ··· 183 184 qadwaitadecorations-qt5 184 185 qadwaitadecorations-qt6 185 186 keylightd-bin 187 + prismlauncher 188 + btrfs-desktop-notification
+161
arch-installed-aur
··· 1 + adwsteamgtk 2 + air-bin 3 + albert 4 + all-ways-egpu-git 5 + android-sdk-platform-tools 6 + android-studio 7 + aoc-cli 8 + archiso-systemd-boot 9 + arrpc 10 + ast-grep-bin 11 + audacity-plugins 12 + bfg 13 + bifrost-bin 14 + browser-vacuum 15 + c_formatter_42 16 + carapace-bin 17 + carps-cups-git 18 + claude-desktop-bin 19 + cpuid2cpuflags 20 + curl-impersonate-bin 21 + customizepkg-git 22 + datagrip 23 + datagrip-jre 24 + dbgate-bin 25 + ddcui 26 + discord-chat-exporter-gui 27 + docker-credential-secretservice-bin 28 + dotnet-runtime-9.0-bin 29 + dumbpipe-bin 30 + easyeffects-bundy01-presets 31 + electron30-bin 32 + electron34-bin 33 + ffmpeg-audio-thumbnailer 34 + figma-agent-linux-bin 35 + figma-linux-bin 36 + ghostmirror 37 + git-backdate-git 38 + git-cola 39 + gitbutler-bin 40 + glfw-wayland-minecraft-cursorfix 41 + gnome-egpu-git 42 + gnome-shell-extension-argos-git 43 + gnu-netcat 44 + goat-cli 45 + google-chrome 46 + google-chrome-dev 47 + graphite-cli 48 + httptap-bin 49 + inotify-info 50 + java21-openjfx-bin 51 + jdk24-graalvm-ce-bin 52 + jj-spr-git 53 + jsonnet 54 + k0sctl-bin 55 + keybase-bin 56 + keylight-commander-bin 57 + keylight-control 58 + keylight-systray 59 + keylightd-bin 60 + lazydocker-bin 61 + libdeep_filter_ladspa-bin 62 + libinput-gestures 63 + librespeed-cli-bin 64 + linux-apfs-rw-dkms-git 65 + locale-en-nl-git 66 + losslesscut-bin 67 + mailspring-bin 68 + mcaselector 69 + mcat-bin 70 + mcomix 71 + miunlocktool-git 72 + modrinth-app-bin 73 + mpv-thumbfast-git 74 + mpv-uosc 75 + mullvad-vpn-bin 76 + nautilus-bluetooth 77 + neosu-bin 78 + neovim-plenary-git 79 + netpeek 80 + odin4-cli 81 + opencode-bin 82 + osu 83 + osu-lazer-tachyon-bin 84 + p7zip-gui 85 + pacoloco-git 86 + pandoc-bin 87 + pdfjumbler 88 + pkgdu 89 + plex-desktop 90 + plex-mpv-shim 91 + plexamp-appimage 92 + plzip 93 + posy-improved-cursors 94 + powerofforreboot.efi 95 + powershell-bin 96 + powerstat 97 + px_ptop 98 + python-curl-cffi 99 + python-ping3 100 + python-plexapi 101 + python-pylspci 102 + python-trezor-agent-git 103 + q-dns-bin 104 + qadwaitadecorations-qt5 105 + qadwaitadecorations-qt6 106 + quickemu-git 107 + r-quick-share-bin 108 + raw-thumbnailer 109 + rgain3 110 + rslsync 111 + ruby-neovim 112 + rust-nightly-bin 113 + rustdesk-bin 114 + sendme-bin 115 + sequin-bin 116 + sfxr 117 + sfxr-qt-bin 118 + smem 119 + smemstat 120 + soar-bin 121 + somo 122 + spacedrive-bin 123 + spectre-meltdown-checker 124 + speedtest-go 125 + spicetify-cli 126 + spicetify-marketplace-bin 127 + sptlrx-bin 128 + stormy 129 + subtitleedit 130 + sunshine-bin 131 + tana 132 + teamviewer 133 + tetrio-desktop 134 + tosu 135 + tre-command 136 + trezor-suite-appimage 137 + trezor-udev 138 + ttf-hackgen 139 + ttf-twemoji 140 + tuios-bin 141 + twitch-cli-bin 142 + uad-ng-bin 143 + v2rayn 144 + vdu_controls 145 + vencord-hook 146 + vencord-installer-bin 147 + via-bin 148 + vial-appimage 149 + vulkan-caps-viewer-wayland 150 + wait4x-bin 151 + watchman-bin 152 + wget2 153 + woeusb-ng 154 + xcaddy-bin 155 + xiaomitool-v2 156 + xmousepasteblock 157 + xq 158 + yaak-bin 159 + yaycache 160 + ytsubconverter-bin 161 + zswap-cli-git
+516
arch-installed-not-saved
··· 1 + accountsservice 2 + act 3 + adobe-source-han-sans-cn-fonts 4 + adobe-source-han-sans-jp-fonts 5 + adobe-source-han-sans-kr-fonts 6 + adwaita-icon-theme 7 + albert 8 + all-ways-egpu-git 9 + alsa-firmware 10 + alsa-plugins 11 + alsa-utils 12 + amberol 13 + android-studio 14 + aria2 15 + ark 16 + arrpc 17 + asciidoc 18 + atop 19 + audacity-plugins 20 + audio-sharing 21 + authenticator 22 + awesome-terminal-fonts 23 + baobab 24 + bash-completion 25 + bat-extras 26 + bc 27 + betterbird-bin 28 + birdfont 29 + bluez 30 + bluez-hid2hci 31 + bluez-libs 32 + bpftune-git 33 + browser-vacuum 34 + btop 35 + btrfs-assistant 36 + btrfs-progs 37 + bun-bin 38 + cachyos-fish-config 39 + cachyos-gaming-applications 40 + cachyos-gaming-meta 41 + cachyos-hello 42 + cachyos-kdump-tools 43 + cachyos-kernel-manager 44 + cachyos-keyring 45 + cachyos-ksm-settings 46 + cachyos-micro-settings 47 + cachyos-mirrorlist 48 + cachyos-packageinstaller 49 + cachyos-rate-mirrors 50 + cachyos-settings 51 + cachyos-v3-mirrorlist 52 + cachyos-v4-mirrorlist 53 + cachyos-wallpapers 54 + cachyos-zsh-config 55 + cachy-update 56 + calf 57 + carapace-bin 58 + carps-cups-git 59 + chafa 60 + cheese 61 + chntpw 62 + chwd 63 + citations 64 + clairvoyant 65 + clamav 66 + claude-code 67 + claude-desktop-bin 68 + clinfo 69 + cmake 70 + collision 71 + compsize 72 + corectrl 73 + cppdap 74 + cpuid2cpuflags 75 + crash 76 + cryptsetup 77 + csvlens 78 + cups-browsed 79 + cups-filters 80 + cups-pdf 81 + curlie 82 + ddcui 83 + ddcutil 84 + decoder 85 + delve 86 + devhelp 87 + device-mapper 88 + devtools 89 + dhclient 90 + diffutils 91 + discord-chat-exporter-gui 92 + distcc 93 + dmraid 94 + dnsmasq 95 + docker-buildx 96 + docker-credential-secretservice-bin 97 + dosfstools 98 + dotnet-host-bin 99 + dotnet-runtime-9.0-bin 100 + drgn 101 + d-spy 102 + duf 103 + dumbpipe-bin 104 + e2fsprogs 105 + easyeffects 106 + easyeffects-bundy01-presets 107 + efitools 108 + electron30-bin 109 + electron34-bin 110 + elvish 111 + emblem 112 + epiphany 113 + ethtool 114 + evince 115 + evolution 116 + extra-cmake-modules 117 + eyedropper 118 + f2fs-tools 119 + ffmpeg-audio-thumbnailer 120 + file-roller 121 + five-or-more 122 + flameshot 123 + foomatic-db 124 + foomatic-db-engine 125 + foomatic-db-gutenprint-ppds 126 + foomatic-db-nonfree 127 + foomatic-db-nonfree-ppds 128 + foomatic-db-ppds 129 + four-in-a-row 130 + fragments 131 + fretboard 132 + fsarchiver 133 + gdm 134 + gdu 135 + geary 136 + gedit 137 + gemini-cli 138 + geoip 139 + geoip-database 140 + ghex 141 + ghostmirror 142 + ghostscript 143 + git-branchless 144 + gitbutler-bin 145 + git-cola 146 + glade 147 + glances 148 + glfw-wayland-minecraft-cursorfix 149 + gn 150 + gnome-2048 151 + gnome-backgrounds 152 + gnome-boxes 153 + gnome-builder 154 + gnome-calculator 155 + gnome-calendar 156 + gnome-characters 157 + gnome-chess 158 + gnome-clocks 159 + gnome-color-manager 160 + gnome-connections 161 + gnome-contacts 162 + gnome-control-center 163 + gnome-dictionary 164 + gnome-disk-utility 165 + gnome-egpu-git 166 + gnome-font-viewer 167 + gnome-games 168 + gnome-keyring 169 + gnome-klotski 170 + gnome-logs 171 + gnome-mahjongg 172 + gnome-maps 173 + gnome-menus 174 + gnome-mines 175 + gnome-multi-writer 176 + gnome-music 177 + gnome-nettool 178 + gnome-nibbles 179 + gnome-photos 180 + gnome-podcasts 181 + gnome-power-manager 182 + gnome-remote-desktop 183 + gnome-robots 184 + gnome-screenshot 185 + gnome-session 186 + gnome-settings-daemon 187 + gnome-shell 188 + gnome-shell-extension-argos-git 189 + gnome-shell-extensions 190 + gnome-software 191 + gnome-sudoku 192 + gnome-system-monitor 193 + gnome-taquin 194 + gnome-tetravex 195 + gnome-text-editor 196 + gnome-tour 197 + gnome-tweaks 198 + gnome-usage 199 + gnome-user-docs 200 + gnome-user-share 201 + goat-cli 202 + graphite-cli 203 + graphs 204 + grilo-plugins 205 + gsfonts 206 + gst-plugins-bad 207 + gst-plugin-va 208 + gutenprint 209 + gvfs 210 + gvfs-afc 211 + gvfs-dnssd 212 + gvfs-goa 213 + gvfs-google 214 + gvfs-gphoto2 215 + gvfs-mtp 216 + gvfs-nfs 217 + gvfs-onedrive 218 + gvfs-smb 219 + gvfs-wsdd 220 + handbrake 221 + haveged 222 + hdparm 223 + health 224 + help2man 225 + heroic-games-launcher-bin 226 + hexyl 227 + hieroglyphic 228 + hitori 229 + hping 230 + hplip 231 + httpie 232 + httptap-bin 233 + hwdetect 234 + hwinfo 235 + iagno 236 + identity 237 + impression 238 + intel-graphics-compiler 239 + intltool 240 + iotop 241 + iperf3 242 + iptables-nft 243 + iwd 244 + java21-openjfx-bin 245 + jdk21-openjdk 246 + jdk24-graalvm-ce-bin 247 + jfsutils 248 + jj-spr-git 249 + jujutsu 250 + jumpy 251 + kexec-tools 252 + keylight-commander-bin 253 + keylight-control 254 + keylightd-bin 255 + keylight-systray 256 + lact 257 + lapce 258 + less 259 + level-zero-loader 260 + lib32-mesa 261 + lib32-opencl-mesa 262 + lib32-zlib-ng-compat 263 + libdeep_filter_ladspa-bin 264 + libdvdcss 265 + libgsf 266 + libnma 267 + libopenraw 268 + librespeed-cli-bin 269 + libvips 270 + libwnck3 271 + lightsoff 272 + linux-cachyos 273 + linux-cachyos-dbg 274 + linux-cachyos-headers 275 + linux-firmware 276 + linux-firmware-amdgpu 277 + lldb 278 + logrotate 279 + lorem 280 + lsb-release 281 + lsscsi 282 + lua-luv 283 + lvm2 284 + malcontent 285 + mangohud 286 + mangojuice 287 + masscan 288 + mcaselector 289 + mcat-bin 290 + mdadm 291 + meld 292 + mesa 293 + mesa-utils 294 + micro 295 + miunlocktool-git 296 + mkinitcpio 297 + mkinitcpio-firmware 298 + modemmanager 299 + modrinth-app-bin 300 + mokutil 301 + monero-gui 302 + mousai 303 + mtr 304 + mutter 305 + nano 306 + nano-syntax-highlighting 307 + nautilus 308 + neosu-bin 309 + netctl 310 + nethogs 311 + netpeek 312 + netscanner 313 + networkmanager 314 + networkmanager-openvpn 315 + newsflash 316 + nfs-utils 317 + nicotine+ 318 + nilfs-utils 319 + noto-color-emoji-fontconfig 320 + nss-mdns 321 + ntp 322 + nvchecker 323 + obfuscate 324 + octopi 325 + oil 326 + onlyoffice-bin 327 + opencl-headers 328 + opencl-mesa 329 + opencode-bin 330 + opendesktop-fonts 331 + openssh 332 + opus-tools 333 + orca 334 + p7zip-gui 335 + pacman-contrib 336 + pacoloco-git 337 + pandoc-bin 338 + paper-clip 339 + papers 340 + paru 341 + patchelf 342 + pdfjumbler 343 + perl 344 + pika-backup 345 + pipewire-libcamera 346 + pkgdu 347 + playerctl 348 + polari 349 + poppler-glib 350 + powershell-bin 351 + powerstat 352 + powertop 353 + prismlauncher 354 + profile-cleaner 355 + profile-sync-daemon 356 + px_ptop 357 + python 358 + python2 359 + python-curl-cffi 360 + python-defusedxml 361 + python-packaging 362 + python-ping3 363 + python-plexapi 364 + python-pylspci 365 + python-pynvim 366 + python-pyqt5 367 + python-pyqt6-3d 368 + python-pyqt6-charts 369 + python-pyqt6-datavisualization 370 + python-pyqt6-graphs 371 + python-pyqt6-networkauth 372 + python-pyqt6-webengine 373 + python-reportlab 374 + qadwaitadecorations-qt5 375 + qadwaitadecorations-qt6 376 + q-dns-bin 377 + qemu-full 378 + qsv 379 + quadrapassel 380 + quickemu-git 381 + railway 382 + realtime-privileges 383 + rebuild-detector 384 + rtkit 385 + ruby-neovim 386 + rustdesk-bin 387 + rust-nightly-bin 388 + rygel 389 + satty 390 + scrcpy 391 + sg3_utils 392 + share-preview 393 + shortwave 394 + simple-scan 395 + skopeo 396 + smem 397 + smemstat 398 + s-nail 399 + snapper 400 + snapshot 401 + soar-bin 402 + sof-firmware 403 + solaar 404 + solanum 405 + somo 406 + spectre-meltdown-checker 407 + splix 408 + sptlrx-bin 409 + squashfs-tools 410 + squashfuse 411 + stormy 412 + subtitleedit 413 + sudo 414 + sushi 415 + swell-foop 416 + swig 417 + switcheroo 418 + switcheroo-control 419 + sysfsutils 420 + systemd-bootchart 421 + systemd-boot-manager 422 + tali 423 + tana 424 + teamtype 425 + tecla 426 + telegram-desktop 427 + texinfo 428 + textpieces 429 + time 430 + totem 431 + tree-sitter-cli 432 + trezor-udev 433 + ttf-bitstream-vera 434 + ttf-dejavu 435 + ttf-liberation 436 + ttf-meslo-nerd 437 + tuba 438 + tuios-bin 439 + turbostat 440 + twitch-cli-bin 441 + typos 442 + uad-ng-bin 443 + udisks2-btrfs 444 + ufw 445 + upower 446 + usb_modeswitch 447 + usbutils 448 + v2rayn 449 + vdu_controls 450 + ventoy-bin 451 + vi 452 + video-trimmer 453 + vivaldi 454 + vivaldi-ffmpeg-codecs 455 + vivid 456 + vulkan-caps-viewer-wayland 457 + vulkan-swrast 458 + wait4x-bin 459 + warp 460 + watchman-bin 461 + which 462 + wimlib 463 + wireless-regdb 464 + wpa_supplicant 465 + wrangler 466 + xdg-desktop-portal-gnome 467 + xdg-user-dirs 468 + xdg-user-dirs-gtk 469 + xf86-input-libinput 470 + xf86-video-amdgpu 471 + xf86-video-vesa 472 + xfsprogs 473 + xiaomitool-v2 474 + xl2tpd 475 + xmousepasteblock 476 + xorg-bdftopcf 477 + xorg-iceauth 478 + xorg-mkfontscale 479 + xorg-server 480 + xorg-sessreg 481 + xorg-smproxy 482 + xorg-x11perf 483 + xorg-xbacklight 484 + xorg-xcmsdb 485 + xorg-xcursorgen 486 + xorg-xdpyinfo 487 + xorg-xdriinfo 488 + xorg-xev 489 + xorg-xgamma 490 + xorg-xhost 491 + xorg-xinit 492 + xorg-xinput 493 + xorg-xkbevd 494 + xorg-xkbprint 495 + xorg-xkbutils 496 + xorg-xkill 497 + xorg-xlsatoms 498 + xorg-xlsclients 499 + xorg-xlsfonts 500 + xorg-xpr 501 + xorg-xrandr 502 + xorg-xrefresh 503 + xorg-xsetroot 504 + xorg-xvinfo 505 + xorg-xwd 506 + xorg-xwininfo 507 + xorg-xwud 508 + yaak-bin 509 + yarn 510 + yay 511 + yelp 512 + yubikey-personalization-gui 513 + yubikey-touch-detector 514 + zed 515 + zlib-ng-compat 516 + zswap-cli-git
+659
arch-installed-repo
··· 1 + accountsservice 2 + act 3 + adobe-source-code-pro-fonts 4 + adobe-source-han-sans-cn-fonts 5 + adobe-source-han-sans-jp-fonts 6 + adobe-source-han-sans-kr-fonts 7 + adobe-source-sans-fonts 8 + adw-gtk-theme 9 + adwaita-icon-theme 10 + aegisub 11 + alacarte 12 + alsa-firmware 13 + alsa-plugins 14 + alsa-utils 15 + amberol 16 + amdgpu_top 17 + arandr 18 + aria2 19 + ark 20 + asciidoc 21 + atop 22 + audacity 23 + audio-sharing 24 + authenticator 25 + awesome-terminal-fonts 26 + baobab 27 + base 28 + base-devel 29 + bash-completion 30 + bat-extras 31 + bc 32 + betterbird-bin 33 + bind 34 + birdfont 35 + bitwarden 36 + bluez 37 + bluez-hid2hci 38 + bluez-libs 39 + bluez-tools 40 + bluez-utils 41 + bpftune-git 42 + breezy 43 + btop 44 + btrfs-assistant 45 + btrfs-progs 46 + bun-bin 47 + cachy-update 48 + cachyos-fish-config 49 + cachyos-gaming-applications 50 + cachyos-gaming-meta 51 + cachyos-hello 52 + cachyos-kdump-tools 53 + cachyos-kernel-manager 54 + cachyos-keyring 55 + cachyos-ksm-settings 56 + cachyos-micro-settings 57 + cachyos-mirrorlist 58 + cachyos-packageinstaller 59 + cachyos-rate-mirrors 60 + cachyos-settings 61 + cachyos-v3-mirrorlist 62 + cachyos-v4-mirrorlist 63 + cachyos-wallpapers 64 + cachyos-zsh-config 65 + caddy 66 + calf 67 + ccache 68 + chafa 69 + cheese 70 + chntpw 71 + chromium 72 + chwd 73 + citations 74 + cjdns 75 + clairvoyant 76 + clamav 77 + claude-code 78 + clinfo 79 + cmake 80 + collision 81 + compsize 82 + corectrl 83 + cppdap 84 + crash 85 + cryptsetup 86 + csvlens 87 + cups 88 + cups-browsed 89 + cups-filters 90 + cups-pdf 91 + curlie 92 + d-spy 93 + davinci-resolve 94 + dconf-editor 95 + ddcutil 96 + decoder 97 + delve 98 + deno 99 + devhelp 100 + device-mapper 101 + devtools 102 + dhclient 103 + difftastic 104 + diffutils 105 + direnv 106 + discord 107 + distcc 108 + dmidecode 109 + dmraid 110 + dnsmasq 111 + docker 112 + docker-buildx 113 + docker-compose 114 + dos2unix 115 + dosfstools 116 + dotnet-host-bin 117 + downgrade 118 + drgn 119 + duf 120 + e2fsprogs 121 + easyeffects 122 + efibootmgr 123 + efitools 124 + elvish 125 + emblem 126 + entr 127 + eog 128 + epiphany 129 + ethtool 130 + evince 131 + evolution 132 + exfatprogs 133 + extra-cmake-modules 134 + eyedropper 135 + f2fs-tools 136 + f3d 137 + ffmpegthumbnailer 138 + file-roller 139 + firefox-developer-edition 140 + five-or-more 141 + flameshot 142 + flite 143 + foliate 144 + foomatic-db 145 + foomatic-db-engine 146 + foomatic-db-gutenprint-ppds 147 + foomatic-db-nonfree 148 + foomatic-db-nonfree-ppds 149 + foomatic-db-ppds 150 + four-in-a-row 151 + fragments 152 + fretboard 153 + fsarchiver 154 + fwupd 155 + gdm 156 + gdm-settings 157 + gdu 158 + geary 159 + gedit 160 + gemini-cli 161 + geoip 162 + geoip-database 163 + ghex 164 + ghostscript 165 + ghostty 166 + gifsicle 167 + gifski 168 + gimp 169 + git 170 + git-branchless 171 + git-delta 172 + git-filter-repo 173 + git-lfs 174 + github-cli 175 + glade 176 + glances 177 + glow 178 + gn 179 + gnome-2048 180 + gnome-backgrounds 181 + gnome-boxes 182 + gnome-browser-connector 183 + gnome-builder 184 + gnome-calculator 185 + gnome-calendar 186 + gnome-characters 187 + gnome-chess 188 + gnome-clocks 189 + gnome-color-manager 190 + gnome-connections 191 + gnome-contacts 192 + gnome-control-center 193 + gnome-dictionary 194 + gnome-disk-utility 195 + gnome-epub-thumbnailer 196 + gnome-firmware 197 + gnome-font-viewer 198 + gnome-games 199 + gnome-keyring 200 + gnome-klotski 201 + gnome-logs 202 + gnome-mahjongg 203 + gnome-maps 204 + gnome-menus 205 + gnome-mines 206 + gnome-multi-writer 207 + gnome-music 208 + gnome-nettool 209 + gnome-nibbles 210 + gnome-photos 211 + gnome-podcasts 212 + gnome-power-manager 213 + gnome-remote-desktop 214 + gnome-robots 215 + gnome-screenshot 216 + gnome-session 217 + gnome-settings-daemon 218 + gnome-shell 219 + gnome-shell-extensions 220 + gnome-software 221 + gnome-sudoku 222 + gnome-system-monitor 223 + gnome-taquin 224 + gnome-tetravex 225 + gnome-text-editor 226 + gnome-themes-extra 227 + gnome-tour 228 + gnome-tweaks 229 + gnome-usage 230 + gnome-user-docs 231 + gnome-user-share 232 + gparted 233 + gpu-screen-recorder 234 + gpu-screen-recorder-gtk 235 + graphs 236 + grilo-plugins 237 + gsfonts 238 + gst-libav 239 + gst-plugin-pipewire 240 + gst-plugin-va 241 + gst-plugins-bad 242 + gst-plugins-ugly 243 + gthumb 244 + gtk3-demos 245 + gtk4-demos 246 + gum 247 + gutenprint 248 + gvfs 249 + gvfs-afc 250 + gvfs-dnssd 251 + gvfs-goa 252 + gvfs-google 253 + gvfs-gphoto2 254 + gvfs-mtp 255 + gvfs-nfs 256 + gvfs-onedrive 257 + gvfs-smb 258 + gvfs-wsdd 259 + handbrake 260 + haveged 261 + hdparm 262 + health 263 + help2man 264 + heroic-games-launcher-bin 265 + hexyl 266 + hieroglyphic 267 + hitori 268 + hping 269 + hplip 270 + htop 271 + httpie 272 + hunspell-en_us 273 + hunspell-nl 274 + hwdetect 275 + hwinfo 276 + hyperfine 277 + iagno 278 + identity 279 + ijq 280 + impression 281 + inetutils 282 + inferno 283 + inkscape 284 + inotify-tools 285 + intel-gpu-tools 286 + intel-graphics-compiler 287 + intel-media-driver 288 + intel-ucode 289 + intel-undervolt 290 + inter-font 291 + intltool 292 + iotop 293 + iperf3 294 + iptables-nft 295 + iwd 296 + jdk21-openjdk 297 + jfsutils 298 + jujutsu 299 + jumpy 300 + kdenlive 301 + kernel-modules-hook 302 + kexec-tools 303 + kompose 304 + kooha 305 + kruler 306 + kubectl 307 + lact 308 + lapce 309 + lazygit 310 + lbzip2 311 + less 312 + level-zero-loader 313 + lib32-mesa 314 + lib32-opencl-mesa 315 + lib32-vulkan-intel 316 + lib32-vulkan-mesa-layers 317 + lib32-vulkan-radeon 318 + lib32-zlib-ng-compat 319 + libdvdcss 320 + libfido2 321 + libgda6 322 + libgsf 323 + libnma 324 + libopenraw 325 + libotr 326 + libva-utils 327 + libvips 328 + libwnck3 329 + lightsoff 330 + linux-cachyos 331 + linux-cachyos-dbg 332 + linux-cachyos-headers 333 + linux-docs 334 + linux-firmware 335 + linux-firmware-amdgpu 336 + lldb 337 + logrotate 338 + lorem 339 + lostfiles 340 + loupe 341 + lsb-release 342 + lshw 343 + lsix 344 + lsscsi 345 + lua-luv 346 + lvm2 347 + malcontent 348 + man-db 349 + man-pages 350 + mangohud 351 + mangojuice 352 + masscan 353 + mdadm 354 + mediainfo 355 + meld 356 + mesa 357 + mesa-utils 358 + metasploit 359 + micro 360 + mise 361 + mitmproxy 362 + mkcert 363 + mkinitcpio 364 + mkinitcpio-firmware 365 + mkvtoolnix-cli 366 + mkvtoolnix-gui 367 + modemmanager 368 + mokutil 369 + mold 370 + monero-gui 371 + moreutils 372 + mosh 373 + mousai 374 + mpv 375 + mpv-mpris 376 + msr-tools 377 + mtr 378 + mutter 379 + nano 380 + nano-syntax-highlighting 381 + nautilus 382 + nautilus-image-converter 383 + nautilus-python 384 + ncdu 385 + neofetch 386 + neovim-git 387 + netctl 388 + nethogs 389 + netscanner 390 + networkmanager 391 + networkmanager-openvpn 392 + newsflash 393 + nfs-utils 394 + nginx 395 + nicotine+ 396 + nilfs-utils 397 + nload 398 + nmap 399 + noto-color-emoji-fontconfig 400 + noto-fonts 401 + noto-fonts-cjk 402 + noto-fonts-emoji 403 + noto-fonts-extra 404 + npm 405 + nss-mdns 406 + ntp 407 + nvchecker 408 + nvtop 409 + obfuscate 410 + octopi 411 + oil 412 + onlyoffice-bin 413 + opencl-headers 414 + opencl-mesa 415 + opendesktop-fonts 416 + openslide 417 + openssh 418 + optipng 419 + opus-tools 420 + orca 421 + otf-latin-modern 422 + otf-latinmodern-math 423 + pacman-contrib 424 + paper-clip 425 + papers 426 + paru 427 + patchelf 428 + pavucontrol 429 + perf 430 + perl 431 + perl-image-exiftool 432 + perl-rename 433 + pgcli 434 + pigz 435 + pika-backup 436 + piper 437 + pipewire-alsa 438 + pipewire-jack 439 + pipewire-libcamera 440 + pipewire-pulse 441 + playerctl 442 + plocate 443 + pngquant 444 + pnpm 445 + podman 446 + podman-compose 447 + polari 448 + poppler-glib 449 + postgresql 450 + power-profiles-daemon 451 + powertop 452 + prismlauncher 453 + profile-cleaner 454 + profile-sync-daemon 455 + progress 456 + pulumi 457 + pv 458 + python 459 + python-defusedxml 460 + python-packaging 461 + python-pynvim 462 + python-pyqt5 463 + python-pyqt6-3d 464 + python-pyqt6-charts 465 + python-pyqt6-datavisualization 466 + python-pyqt6-graphs 467 + python-pyqt6-networkauth 468 + python-pyqt6-webengine 469 + python-reportlab 470 + python2 471 + qbittorrent 472 + qemu-full 473 + qsv 474 + qt5ct 475 + qt6-wayland 476 + qt6ct 477 + quadrapassel 478 + railway 479 + rclone 480 + realtime-privileges 481 + rebuild-detector 482 + reflector 483 + resources 484 + ripgrep 485 + ripgrep-all 486 + rpi-imager 487 + rsync 488 + rtkit 489 + rygel 490 + s-nail 491 + s-tui 492 + sad 493 + satty 494 + scrcpy 495 + seahorse 496 + seahorse-nautilus 497 + sg3_utils 498 + share-preview 499 + shortwave 500 + shutter 501 + signal-desktop 502 + simple-scan 503 + skopeo 504 + smartmontools 505 + snapper 506 + snapshot 507 + socat 508 + sof-firmware 509 + solaar 510 + solanum 511 + sox 512 + speedtest-cli 513 + splix 514 + spotify-launcher 515 + squashfs-tools 516 + squashfuse 517 + starship 518 + stow 519 + strace 520 + streamlink 521 + stress 522 + sudo 523 + sushi 524 + swell-foop 525 + swig 526 + switcheroo 527 + switcheroo-control 528 + syncthing 529 + sysfsutils 530 + sysstat 531 + system-config-printer 532 + systemd-boot-manager 533 + systemd-bootchart 534 + tailscale 535 + tali 536 + tcpdump 537 + tcpflow 538 + teamtype 539 + tecla 540 + telegram-desktop 541 + terminator 542 + terraform 543 + texinfo 544 + textpieces 545 + throttled 546 + tig 547 + time 548 + tmux 549 + torbrowser-launcher 550 + totem 551 + traceroute 552 + tree 553 + tree-sitter-cli 554 + ttf-arphic-uming 555 + ttf-bitstream-vera 556 + ttf-dejavu 557 + ttf-hack 558 + ttf-hack-nerd 559 + ttf-ibm-plex 560 + ttf-indic-otf 561 + ttf-jetbrains-mono 562 + ttf-liberation 563 + ttf-meslo-nerd 564 + ttf-opensans 565 + ttf-roboto 566 + tuba 567 + turbostat 568 + typos 569 + udisks2-btrfs 570 + ufw 571 + unrar 572 + unzip 573 + upower 574 + usb_modeswitch 575 + usbutils 576 + uv 577 + ventoy-bin 578 + vesktop-bin 579 + vi 580 + video-trimmer 581 + vim 582 + visualvm 583 + vivaldi 584 + vivaldi-ffmpeg-codecs 585 + vivid 586 + vulkan-intel 587 + vulkan-mesa-layers 588 + vulkan-radeon 589 + vulkan-swrast 590 + vulkan-tools 591 + warp 592 + wavegain 593 + websocat 594 + wezterm 595 + wget 596 + which 597 + wimlib 598 + wireguard-tools 599 + wireless-regdb 600 + wireplumber 601 + wireshark-cli 602 + wireshark-qt 603 + wl-clipboard 604 + wpa_supplicant 605 + wrangler 606 + x86_energy_perf_policy 607 + xclip 608 + xdg-desktop-portal-gnome 609 + xdg-user-dirs 610 + xdg-user-dirs-gtk 611 + xf86-input-libinput 612 + xf86-video-amdgpu 613 + xf86-video-vesa 614 + xfsprogs 615 + xl2tpd 616 + xorg-bdftopcf 617 + xorg-iceauth 618 + xorg-mkfontscale 619 + xorg-server 620 + xorg-sessreg 621 + xorg-smproxy 622 + xorg-x11perf 623 + xorg-xbacklight 624 + xorg-xcmsdb 625 + xorg-xcursorgen 626 + xorg-xdpyinfo 627 + xorg-xdriinfo 628 + xorg-xev 629 + xorg-xgamma 630 + xorg-xhost 631 + xorg-xinit 632 + xorg-xinput 633 + xorg-xkbevd 634 + xorg-xkbprint 635 + xorg-xkbutils 636 + xorg-xkill 637 + xorg-xlsatoms 638 + xorg-xlsclients 639 + xorg-xlsfonts 640 + xorg-xpr 641 + xorg-xrandr 642 + xorg-xrefresh 643 + xorg-xsetroot 644 + xorg-xvinfo 645 + xorg-xwd 646 + xorg-xwininfo 647 + xorg-xwud 648 + yarn 649 + yay 650 + yazi 651 + ydotool 652 + yelp 653 + yt-dlp 654 + yubikey-personalization-gui 655 + yubikey-touch-detector 656 + zed 657 + zip 658 + zlib-ng-compat 659 + zoxide
+14
arch-shell-packages
··· 77 77 neofetch 78 78 neovim-git 79 79 neovim-plenary-git 80 + tree-sitter-cli 80 81 nginx 81 82 nload 82 83 nmap ··· 163 164 fnox 164 165 expect 165 166 goat-cli 167 + wait4x-bin 168 + cmake 169 + zig 170 + lld 171 + patchelf 172 + vulkan-headers 173 + valgrind 174 + tesseract-data-eng 175 + upterm 176 + ethtool 177 + whosthere-bin 178 + xh 179 + rebuild-detector
+2 -1
discord/.local/share/applications/discord.desktop
··· 4 4 Comment=All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone. 5 5 GenericName=Internet Messenger 6 6 # Exec=/usr/bin/discord --enable-features=WebRTCPipeWireCapturer,VaapiVideoDecoder --ozone-platform-hint=auto --enable-blink-features=MiddleClickAutoScroll --ignore-gpu-blocklist 7 - Exec=/usr/bin/discord --enable-features=WaylandWindowDecorations,AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder,TouchpadOverscrollHistoryNavigation,PlatformHEVCDecoderSupport,CanvasOopRasterization --ozone-platform-hint=auto --enable-blink-features=MiddleClickAutoscroll --ignore-gpu-blocklist --enable-gpu-rasterization 7 + # Exec=/usr/bin/discord --enable-features=WaylandWindowDecorations,AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder,TouchpadOverscrollHistoryNavigation,PlatformHEVCDecoderSupport,CanvasOopRasterization --ozone-platform-hint=auto --enable-blink-features=MiddleClickAutoscroll --ignore-gpu-blocklist --enable-gpu-rasterization 8 + Exec=prlimit --core=0 -- fish -c 'exec /usr/bin/discord (grep "^[^#]" ~/.config/discord-flags.conf)' 8 9 Icon=discord 9 10 Type=Application 10 11 Categories=Network;InstantMessaging;
+383
etc/bluetooth/main.conf
··· 1 + [General] 2 + 3 + # Default adapter name 4 + # Defaults to 'BlueZ X.YZ' 5 + #Name = BlueZ 6 + 7 + # Default device class. Only the major and minor device class bits are 8 + # considered. Defaults to '0x000000'. 9 + #Class = 0x000100 10 + 11 + # How long to stay in discoverable mode before going back to non-discoverable 12 + # The value is in seconds. Default is 180, i.e. 3 minutes. 13 + # 0 = disable timer, i.e. stay discoverable forever 14 + #DiscoverableTimeout = 0 15 + 16 + # Always allow pairing even if there are no agent registered 17 + # Possible values: true, false 18 + # Default: false 19 + #AlwaysPairable = false 20 + 21 + # How long to stay in pairable mode before going back to non-discoverable 22 + # The value is in seconds. Default is 0. 23 + # 0 = disable timer, i.e. stay pairable forever 24 + #PairableTimeout = 0 25 + 26 + # Use vendor id source (assigner), vendor, product and version information for 27 + # DID profile support. The values are separated by ":" and assigner, VID, PID 28 + # and version. 29 + # Possible vendor id source values: bluetooth, usb (default) or false (disabled) 30 + #DeviceID = bluetooth:1234:5678:abcd 31 + 32 + # Do reverse service discovery for previously unknown devices that connect to 33 + # us. For BR/EDR this option is really only needed for qualification since the 34 + # BITE tester doesn't like us doing reverse SDP for some test cases, for LE 35 + # this disables the GATT client functionally so it can be used in system which 36 + # can only operate as peripheral (see also GATT Client option). 37 + # Defaults to 'true'. 38 + #ReverseServiceDiscovery = true 39 + 40 + # Enable name resolving after inquiry. Set it to 'false' if you don't need 41 + # remote devices name and want shorter discovery cycle. Defaults to 'true'. 42 + #NameResolving = true 43 + 44 + # Enable runtime persistency of debug link keys. Default is false which 45 + # makes debug link keys valid only for the duration of the connection 46 + # that they were created for. 47 + #DebugKeys = false 48 + 49 + # Restricts all controllers to the specified transport. Default value 50 + # is "dual", i.e. both BR/EDR and LE enabled (when supported by the HW). 51 + # Possible values: "dual", "bredr", "le" 52 + #ControllerMode = dual 53 + 54 + # Maximum number of controllers allowed to be exposed to the system. 55 + # Default=0 (unlimited) 56 + #MaxControllers=0 57 + 58 + # Enables Multi Profile Specification support. This allows to specify if 59 + # system supports only Multiple Profiles Single Device (MPSD) configuration 60 + # or both Multiple Profiles Single Device (MPSD) and Multiple Profiles Multiple 61 + # Devices (MPMD) configurations. 62 + # Possible values: "off", "single", "multiple" 63 + #MultiProfile = off 64 + 65 + # Permanently enables the Fast Connectable setting for adapters that 66 + # support it. When enabled other devices can connect faster to us, 67 + # however the tradeoff is increased power consumptions. This feature 68 + # will fully work only on kernel version 4.1 and newer. Defaults to 69 + # 'false'. 70 + FastConnectable = true 71 + 72 + # Default privacy setting. 73 + # Enables use of private address. 74 + # Possible values for LE mode: "off", "network/on", "device" 75 + # Possible values for Dual mode: "off", "network/on", "device", 76 + # "limited-network", "limited-device" 77 + # 78 + # - off: Local privacy disabled. 79 + # 80 + # - network/on: A device will only accept advertising packets from peer 81 + # devices that contain private addresses. It may not be compatible with some 82 + # legacy devices since it requires the use of RPA(s) all the time. 83 + # 84 + # - device: A device in device privacy mode is only concerned about the 85 + # privacy of the device and will accept advertising packets from peer devices 86 + # that contain their Identity Address as well as ones that contain a private 87 + # address, even if the peer device has distributed its IRK in the past. 88 + 89 + # - limited-network: Apply Limited Discoverable Mode to advertising, which 90 + # follows the same policy as to BR/EDR that publishes the identity address when 91 + # discoverable, and Network Privacy Mode for scanning. 92 + # 93 + # - limited-device: Apply Limited Discoverable Mode to advertising, which 94 + # follows the same policy as to BR/EDR that publishes the identity address when 95 + # discoverable, and Device Privacy Mode for scanning. 96 + # 97 + # Defaults to "off" 98 + #Privacy = off 99 + 100 + # Specify the policy to the JUST-WORKS repairing initiated by peer 101 + # Possible values: "never", "confirm", "always" 102 + # Defaults to "never" 103 + #JustWorksRepairing = never 104 + 105 + # How long to keep temporary devices around 106 + # The value is in seconds. Default is 30. 107 + # 0 = disable timer, i.e. temporary devices stay around forever 108 + #TemporaryTimeout = 30 109 + 110 + # Enables the device to issue an SDP request to update known services when 111 + # profile is connected. Defaults to true. 112 + #RefreshDiscovery = true 113 + 114 + # Default Secure Connections setting. 115 + # Enables the Secure Connections setting for adapters that support it. It 116 + # provides better crypto algorithms for BT links and also enables CTKD (cross 117 + # transport key derivation) during pairing on any link. 118 + # Possible values: "off", "on", "only" 119 + # - "off": Secure Connections are disabled 120 + # - "on": Secure Connections are enabled when peer device supports them 121 + # - "only": we allow only Secure Connections 122 + # Defaults to "on" 123 + #SecureConnections = on 124 + 125 + # Enables D-Bus experimental interfaces 126 + # Possible values: true or false 127 + #Experimental = false 128 + 129 + # Enables D-Bus testing interfaces 130 + # Possible values: true or false 131 + #Testing = false 132 + 133 + # Enables kernel experimental features, alternatively a list of UUIDs 134 + # can be given. 135 + # Possible values: true,false,<UUID List> 136 + # Possible UUIDS: 137 + # d4992530-b9ec-469f-ab01-6c481c47da1c (BlueZ Experimental Debug) 138 + # 671b10b5-42c0-4696-9227-eb28d1b049d6 (BlueZ Experimental Simultaneous Central and Peripheral) 139 + # 15c0a148-c273-11ea-b3de-0242ac130004 (BlueZ Experimental LL privacy) 140 + # 330859bc-7506-492d-9370-9a6f0614037f (BlueZ Experimental Bluetooth Quality Report) 141 + # a6695ace-ee7f-4fb9-881a-5fac66c629af (BlueZ Experimental Offload Codecs) 142 + # 6fbaf188-05e0-496a-9885-d6ddfdb4e03e (BlueZ Experimental ISO socket) 143 + # Defaults to false. 144 + #KernelExperimental = false 145 + 146 + # The duration to avoid retrying to resolve a peer's name, if the previous 147 + # try failed. 148 + # The value is in seconds. Default is 300, i.e. 5 minutes. 149 + #RemoteNameRequestRetryDelay = 300 150 + 151 + # Filter out non-discoverable devices based on discoverable flags (General or 152 + # Limited). 153 + # Defaults to true 154 + # Setting to false is only recommended for an use-case where non-discoverable 155 + # device must be enumerated due to some requirement (e.g. not using GAP 156 + # discoverable modes for some odd reason which seems to be the behavior of 157 + # some stacks) or when testing bad/unintended behavior. 158 + #FilterDiscoverable = true 159 + 160 + [BR] 161 + # The following values are used to load default adapter parameters for BR/EDR. 162 + # BlueZ loads the values into the kernel before the adapter is powered if the 163 + # kernel supports the MGMT_LOAD_DEFAULT_PARAMETERS command. If a value isn't 164 + # provided, the kernel will be initialized to it's default value. The actual 165 + # value will vary based on the kernel version and thus aren't provided here. 166 + # The Bluetooth Core Specification should be consulted for the meaning and valid 167 + # domain of each of these values. 168 + 169 + # BR/EDR Page scan activity configuration 170 + #PageScanType= 171 + #PageScanInterval= 172 + #PageScanWindow= 173 + 174 + # BR/EDR Inquiry scan activity configuration 175 + #InquiryScanType= 176 + #InquiryScanInterval= 177 + #InquiryScanWindow= 178 + 179 + # BR/EDR Link supervision timeout 180 + #LinkSupervisionTimeout= 181 + 182 + # BR/EDR Page Timeout 183 + #PageTimeout= 184 + 185 + # BR/EDR Connection Idle Timeout 186 + #IdleTimeout= 187 + 188 + # BR/EDR Sniff Intervals 189 + #MinSniffInterval= 190 + #MaxSniffInterval= 191 + 192 + [LE] 193 + # Enable/Disable Central Address Resolution. 194 + # 0: disable 195 + # 1: enable 196 + # Defaults to 1 197 + #CentralAddressResolution = 1 198 + 199 + # The following values are used to load default adapter parameters for LE. 200 + # BlueZ loads the values into the kernel before the adapter is powered if the 201 + # kernel supports the MGMT_LOAD_DEFAULT_PARAMETERS command. If a value isn't 202 + # provided, the kernel will be initialized to it's default value. The actual 203 + # value will vary based on the kernel version and thus aren't provided here. 204 + # The Bluetooth Core Specification should be consulted for the meaning and valid 205 + # domain of each of these values. 206 + # LE advertisement interval (used for legacy advertisement interface only) 207 + #MinAdvertisementInterval= 208 + #MaxAdvertisementInterval= 209 + #MultiAdvertisementRotationInterval= 210 + 211 + # LE scanning parameters used for passive scanning supporting auto connect 212 + # scenarios 213 + #ScanIntervalAutoConnect= 214 + #ScanWindowAutoConnect= 215 + 216 + # LE scanning parameters used for passive scanning supporting wake from suspend 217 + # scenarios 218 + #ScanIntervalSuspend= 219 + #ScanWindowSuspend= 220 + 221 + # LE scanning parameters used for active scanning supporting discovery 222 + # procedure 223 + #ScanIntervalDiscovery= 224 + #ScanWindowDiscovery= 225 + 226 + # LE scanning parameters used for passive scanning supporting the advertisement 227 + # monitor Apis 228 + #ScanIntervalAdvMonitor= 229 + #ScanWindowAdvMonitor= 230 + 231 + # LE scanning parameters used for connection establishment. 232 + #ScanIntervalConnect= 233 + #ScanWindowConnect= 234 + 235 + # LE default connection parameters. These values are superseded by any 236 + # specific values provided via the Load Connection Parameters interface 237 + #MinConnectionInterval= 238 + #MaxConnectionInterval= 239 + #ConnectionLatency= 240 + #ConnectionSupervisionTimeout= 241 + #Autoconnecttimeout= 242 + 243 + # Scan duration during interleaving scan. Only used when scanning for ADV 244 + # monitors. The units are msec. 245 + # Default: 300 246 + #AdvMonAllowlistScanDuration= 247 + # Default: 500 248 + #AdvMonNoFilterScanDuration= 249 + 250 + # Enable/Disable Advertisement Monitor interleave scan for power saving. 251 + # 0: disable 252 + # 1: enable 253 + # Defaults to 1 254 + #EnableAdvMonInterleaveScan= 255 + 256 + [GATT] 257 + # GATT attribute cache. 258 + # Possible values: 259 + # always: Always cache attributes even for devices not paired, this is 260 + # recommended as it is best for interoperability, with more consistent 261 + # reconnection times and enables proper tracking of notifications for all 262 + # devices. 263 + # yes: Only cache attributes of paired devices. 264 + # no: Never cache attributes 265 + # Default: always 266 + #Cache = always 267 + 268 + # This enables the GATT client functionally, so it can be disabled in system 269 + # which can only operate as a peripheral. 270 + # Defaults to 'true'. 271 + #Client = true 272 + 273 + # Minimum required Encryption Key Size for accessing secured characteristics. 274 + # Possible values: 0 and 7-16. 0 means don't care. 275 + # Defaults to 0 276 + #KeySize = 0 277 + 278 + # Exchange MTU size. 279 + # Possible values: 23-517 280 + # Defaults to 517 281 + #ExchangeMTU = 517 282 + 283 + # Number of ATT channels, 1 is mandatory since it is used for ATT fixed channel 284 + # index 2-6 are used for EATT which is optional. 285 + # Possible values: 1-6 (1 disables EATT) 286 + # Default to 1 287 + #Channels = 1 288 + 289 + # Export claimed services by plugins 290 + # Possible values: no, read-only, read-write 291 + # Default: read-only 292 + #ExportClaimedServices = read-only 293 + 294 + [CSIS] 295 + # SIRK - Set Identification Resolution Key which is common for all the 296 + # sets. They SIRK key is used to identify its sets. This can be any 297 + # 128 bit value or a string value (e.g. product name) which is then hashed. 298 + # Possible Values: 299 + # 16 byte hexadecimal value: 861FAE703ED681F0C50B34155B6434FB 300 + # String value: "My Product Name" 301 + # Defaults to none 302 + #SIRK = 303 + 304 + # SIRK Encryption 305 + # Possible values: 306 + # true: Encrypt SIRK when read 307 + # false: Do not encrypt SIRK when read. (plaintext) 308 + # Defaults to true 309 + #Encryption = true 310 + 311 + # Total no of sets belongs to this Profile 312 + # Defaults to 0 313 + #Size = 0 314 + 315 + # Rank for the device 316 + # Defaults to 0 317 + #Rank = 0 318 + 319 + [AVDTP] 320 + # AVDTP L2CAP Signalling Channel Mode. 321 + # Possible values: 322 + # basic: Use L2CAP Basic Mode 323 + # ertm: Use L2CAP Enhanced Retransmission Mode 324 + #SessionMode = basic 325 + 326 + # AVDTP L2CAP Transport Channel Mode. 327 + # Possible values: 328 + # basic: Use L2CAP Basic Mode 329 + # streaming: Use L2CAP Streaming Mode 330 + #StreamMode = basic 331 + 332 + [AVRCP] 333 + # Allow SetAbsoluteVolume calls to a peer device that does not advertise the 334 + # AVRCP remote control target profile. If it does advertise this profile, the 335 + # version is ignored. 336 + #VolumeWithoutTarget = false 337 + 338 + # Validate that remote AVRCP profiles advertise the category-2 bit before 339 + # allowing SetAbsoluteVolume calls or registering for EVENT_VOLUME_CHANGED 340 + # notifications. 341 + #VolumeCategory = true 342 + 343 + [Policy] 344 + # 345 + # The ReconnectUUIDs defines the set of remote services that should try 346 + # to be reconnected to in case of a link loss (link supervision 347 + # timeout). The policy plugin should contain a sane set of values by 348 + # default, but this list can be overridden here. By setting the list to 349 + # empty the reconnection feature gets disabled. 350 + #ReconnectUUIDs=00001112-0000-1000-8000-00805f9b34fb,0000111f-0000-1000-8000-00805f9b34fb,0000110a-0000-1000-8000-00805f9b34fb,0000110b-0000-1000-8000-00805f9b34fb 351 + 352 + # ReconnectAttempts define the number of attempts to reconnect after a link 353 + # lost. Setting the value to 0 disables reconnecting feature. 354 + #ReconnectAttempts=7 355 + 356 + # ReconnectIntervals define the set of intervals in seconds to use in between 357 + # attempts. 358 + # If the number of attempts defined in ReconnectAttempts is bigger than the 359 + # set of intervals the last interval is repeated until the last attempt. 360 + #ReconnectIntervals=1,2,4,8,16,32,64 361 + 362 + # AutoEnable defines option to enable all controllers when they are found. 363 + # This includes adapters present on start as well as adapters that are plugged 364 + # in later on. Defaults to 'true'. 365 + #AutoEnable=true 366 + 367 + # Audio devices that were disconnected due to suspend will be reconnected on 368 + # resume. ResumeDelay determines the delay between when the controller 369 + # resumes from suspend and a connection attempt is made. A longer delay is 370 + # better for better co-existence with Wi-Fi. 371 + # The value is in seconds. 372 + # Default: 2 373 + #ResumeDelay = 2 374 + 375 + [AdvMon] 376 + # Default RSSI Sampling Period. This is used when a client registers an 377 + # advertisement monitor and leaves the RSSISamplingPeriod unset. 378 + # Possible values: 379 + # 0x00 Report all advertisements 380 + # N = 0xXX Report advertisements every N x 100 msec (range: 0x01 to 0xFE) 381 + # 0xFF Report only one advertisement per device during monitoring period 382 + # Default: 0xFF 383 + #RSSISamplingPeriod=0xFF
+17
etc/fstab
··· 1 + # /etc/fstab: static file system information. 2 + # 3 + # Use 'blkid' to print the universally unique identifier for a device; this may 4 + # be used with UUID= as a more robust way to name devices that works even if 5 + # disks are added and removed. See fstab(5). 6 + # 7 + # <file system> <mount point> <type> <options> <dump> <pass> 8 + UUID=2D39-9861 /boot vfat defaults,umask=0022 0 2 9 + UUID=37680aff-b9f4-40f0-aa2f-11e1bf9453c0 / btrfs subvol=/@,defaults,noatime,compress=zstd,space_cache=v2,commit=120 0 0 10 + UUID=37680aff-b9f4-40f0-aa2f-11e1bf9453c0 /home btrfs subvol=/@home,defaults,noatime,compress=zstd,space_cache=v2,commit=120 0 0 11 + UUID=37680aff-b9f4-40f0-aa2f-11e1bf9453c0 /root btrfs subvol=/@root,defaults,noatime,compress=zstd,space_cache=v2,commit=120 0 0 12 + UUID=37680aff-b9f4-40f0-aa2f-11e1bf9453c0 /srv btrfs subvol=/@srv,defaults,noatime,compress=zstd,space_cache=v2,commit=120 0 0 13 + UUID=37680aff-b9f4-40f0-aa2f-11e1bf9453c0 /var/cache btrfs subvol=/@cache,defaults,noatime,compress=zstd,space_cache=v2,commit=120 0 0 14 + UUID=37680aff-b9f4-40f0-aa2f-11e1bf9453c0 /var/tmp btrfs subvol=/@tmp,defaults,noatime,compress=zstd,space_cache=v2,commit=120 0 0 15 + UUID=37680aff-b9f4-40f0-aa2f-11e1bf9453c0 /var/log btrfs subvol=/@log,defaults,noatime,compress=zstd,space_cache=v2,commit=120 0 0 16 + tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 17 + /swap/swapfile none swap defaults 0 0
+170
etc/makepkg.conf
··· 1 + #!/usr/bin/env bash 2 + # 3 + # /etc/makepkg.conf 4 + # 5 + 6 + chrt -iap 0 $$ 7 + 8 + ######################################################################### 9 + # SOURCE ACQUISITION 10 + ######################################################################### 11 + # 12 + #-- The download utilities that makepkg should use to acquire sources 13 + # Format: 'protocol::agent' 14 + # DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' 15 + # 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' 16 + # 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 17 + # 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 18 + # 'rsync::/usr/bin/rsync --no-motd -z %u %o' 19 + # 'scp::/usr/bin/scp -C %u %o') 20 + DLAGENTS=('ftp::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o --follow-metalink=mem' 21 + 'http::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o --follow-metalink=mem' 22 + 'https::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o --follow-metalink=mem' 23 + 'rsync::/usr/bin/rsync --no-motd -z %u %o' 24 + 'scp::/usr/bin/scp -C %u %o') 25 + 26 + # Other common tools: 27 + # /usr/bin/snarf 28 + # /usr/bin/lftpget -c 29 + # /usr/bin/wget 30 + 31 + #-- The package required by makepkg to download VCS sources 32 + # Format: 'protocol::package' 33 + VCSCLIENTS=('bzr::breezy' 34 + 'fossil::fossil' 35 + 'git::git' 36 + 'hg::mercurial' 37 + 'svn::subversion') 38 + 39 + ######################################################################### 40 + # ARCHITECTURE, COMPILE FLAGS 41 + ######################################################################### 42 + # 43 + CARCH="x86_64" 44 + CHOST="x86_64-pc-linux-gnu" 45 + 46 + #-- Compiler and Linker Flags 47 + #CPPFLAGS="" 48 + CFLAGS="-march=native -O2 -pipe -fno-plt -fexceptions \ 49 + -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \ 50 + -fstack-clash-protection -fcf-protection \ 51 + -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" 52 + CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" 53 + LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \ 54 + -Wl,-z,pack-relative-relocs -fuse-ld=mold -Wl,--separate-debug-file" 55 + LTOFLAGS="-flto=auto" 56 + #-- Make Flags: change this for DistCC/SMP systems 57 + MAKEFLAGS="-j8" 58 + #-- Debugging flags 59 + DEBUG_CFLAGS="-g" 60 + DEBUG_CXXFLAGS="$DEBUG_CFLAGS" 61 + 62 + ######################################################################### 63 + # BUILD ENVIRONMENT 64 + ######################################################################### 65 + # 66 + # Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) 67 + # A negated environment option will do the opposite of the comments below. 68 + # 69 + #-- distcc: Use the Distributed C/C++/ObjC compiler 70 + #-- color: Colorize output messages 71 + #-- ccache: Use ccache to cache compilation 72 + #-- check: Run the check() function if present in the PKGBUILD 73 + #-- sign: Generate PGP signature file 74 + # 75 + BUILDENV=(!distcc color ccache check !sign) 76 + # 77 + #-- If using DistCC, your MAKEFLAGS will also need modification. In addition, 78 + #-- specify a space-delimited list of hosts running in the DistCC cluster. 79 + #DISTCC_HOSTS="bas@haring.bas.sh,cpp,lzo" 80 + # 81 + #-- Specify a directory for package building. 82 + #BUILDDIR=/tmp/makepkg 83 + 84 + ######################################################################### 85 + # GLOBAL PACKAGE OPTIONS 86 + # These are default values for the options=() settings 87 + ######################################################################### 88 + # 89 + # Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps) 90 + # A negated option will do the opposite of the comments below. 91 + # 92 + #-- strip: Strip symbols from binaries/libraries 93 + #-- docs: Save doc directories specified by DOC_DIRS 94 + #-- libtool: Leave libtool (.la) files in packages 95 + #-- staticlibs: Leave static library (.a) files in packages 96 + #-- emptydirs: Leave empty directories in packages 97 + #-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip 98 + #-- purge: Remove files specified by PURGE_TARGETS 99 + #-- debug: Add debugging flags as specified in DEBUG_* variables 100 + #-- lto: Add compile flags for building with link time optimization 101 + #-- autodeps: Automatically add depends/provides 102 + # 103 + OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge debug lto) 104 + 105 + #-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 106 + INTEGRITY_CHECK=(sha256) 107 + #-- Options to be used when stripping binaries. See `man strip' for details. 108 + STRIP_BINARIES="--strip-all" 109 + #-- Options to be used when stripping shared libraries. See `man strip' for details. 110 + STRIP_SHARED="--strip-unneeded" 111 + #-- Options to be used when stripping static libraries. See `man strip' for details. 112 + STRIP_STATIC="--strip-debug" 113 + #-- Manual (man and info) directories to compress (if zipman is specified) 114 + MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) 115 + #-- Doc directories to remove (if !docs is specified) 116 + DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) 117 + #-- Files to be removed from all packages (if purge is specified) 118 + PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) 119 + #-- Directory to store source code in for debug packages 120 + DBGSRCDIR="/usr/src/debug" 121 + #-- Prefix and directories for library autodeps 122 + LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32') 123 + 124 + ######################################################################### 125 + # PACKAGE OUTPUT 126 + ######################################################################### 127 + # 128 + # Default: put built package and cached source in build directory 129 + # 130 + #-- Destination: specify a fixed directory where all packages will be placed 131 + #PKGDEST=/home/packages 132 + #-- Source cache: specify a fixed directory where source files will be cached 133 + #SRCDEST=/home/sources 134 + #-- Source packages: specify a fixed directory where all src packages will be placed 135 + #SRCPKGDEST=/home/srcpackages 136 + #-- Log files: specify a fixed directory where all log files will be placed 137 + #LOGDEST=/home/makepkglogs 138 + #-- Packager: name/email of the person or organization building packages 139 + #PACKAGER="John Doe <john@doe.com>" 140 + #-- Specify a key to use for package signing 141 + #GPGKEY="" 142 + 143 + ######################################################################### 144 + # COMPRESSION DEFAULTS 145 + ######################################################################### 146 + # 147 + COMPRESSGZ=(pigz -c -f -n) 148 + COMPRESSBZ2=(lbzip2 -c -f) 149 + COMPRESSXZ=(xz -c -z -) 150 + COMPRESSZST=(zstd -c -T0 --auto-threads=logical -9 -) 151 + COMPRESSLRZ=(lrzip -q) 152 + COMPRESSLZO=(lzop -q) 153 + COMPRESSZ=(compress -c -f) 154 + COMPRESSLZ4=(lz4 -q) 155 + COMPRESSLZ=(plzip -c -f) 156 + 157 + ######################################################################### 158 + # EXTENSION DEFAULTS 159 + ######################################################################### 160 + # 161 + PKGEXT='.pkg.tar.zst' 162 + SRCEXT='.src.tar.gz' 163 + 164 + ######################################################################### 165 + # OTHER 166 + ######################################################################### 167 + # 168 + #-- Command used to run pacman as root, instead of trying sudo and su 169 + #PACMAN_AUTH=() 170 + # vim: set ft=sh ts=2 sw=2 et:
+19
etc/makepkg.conf.d/rust.conf
··· 1 + #!/hint/bash 2 + # shellcheck disable=2034 3 + 4 + # 5 + # /etc/makepkg.conf.d/rust.conf 6 + # 7 + 8 + ######################################################################### 9 + # RUST LANGUAGE SUPPORT 10 + ######################################################################### 11 + 12 + # Flags used for the Rust compiler, similar in spirit to CFLAGS. Read 13 + # linkman:rustc[1] for more details on the available flags. 14 + RUSTFLAGS="-C opt-level=2 -C target-cpu=native -C force-frame-pointers=yes -C link-arg=-fuse-ld=mold" 15 + 16 + # Additional compiler flags appended to `RUSTFLAGS` for use in debugging. 17 + # Usually this would include: ``-C debuginfo=2''. Read linkman:rustc[1] for 18 + # more details on the available flags. 19 + DEBUG_RUSTFLAGS="-C debuginfo=2"
+101
etc/pacman.conf
··· 1 + # 2 + # /etc/pacman.conf 3 + # 4 + # See the pacman.conf(5) manpage for option and repository directives 5 + 6 + # 7 + # GENERAL OPTIONS 8 + # 9 + [options] 10 + # The following paths are commented out with their default values listed. 11 + # If you wish to use different paths, uncomment and update the paths. 12 + #RootDir = / 13 + #DBPath = /var/lib/pacman/ 14 + #CacheDir = /var/cache/pacman/pkg/ 15 + #LogFile = /var/log/pacman.log 16 + #GPGDir = /etc/pacman.d/gnupg/ 17 + #HookDir = /etc/pacman.d/hooks/ 18 + HoldPkg = pacman glibc 19 + #XferCommand = /usr/bin/curl -L -C - -f -o %o %u 20 + #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u 21 + #XferCommand = /usr/bin/aria2c -UWget -s4 -x4 %u -o %o --allow-overwrite=true --continue=true --file-allocation=none --log-level=error --max-tries=3 --max-file-not-found=5 --min-split-size=5M --no-conf --remote-time=true --timeout=5 --dir=/ 22 + #CleanMethod = KeepInstalled 23 + Architecture = auto 24 + 25 + # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup 26 + #IgnorePkg = 27 + #IgnoreGroup = 28 + 29 + #NoUpgrade = 30 + #NoExtract = 31 + 32 + # Misc options 33 + #UseSyslog 34 + Color 35 + #NoProgressBar 36 + CheckSpace 37 + #VerbosePkgLists 38 + ParallelDownloads = 10 39 + DownloadUser = alpm 40 + #DisableSandbox 41 + ILoveCandy 42 + 43 + # By default, pacman accepts packages signed by keys that its local keyring 44 + # trusts (see pacman-key and its man page), as well as unsigned packages. 45 + SigLevel = Required DatabaseOptional 46 + LocalFileSigLevel = Optional 47 + #RemoteFileSigLevel = Required 48 + 49 + # NOTE: You must run `pacman-key --init` before first using pacman; the local 50 + # keyring can then be populated with the keys of all official Arch Linux 51 + # packagers with `pacman-key --populate archlinux`. 52 + 53 + # 54 + # REPOSITORIES 55 + # - can be defined here or included from another file 56 + # - pacman will search repositories in the order defined here 57 + # - local/custom mirrors can be added here or in separate files 58 + # - repositories listed first will take precedence when packages 59 + # have identical names, regardless of version number 60 + # - URLs will have $repo replaced by the name of the current repo 61 + # - URLs will have $arch replaced by the name of the architecture 62 + # 63 + # Repository entries are of the format: 64 + # [repo-name] 65 + # Server = ServerName 66 + # Include = IncludePath 67 + # 68 + # The header [repo-name] is crucial - it must be present and 69 + # uncommented to enable the repo. 70 + # 71 + 72 + # The testing repositories are disabled by default. To enable, uncomment the 73 + # repo name header and Include lines. You can add preferred servers immediately 74 + # after the header, and they will be used before the default mirrors. 75 + 76 + #[core-testing] 77 + #Include = /etc/pacman.d/mirrorlist 78 + 79 + [core] 80 + Include = /etc/pacman.d/mirrorlist 81 + 82 + #[extra-testing] 83 + #Include = /etc/pacman.d/mirrorlist 84 + 85 + [extra] 86 + Include = /etc/pacman.d/mirrorlist 87 + 88 + # If you want to run 32 bit applications on your x86_64 system, 89 + # enable the multilib repositories as required here. 90 + 91 + #[multilib-testing] 92 + #Include = /etc/pacman.d/mirrorlist 93 + 94 + [multilib] 95 + Include = /etc/pacman.d/mirrorlist 96 + 97 + # An example of a custom package repository. See the pacman manpage for 98 + # tips on creating your own repositories. 99 + #[custom] 100 + #SigLevel = Optional TrustAll 101 + #Server = file:///home/custompkgs
+44
etc/systemd/resolved.conf
··· 1 + # This file is part of systemd. 2 + # 3 + # systemd is free software; you can redistribute it and/or modify it under the 4 + # terms of the GNU Lesser General Public License as published by the Free 5 + # Software Foundation; either version 2.1 of the License, or (at your option) 6 + # any later version. 7 + # 8 + # Entries in this file show the compile time defaults. Local configuration 9 + # should be created by either modifying this file (or a copy of it placed in 10 + # /etc/ if the original file is shipped in /usr/), or by creating "drop-ins" in 11 + # the /etc/systemd/resolved.conf.d/ directory. The latter is generally 12 + # recommended. Defaults can be restored by simply deleting the main 13 + # configuration file and all drop-ins located in /etc/. 14 + # 15 + # Use 'systemd-analyze cat-config systemd/resolved.conf' to display the full config. 16 + # 17 + # See resolved.conf(5) for details. 18 + 19 + [Resolve] 20 + # Some examples of DNS servers which may be used for DNS= and FallbackDNS=: 21 + # Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 2606:4700:4700::1001#cloudflare-dns.com 22 + # Google: 8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.google 2001:4860:4860::8844#dns.google 23 + # Quad9: 9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net 24 + # 25 + # Using DNS= configures global DNS servers and does not suppress link-specific 26 + # configuration. Parallel requests will be sent to per-link DNS servers 27 + # configured automatically by systemd-networkd.service(8), NetworkManager(8), or 28 + # similar management services, or configured manually via resolvectl(1). See 29 + # resolved.conf(5) and systemd-resolved(8) for more details. 30 + DNS=1.1.1.1#cloudflare-dns.com 8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com 2001:4860:4860::8888#dns.google 9.9.9.9#dns.quad9.net 2620:fe::9#dns.quad9.net 31 + FallbackDNS=9.9.9.9#dns.quad9.net 2620:fe::9#dns.quad9.net 1.1.1.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 8.8.8.8#dns.google 2001:4860:4860::8888#dns.google 32 + #Domains= 33 + DNSSEC=yes 34 + DNSOverTLS=yes 35 + #MulticastDNS=yes 36 + #LLMNR=yes 37 + Cache=yes 38 + #CacheFromLocalhost=no 39 + DNSStubListener=yes 40 + #DNSStubListenerExtra= 41 + ReadEtcHosts=yes 42 + #ResolveUnicastSingleLabel=no 43 + #StaleRetentionSec=0 44 + #RefuseRecordTypes=
+1
etc/udev/rules.d/10-trim.rules
··· 1 + ACTION=="add|change", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="4001", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"
+10 -9
fish/.config/fish/completions/bun.fish
··· 35 35 set -l bun_install_boolean_flags yarn production optional development no-save dry-run force no-cache silent verbose global 36 36 set -l bun_install_boolean_flags_descriptions "Write a yarn.lock file (yarn v1)" "Don't install devDependencies" "Add dependency to optionalDependencies" "Add dependency to devDependencies" "Don't update package.json or save a lockfile" "Don't install anything" "Always request the latest versions from the registry & reinstall all dependencies" "Ignore manifest cache entirely" "Don't output anything" "Excessively verbose logging" "Use global folder" 37 37 38 - set -l bun_builtin_cmds_without_run dev create help bun upgrade discord install remove add init pm x 39 - set -l bun_builtin_cmds_accepting_flags create help bun upgrade discord run init link unlink pm x 38 + set -l bun_builtin_cmds_without_run dev create help bun upgrade discord install remove add update init pm x 39 + set -l bun_builtin_cmds_accepting_flags create help bun upgrade discord run init link unlink pm x update 40 40 41 41 function __bun_complete_bins_scripts --inherit-variable bun_builtin_cmds_without_run -d "Emit bun completions for bins and scripts" 42 42 # Do nothing if we already have a builtin subcommand, ··· 143 143 144 144 for i in (seq (count $bun_install_boolean_flags)) 145 145 complete -c bun \ 146 - -n "__fish_seen_subcommand_from install add remove" -l "$bun_install_boolean_flags[$i]" -d "$bun_install_boolean_flags_descriptions[$i]" 146 + -n "__fish_seen_subcommand_from install add remove update" -l "$bun_install_boolean_flags[$i]" -d "$bun_install_boolean_flags_descriptions[$i]" 147 147 end 148 148 149 149 complete -c bun \ 150 - -n "__fish_seen_subcommand_from install add remove" -l cwd -d 'Change working directory' 150 + -n "__fish_seen_subcommand_from install add remove update" -l cwd -d 'Change working directory' 151 151 152 152 complete -c bun \ 153 - -n "__fish_seen_subcommand_from install add remove" -l cache-dir -d 'Choose a cache directory (default: $HOME/.bun/install/cache)' 153 + -n "__fish_seen_subcommand_from install add remove update" -l cache-dir -d 'Choose a cache directory (default: $HOME/.bun/install/cache)' 154 154 155 155 complete -c bun \ 156 156 -n "__fish_seen_subcommand_from add" -d Popular -a '(__fish__get_bun_packages)' ··· 165 165 -n "__fish_seen_subcommand_from pm; and __fish_seen_subcommand_from cache; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts);" -a rm -f 166 166 167 167 # Add built-in subcommands with descriptions. 168 - complete -c bun -n __fish_use_subcommand -a create -f -d "Create a new project from a template" 168 + complete -c bun -n __fish_use_subcommand -a "create c" -f -d "Create a new project from a template" 169 169 complete -c bun -n __fish_use_subcommand -a "build bun" --require-parameter -F -d "Transpile and bundle one or more files" 170 170 complete -c bun -n __fish_use_subcommand -a upgrade -d "Upgrade Bun" 171 171 complete -c bun -n __fish_use_subcommand -a run -d "Run a script or package binary" 172 - complete -c bun -n __fish_use_subcommand -a install -d "Install dependencies from package.json" -f 173 - complete -c bun -n __fish_use_subcommand -a remove -d "Remove a dependency from package.json" -f 174 - complete -c bun -n __fish_use_subcommand -a add -d "Add a dependency to package.json" -f 172 + complete -c bun -n __fish_use_subcommand -a "install i" -d "Install dependencies from package.json" -f 173 + complete -c bun -n __fish_use_subcommand -a "remove rm r" -d "Remove a dependency from package.json" -f 174 + complete -c bun -n __fish_use_subcommand -a "add a" -d "Add a dependency to package.json" -f 175 175 complete -c bun -n __fish_use_subcommand -a init -d "Initialize a Bun project in this directory" -f 176 176 complete -c bun -n __fish_use_subcommand -a link -d "Register or link a local npm package" -f 177 177 complete -c bun -n __fish_use_subcommand -a unlink -d "Unregister a local npm package" -f 178 178 complete -c bun -n __fish_use_subcommand -a pm -d "Additional package management utilities" -f 179 179 complete -c bun -n __fish_use_subcommand -a x -d "Execute a package binary, installing if needed" -f 180 180 complete -c bun -n __fish_use_subcommand -a outdated -d "Display the latest versions of outdated dependencies" -f 181 + complete -c bun -n __fish_use_subcommand -a update -d "Update dependencies to their latest versions" -f 181 182 complete -c bun -n __fish_use_subcommand -a publish -d "Publish your package from local to npm" -f
+88 -17
fish/.config/fish/completions/pnpm.fish
··· 1 - ###-begin-pnpm-completion-### 2 - function _pnpm_completion 3 - set cmd (commandline -o) 4 - set cursor (commandline -C) 5 - set words (count $cmd) 1 + set -g __fish_pnpm_cmdline 2 + set -g __fish_pnpm_remove_cmdline 3 + 4 + set -l deps_commands remove rm why update upgrade up 5 + set -l up_commands update upgrade up 6 + set -l install_commands install i 7 + 8 + complete -c pnpm -f 9 + complete -c pnpm -a "(__get_scripts)" 10 + complete -c pnpm -f -l filter -s F -r -a "$(FEATURE=filter pnpm-shell-completion)" -d 'Select specified packages' 11 + complete -c pnpm -n "__fish_use_subcommand; or __has_filter" -f -a 'add remove install update publish' 12 + complete -c pnpm -n "not __fish_use_subcommand" -F 13 + 14 + # add relative options 15 + complete -c pnpm -n __could_add_global -l global -s g -d 'Install a global package' 16 + complete -c pnpm -n "__fish_seen_subcommand_from add" -l save-dev -s D -d 'Save package to your `devDependencies`' 17 + complete -c pnpm -n "__fish_seen_subcommand_from add" -l save-peer -d 'Save package to your `peerDependencies` and `devDependencies`' 18 + 19 + complete -c pnpm -n "__fish_seen_subcommand_from $deps_commands" -f -a "(__get_deps)" 20 + 21 + complete -c pnpm -n "__fish_seen_subcommand_from $install_commands" -l dev -s D -d 'Only `devDependencies` are installed regardless of the `NODE_ENV`' 22 + complete -c pnpm -n "__fish_seen_subcommand_from $install_commands" -l fix-lockfile -d 'Fix broken lockfile entries automatically' 23 + complete -c pnpm -n "__fish_seen_subcommand_from $install_commands" -l force -d 'Force reinstall dependencies' 24 + complete -c pnpm -n "__fish_seen_subcommand_from $install_commands" -l ignore-scripts -d "Don't run lifecycle scripts" 25 + complete -c pnpm -n "__fish_seen_subcommand_from $install_commands" -l lockfile-only -d 'Dependencies are not downloaded. Only `pnpm-lock.yaml` is updated' 26 + complete -c pnpm -n "__fish_seen_subcommand_from $install_commands" -l no-optional -d '`optionalDependencies` are not installed' 27 + complete -c pnpm -n "__fish_seen_subcommand_from $install_commands" -l offline -d 'Trigger an error if any required dependencies are not available in local store' 28 + complete -c pnpm -n "__fish_seen_subcommand_from $install_commands" -l prefer-offline -d 'Skip staleness checks for cached data, but request missing data from the server' 29 + complete -c pnpm -n "__fish_seen_subcommand_from $install_commands" -l prod -s D -d "Packages in `devDependencies` won't be installed" 30 + 31 + complete -c pnpm -n "__fish_seen_subcommand_from $up_commands" -l save-dev -s D -d 'Update packages only in "devDependencies"' 32 + complete -c pnpm -n "__fish_seen_subcommand_from $up_commands" -l interactive -s i -d 'Show outdated dependencies and select which ones to update' 33 + complete -c pnpm -n "__fish_seen_subcommand_from $up_commands" -l latest -s L -d 'Ignore version ranges in package.json' 34 + complete -c pnpm -n "__fish_seen_subcommand_from $up_commands" -l no-optional -d "Don't update packages in `optionalDependencies`" 35 + complete -c pnpm -n "__fish_seen_subcommand_from $up_commands" -l prod -s P -d 'Update packages only in "dependencies" and "optionalDependencies"' 36 + complete -c pnpm -n "__fish_seen_subcommand_from $up_commands" -l recursive -s r -d 'Update in every package found in subdirectories or every workspace package' 37 + 38 + complete -c pnpm -n "__fish_seen_subcommand_from publish" -l access -x -a 'public restricted' -d 'Tells the registry whether this package should be published as public or restricted' 39 + complete -c pnpm -n "__fish_seen_subcommand_from publish" -l dry-run -d 'Does everything a publish would do except actually publishing to the registry' 40 + complete -c pnpm -n "__fish_seen_subcommand_from publish" -l force -d 'Packages are proceeded to be published even if their current version is already in the registry' 41 + complete -c pnpm -n "__fish_seen_subcommand_from publish" -l ignore-scripts -d 'Ignores any publish related lifecycle scripts (prepublishOnly, postpublish, and the like)' 42 + complete -c pnpm -n "__fish_seen_subcommand_from publish" -l no-git-checks -d "Don't check if current branch is your publish branch, clean, and up to date" 43 + complete -c pnpm -n "__fish_seen_subcommand_from publish" -l otp -d 'Specify a one-time password' 44 + complete -c pnpm -n "__fish_seen_subcommand_from publish" -l publish-branch -d 'Sets branch name to publish' 45 + complete -c pnpm -n "__fish_seen_subcommand_from publish" -l recursive -s r -d 'Publish all packages from the workspace' 46 + complete -c pnpm -n "__fish_seen_subcommand_from publish" -l tag -x -d 'Registers the published package with the given tag' 47 + 48 + function __get_scripts 49 + set -l cmdline (commandline -c) 50 + if set -q __fish_pnpm_cmdline; and test "$cmdline" = "$__fish_pnpm_cmdline" 51 + return 0 52 + end 53 + 54 + set -g __fish_pnpm_cmdline $cmdline 6 55 7 - set completions (eval env DEBUG=\"" \"" COMP_CWORD=\""$words\"" COMP_LINE=\""$cmd \"" COMP_POINT=\""$cursor\"" SHELL=fish pnpm completion-server -- $cmd) 56 + set -l tokens (commandline -opc) 57 + set -e tokens[1] # assume the first token is `pnpm` 58 + argparse 'F/filter=' -- $tokens 2>/dev/null 59 + TARGET_PKG=$_flag_filter FEATURE=scripts pnpm-shell-completion 60 + end 8 61 9 - if [ "$completions" = "__tabtab_complete_files__" ] 10 - set -l matches (commandline -ct)* 11 - if [ -n "$matches" ] 12 - __fish_complete_path (commandline -ct) 13 - end 14 - else 15 - for completion in $completions 16 - echo -e $completion 17 - end 62 + function __get_deps 63 + set -l cmdline (commandline -c) 64 + if set -q __fish_pnpm_remove_cmdline; and test "$cmdline" = "$__fish_pnpm_remove_cmdline" 65 + return 0 18 66 end 67 + 68 + set -g __fish_pnpm_remove_cmdline $cmdline 69 + 70 + set -l tokens (commandline -opc) 71 + set -e tokens[1] # assume the first token is `pnpm` 72 + argparse 'F/filter=' -- $tokens 2>/dev/null 73 + TARGET_PKG=$_flag_filter FEATURE=deps pnpm-shell-completion 19 74 end 20 75 21 - complete -f -d 'pnpm' -c pnpm -a "(_pnpm_completion)" 22 - ###-end-pnpm-completion-### 76 + function __has_filter 77 + set -l tokens (commandline -opc) 78 + set -e tokens[1] # assume the first token is `pnpm` 79 + argparse 'F/filter=' -- $tokens 2>/dev/null 80 + if not count $_flag_filter 81 + return 1 82 + end 83 + return 0 84 + end 23 85 86 + function __could_add_global 87 + if __has_filter 88 + return 1 89 + end 90 + if __fish_seen_subcommand_from add 91 + return 0 92 + end 93 + return 1 94 + end
+14
fish/.config/fish/conf.d/fish_frozen_key_bindings.fish
··· 1 + # This file was created by fish when upgrading to version 4.3, to migrate 2 + # the 'fish_key_bindings' variable from its old default scope (universal) 3 + # to its new default scope (global). We recommend you delete this file 4 + # and configure key bindings in ~/.config/fish/config.fish if needed. 5 + 6 + set --global fish_key_bindings fish_hybrid_key_bindings 7 + 8 + # Prior to version 4.3, fish shipped an event handler that runs 9 + # `set --universal fish_key_bindings fish_default_key_bindings` 10 + # whenever the fish_key_bindings variable is erased. 11 + # This means that as long as any fish < 4.3 is still running on this system, 12 + # we cannot complete the migration. 13 + # As a workaround, erase the universal variable at every shell startup. 14 + set --erase --universal fish_key_bindings
+48
fish/.config/fish/conf.d/fish_frozen_theme.fish
··· 1 + # This file was created by fish when upgrading to version 4.3, to migrate 2 + # theme variables from universal to global scope. 3 + # Don't edit this file, as it will be written by the web-config tool (`fish_config`). 4 + # To customize your theme, delete this file and see 5 + # help interactive#syntax-highlighting 6 + # or 7 + # man fish-interactive | less +/^SYNTAX.HIGHLIGHTING 8 + # for appropriate commands to add to ~/.config/fish/config.fish instead. 9 + # See also the release notes for fish 4.3.0 (run `help relnotes`). 10 + 11 + set --global fish_color_autosuggestion 4c566a 12 + set --global fish_color_cancel --reverse 13 + set --global fish_color_command 88c0d0 14 + set --global fish_color_comment 4c566a --italics 15 + set --global fish_color_cwd 5e81ac 16 + set --global fish_color_cwd_root bf616a 17 + set --global fish_color_end 81a1c1 18 + set --global fish_color_error bf616a 19 + set --global fish_color_escape ebcb8b 20 + set --global fish_color_history_current e5e9f0 --bold 21 + set --global fish_color_host a3be8c 22 + set --global fish_color_host_remote 23 + set --global fish_color_keyword 24 + set --global fish_color_match --background=brblue 25 + set --global fish_color_normal normal 26 + set --global fish_color_operator 81a1c1 27 + set --global fish_color_option 28 + set --global fish_color_param d8dee9 29 + set --global fish_color_quote a3be8c 30 + set --global fish_color_redirection b48ead --bold 31 + set --global fish_color_search_match --bold --background=434c5e 32 + set --global fish_color_selection d8dee9 --bold --background=434c5e 33 + set --global fish_color_status red 34 + set --global fish_color_user a3be8c 35 + set --global fish_color_valid_path --underline 36 + set --global fish_pager_color_background 37 + set --global fish_pager_color_completion e5e9f0 38 + set --global fish_pager_color_description ebcb8b --italics 39 + set --global fish_pager_color_prefix normal --bold --underline 40 + set --global fish_pager_color_progress 3b4252 --background=d08770 41 + set --global fish_pager_color_secondary_background 42 + set --global fish_pager_color_secondary_completion 43 + set --global fish_pager_color_secondary_description 44 + set --global fish_pager_color_secondary_prefix 45 + set --global fish_pager_color_selected_background --background=434c5e 46 + set --global fish_pager_color_selected_completion 47 + set --global fish_pager_color_selected_description 48 + set --global fish_pager_color_selected_prefix
+30 -1
fish/.config/fish/config.fish
··· 53 53 type -q atuin && atuin init fish --disable-up-arrow | source 54 54 type -q keylightctl && keylightctl completion fish | source 55 55 56 + # why does this break autocomplete for the tmux command 57 + # test ! -e "$HOME/.x-cmd.root/local/data/fish/rc.fish" || source "$HOME/.x-cmd.root/local/data/fish/rc.fish" 58 + 59 + # functions -c fish_prompt __fish_prompt 60 + # function fish_prompt 61 + # set _status $status 62 + # echo "check $(date +%s%3N) $did_tmux_restore" | systemd-cat 63 + # if set -q did_tmux_restore 64 + # # functions -e fish_prompt 65 + # # functions -c __fish_prompt fish_prompt 66 + # # functions -e __fish_prompt 67 + # # printf '\e[u' 68 + # return 69 + # else 70 + # # forwarding the original $status to the actual prompt 71 + # test $_status -eq 0 72 + # __fish_prompt 73 + # # printf '\e[s' 74 + # end 75 + # end 76 + 56 77 if test -e $__fish_user_data_dir/plugins/plug.fish/conf.d/plugin_load.fish 57 78 source $__fish_user_data_dir/plugins/plug.fish/conf.d/plugin_load.fish 58 79 else 59 80 if not set -q plugins 60 - set -U plugins https://github.com/kidonng/plug.fish 81 + set -Ux plugins https://github.com/kidonng/plug.fish 61 82 end 62 83 curl -L https://github.com/kidonng/plug.fish/raw/v3/conf.d/plugin_load.fish | source 63 84 end ··· 80 101 end 81 102 end 82 103 104 + function last_history_item 105 + echo $history[1] 106 + end 107 + abbr -a !! --position anywhere --function last_history_item 108 + 109 + # TODO: fix empty line on suspending again 110 + # bind -M insert \cz 'functions -c fish_job_summary _fish_job_summary; function fish_job_summary; end; fg 2>/dev/null; commandline -f repaint; functions -e fish_job_summary; functions -c _fish_job_summary fish_job_summary; functions -e _fish_job_summary' 111 + bind -M insert \cz 'fg; commandline -f repaint'
+14 -44
fish/.config/fish/fish_variables
··· 3 3 SETUVAR --export ABBR_TIPS_PROMPT:\x5cn\U0001f4a1\x20\x5ce\x5b1m\x7b\x7b\x20\x2eabbr\x20\x7d\x7d\x5ce\x5b0m\x20\x3d\x3e\x20\x7b\x7b\x20\x2ecmd\x20\x7d\x7d 4 4 SETUVAR --export ABBR_TIPS_REGEXES:\x28\x5e\x28\x5cw\x2b\x5cs\x2b\x29\x2b\x28\x2d\x7b1\x2c2\x7d\x29\x5cw\x2b\x29\x28\x5cs\x5cS\x2b\x29\x1e\x28\x5e\x28\x5cs\x3f\x28\x5cw\x2d\x3f\x29\x2b\x29\x7b3\x7d\x29\x2e\x2a\x1e\x28\x5e\x28\x5cs\x3f\x28\x5cw\x2d\x3f\x29\x2b\x29\x7b2\x7d\x29\x2e\x2a\x1e\x28\x5e\x28\x5cs\x3f\x28\x5cw\x2d\x3f\x29\x2b\x29\x7b1\x7d\x29\x2e\x2a 5 5 SETUVAR --export ANDROID_HOME:/home/bas/Android/Sdk 6 + SETUVAR --export ANDROID_NDK:/opt/android\x2dndk 7 + SETUVAR --export ANDROID_NDK_HOME:/opt/android\x2dndk 8 + SETUVAR --export ANDROID_NDK_ROOT:/opt/android\x2dndk 6 9 SETUVAR --export BAT_THEME:Nord 7 10 SETUVAR --export CARAPACE_BRIDGES:cobra\x2czsh\x2cfish\x2cbash\x2cinshellisense 8 11 SETUVAR --export CARAPACE_UNFILTERED:1 ··· 21 24 SETUVAR --export LIBVA_DRIVER_NAME:iHD 22 25 SETUVAR --export LS_COLORS:no\x3d00\x3ars\x3d0\x3afi\x3d00\x3adi\x3d01\x3b34\x3aln\x3d36\x3amh\x3d04\x3b36\x3api\x3d04\x3b01\x3b36\x3aso\x3d04\x3b33\x3ado\x3d04\x3b01\x3b36\x3abd\x3d01\x3b33\x3acd\x3d33\x3aor\x3d31\x3ami\x3d01\x3b37\x3b41\x3aex\x3d01\x3b36\x3asu\x3d01\x3b04\x3b37\x3asg\x3d01\x3b04\x3b37\x3aca\x3d01\x3b37\x3atw\x3d01\x3b37\x3b44\x3aow\x3d01\x3b04\x3b34\x3ast\x3d04\x3b37\x3b44\x3a\x2a\x2e7z\x3d01\x3b32\x3a\x2a\x2eace\x3d01\x3b32\x3a\x2a\x2ealz\x3d01\x3b32\x3a\x2a\x2earc\x3d01\x3b32\x3a\x2a\x2earj\x3d01\x3b32\x3a\x2a\x2ebz\x3d01\x3b32\x3a\x2a\x2ebz2\x3d01\x3b32\x3a\x2a\x2ecab\x3d01\x3b32\x3a\x2a\x2ecpio\x3d01\x3b32\x3a\x2a\x2edeb\x3d01\x3b32\x3a\x2a\x2edz\x3d01\x3b32\x3a\x2a\x2eear\x3d01\x3b32\x3a\x2a\x2egz\x3d01\x3b32\x3a\x2a\x2ejar\x3d01\x3b32\x3a\x2a\x2elha\x3d01\x3b32\x3a\x2a\x2elrz\x3d01\x3b32\x3a\x2a\x2elz\x3d01\x3b32\x3a\x2a\x2elz4\x3d01\x3b32\x3a\x2a\x2elzh\x3d01\x3b32\x3a\x2a\x2elzma\x3d01\x3b32\x3a\x2a\x2elzo\x3d01\x3b32\x3a\x2a\x2erar\x3d01\x3b32\x3a\x2a\x2erpm\x3d01\x3b32\x3a\x2a\x2erz\x3d01\x3b32\x3a\x2a\x2esar\x3d01\x3b32\x3a\x2a\x2et7z\x3d01\x3b32\x3a\x2a\x2etar\x3d01\x3b32\x3a\x2a\x2etaz\x3d01\x3b32\x3a\x2a\x2etbz\x3d01\x3b32\x3a\x2a\x2etbz2\x3d01\x3b32\x3a\x2a\x2etgz\x3d01\x3b32\x3a\x2a\x2etlz\x3d01\x3b32\x3a\x2a\x2etxz\x3d01\x3b32\x3a\x2a\x2etz\x3d01\x3b32\x3a\x2a\x2etzo\x3d01\x3b32\x3a\x2a\x2etzst\x3d01\x3b32\x3a\x2a\x2ewar\x3d01\x3b32\x3a\x2a\x2exz\x3d01\x3b32\x3a\x2a\x2ez\x3d01\x3b32\x3a\x2a\x2eZ\x3d01\x3b32\x3a\x2a\x2ezip\x3d01\x3b32\x3a\x2a\x2ezoo\x3d01\x3b32\x3a\x2a\x2ezst\x3d01\x3b32\x3a\x2a\x2eaac\x3d32\x3a\x2a\x2eau\x3d32\x3a\x2a\x2eflac\x3d32\x3a\x2a\x2em4a\x3d32\x3a\x2a\x2emid\x3d32\x3a\x2a\x2emidi\x3d32\x3a\x2a\x2emka\x3d32\x3a\x2a\x2emp3\x3d32\x3a\x2a\x2empa\x3d32\x3a\x2a\x2empeg\x3d32\x3a\x2a\x2empg\x3d32\x3a\x2a\x2eogg\x3d32\x3a\x2a\x2eopus\x3d32\x3a\x2a\x2era\x3d32\x3a\x2a\x2ewav\x3d32\x3a\x2a\x2e3des\x3d01\x3b35\x3a\x2a\x2eaes\x3d01\x3b35\x3a\x2a\x2egpg\x3d01\x3b35\x3a\x2a\x2epgp\x3d01\x3b35\x3a\x2a\x2edoc\x3d32\x3a\x2a\x2edocx\x3d32\x3a\x2a\x2edot\x3d32\x3a\x2a\x2eodg\x3d32\x3a\x2a\x2eodp\x3d32\x3a\x2a\x2eods\x3d32\x3a\x2a\x2eodt\x3d32\x3a\x2a\x2eotg\x3d32\x3a\x2a\x2eotp\x3d32\x3a\x2a\x2eots\x3d32\x3a\x2a\x2eott\x3d32\x3a\x2a\x2epdf\x3d32\x3a\x2a\x2eppt\x3d32\x3a\x2a\x2epptx\x3d32\x3a\x2a\x2exls\x3d32\x3a\x2a\x2exlsx\x3d32\x3a\x2a\x2eapp\x3d01\x3b36\x3a\x2a\x2ebat\x3d01\x3b36\x3a\x2a\x2ebtm\x3d01\x3b36\x3a\x2a\x2ecmd\x3d01\x3b36\x3a\x2a\x2ecom\x3d01\x3b36\x3a\x2a\x2eexe\x3d01\x3b36\x3a\x2a\x2ereg\x3d01\x3b36\x3a\x2a\x7e\x3d02\x3b37\x3a\x2a\x2ebak\x3d02\x3b37\x3a\x2a\x2eBAK\x3d02\x3b37\x3a\x2a\x2elog\x3d02\x3b37\x3a\x2a\x2elog\x3d02\x3b37\x3a\x2a\x2eold\x3d02\x3b37\x3a\x2a\x2eOLD\x3d02\x3b37\x3a\x2a\x2eorig\x3d02\x3b37\x3a\x2a\x2eORIG\x3d02\x3b37\x3a\x2a\x2eswo\x3d02\x3b37\x3a\x2a\x2eswp\x3d02\x3b37\x3a\x2a\x2ebmp\x3d32\x3a\x2a\x2ecgm\x3d32\x3a\x2a\x2edl\x3d32\x3a\x2a\x2edvi\x3d32\x3a\x2a\x2eemf\x3d32\x3a\x2a\x2eeps\x3d32\x3a\x2a\x2egif\x3d32\x3a\x2a\x2ejpeg\x3d32\x3a\x2a\x2ejpg\x3d32\x3a\x2a\x2eJPG\x3d32\x3a\x2a\x2emng\x3d32\x3a\x2a\x2epbm\x3d32\x3a\x2a\x2epcx\x3d32\x3a\x2a\x2epgm\x3d32\x3a\x2a\x2epng\x3d32\x3a\x2a\x2ePNG\x3d32\x3a\x2a\x2eppm\x3d32\x3a\x2a\x2epps\x3d32\x3a\x2a\x2eppsx\x3d32\x3a\x2a\x2eps\x3d32\x3a\x2a\x2esvg\x3d32\x3a\x2a\x2esvgz\x3d32\x3a\x2a\x2etga\x3d32\x3a\x2a\x2etif\x3d32\x3a\x2a\x2etiff\x3d32\x3a\x2a\x2exbm\x3d32\x3a\x2a\x2excf\x3d32\x3a\x2a\x2expm\x3d32\x3a\x2a\x2exwd\x3d32\x3a\x2a\x2exwd\x3d32\x3a\x2a\x2eyuv\x3d32\x3a\x2a\x2eanx\x3d32\x3a\x2a\x2easf\x3d32\x3a\x2a\x2eavi\x3d32\x3a\x2a\x2eaxv\x3d32\x3a\x2a\x2eflc\x3d32\x3a\x2a\x2efli\x3d32\x3a\x2a\x2eflv\x3d32\x3a\x2a\x2egl\x3d32\x3a\x2a\x2em2v\x3d32\x3a\x2a\x2em4v\x3d32\x3a\x2a\x2emkv\x3d32\x3a\x2a\x2emov\x3d32\x3a\x2a\x2eMOV\x3d32\x3a\x2a\x2emp4\x3d32\x3a\x2a\x2empeg\x3d32\x3a\x2a\x2empg\x3d32\x3a\x2a\x2enuv\x3d32\x3a\x2a\x2eogm\x3d32\x3a\x2a\x2eogv\x3d32\x3a\x2a\x2eogx\x3d32\x3a\x2a\x2eqt\x3d32\x3a\x2a\x2erm\x3d32\x3a\x2a\x2ermvb\x3d32\x3a\x2a\x2eswf\x3d32\x3a\x2a\x2evob\x3d32\x3a\x2a\x2ewebm\x3d32\x3a\x2a\x2ewmv\x3d32\x3a 23 26 SETUVAR --export MANPAGER:nvim\x20\x2bMan\x21 27 + SETUVAR --export MISE_DISABLE_TOOLS:java 28 + SETUVAR --export OPENJFX_JAVA_OPTIONS:\x2dDjava\x2elibrary\x2epath\x3d/usr/lib/java\x2dopenjfx\x20\x2d\x2dmodule\x2dpath\x3d/usr/share/java/java\x2dopenjfx 29 + SETUVAR --export --path OPENJFX_LIBRARY_PATH:/usr/lib/java\x2dopenjfx 30 + SETUVAR --export --path OPENJFX_MODULES_PATH:/usr/share/java/java\x2dopenjfx 31 + SETUVAR --export PULUMI_ENABLE_JOURNALING:true 32 + SETUVAR --export PYTHONBREAKPOINT:ipdb\x2eset_trace 24 33 SETUVAR --export QT_API:pyqt6 25 34 SETUVAR --export QT_QPA_PLATFORM:wayland 26 35 SETUVAR --export QT_QUICK_BACKEND:opengl ··· 31 40 SETUVAR --export SYSTEMD_EDITOR:nvim 32 41 SETUVAR --export TERMINAL:ghostty 33 42 SETUVAR --export ZSTD_NBTHREADS:8 34 - SETUVAR --export __ABBR_TIPS_KEYS:a__\x3aq\x1ea__but\x1ea__choco\x1ea__fastboot\x1ea__fish_vi_dec\x1ea__fish_vi_inc\x1ea__gsudo\x1ea__ip\x1ea__jj\x2dstack\x1ea__jst\x1ea__keybase\x1ea__paco\x1ea__rg\x1ea__t\x1ea__winget\x1ea__z\x1ea__zi 35 - SETUVAR --export __ABBR_TIPS_VALUES:exit\x1egitbutler\x2dtauri\x1echoco\x2eexe\x1efastboot\x2eexe\x1efish_vi_inc_dec\x20dec\x1efish_vi_inc_dec\x20inc\x1esudo\x2eexe\x1eip\x20\x2d\x2dcolor\x3dauto\x1ebunx\x20jj\x2dstack\x1ebunx\x20jj\x2dstack\x1ekeybase\x2eexe\x1e/Volumes/T7/francinette/tester\x2esh\x1erg\x20\x2dS\x1etmux\x1ecmd\x2eexe\x20/c\x20winget\x2eexe\x1e__zoxide_z\x1e__zoxide_zi 36 - SETUVAR __fish_initialized:3800 43 + SETUVAR --export __ABBR_TIPS_KEYS:a__\x2c\x1ea__\x2c\x2c\x1ea__\x3aq\x1ea__but\x1ea__choco\x1ea__diff\x1ea__fastboot\x1ea__gsudo\x1ea__ip\x1ea__jj\x2dstack\x1ea__jst\x1ea__keybase\x1ea__paco\x1ea__rg\x1ea__t\x1ea__winget\x1ea__z\x1ea__zi\x1ea__\uff0c\x1ea__\uff0c\uff0c 44 + SETUVAR --export __ABBR_TIPS_VALUES:___x_cmd\x20fish\x20\x2d\x2dsysco\x1e___x_cmd\x20fish\x20\x2d\x2dsyscoco\x1eexit\x1egitbutler\x2dtauri\x1echoco\x2eexe\x1ediff\x20\x2d\x2dwidth\x3d\x28tput\x20cols\x29\x1efastboot\x2eexe\x1esudo\x2eexe\x1eip\x20\x2d\x2dcolor\x3dauto\x1ebunx\x20jj\x2dstack\x1ebunx\x20jj\x2dstack\x1ekeybase\x2eexe\x1e/Volumes/T7/francinette/tester\x2esh\x1erg\x20\x2dS\x1etmux\x1ecmd\x2eexe\x20/c\x20winget\x2eexe\x1e__zoxide_z\x1e__zoxide_zi\x1e___x_cmd\x20fish\x20\x2d\x2dsysco\x1e___x_cmd\x20fish\x20\x2d\x2dsyscoco 45 + SETUVAR __fish_initialized:4300 37 46 SETUVAR _fisher_upgraded_to_4_4:\x1d 38 47 SETUVAR _usage_spec_mise_2024_11_12:min_usage_version\x20\x221\x2e3\x22\x0aname\x20\x22mise\x22\x0abin\x20\x22mise\x22\x0aabout\x20\x22The\x20front\x2dend\x20to\x20your\x20dev\x20env\x22\x0along_about\x20r\x22mise\x20is\x20a\x20tool\x20for\x20managing\x20runtime\x20versions\x2e\x20https\x3a//github\x2ecom/jdx/mise\x0a\x0aIt\x27s\x20a\x20replacement\x20for\x20tools\x20like\x20nvm\x2c\x20nodenv\x2c\x20rbenv\x2c\x20rvm\x2c\x20chruby\x2c\x20pyenv\x2c\x20etc\x2e\x0athat\x20works\x20for\x20any\x20language\x2e\x20It\x27s\x20also\x20great\x20for\x20managing\x20linters/tools\x20like\x0ajq\x20and\x20shellcheck\x2e\x0a\x0aIt\x20is\x20inspired\x20by\x20asdf\x20and\x20uses\x20asdf\x27s\x20plugin\x20ecosystem\x20under\x20the\x20hood\x3a\x0ahttps\x3a//asdf\x2dvm\x2ecom/\x22\x0ausage\x20\x22Usage\x3a\x20mise\x20\x5bOPTIONS\x5d\x20\x3cCOMMAND\x3e\x22\x0aflag\x20\x22\x2dC\x20\x2d\x2dcd\x22\x20help\x3d\x22Change\x20directory\x20before\x20running\x20command\x22\x20global\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20arg\x20\x22\x3cDIR\x3e\x22\x0a\x7d\x0aflag\x20\x22\x2d\x2ddebug\x22\x20help\x3d\x22Sets\x20log\x20level\x20to\x20debug\x22\x20hide\x3dtrue\x20global\x3dtrue\x0aflag\x20\x22\x2d\x2dlog\x2dlevel\x22\x20help\x3d\x22Set\x20the\x20log\x20output\x20verbosity\x22\x20hide\x3dtrue\x20global\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20arg\x20\x22\x3cLEVEL\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22error\x22\x20\x22warn\x22\x20\x22info\x22\x20\x22debug\x22\x20\x22trace\x22\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0aflag\x20\x22\x2dP\x20\x2d\x2dprofile\x22\x20help\x3d\x22Set\x20the\x20profile\x20\x28environment\x29\x22\x20global\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20arg\x20\x22\x3cPROFILE\x3e\x22\x0a\x7d\x0aflag\x20\x22\x2dq\x20\x2d\x2dquiet\x22\x20help\x3d\x22Suppress\x20non\x2derror\x20messages\x22\x20global\x3dtrue\x0aflag\x20\x22\x2d\x2dtrace\x22\x20help\x3d\x22Sets\x20log\x20level\x20to\x20trace\x22\x20hide\x3dtrue\x20global\x3dtrue\x0aflag\x20\x22\x2dv\x20\x2d\x2dverbose\x22\x20help\x3d\x22Show\x20extra\x20output\x20\x28use\x20\x2dvv\x20for\x20even\x20more\x29\x22\x20var\x3dtrue\x20global\x3dtrue\x20count\x3dtrue\x0aflag\x20\x22\x2dy\x20\x2d\x2dyes\x22\x20help\x3d\x22Answer\x20yes\x20to\x20all\x20confirmation\x20prompts\x22\x20global\x3dtrue\x0acmd\x20\x22activate\x22\x20help\x3d\x22Initializes\x20mise\x20in\x20the\x20current\x20shell\x20session\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x23\x22Initializes\x20mise\x20in\x20the\x20current\x20shell\x20session\x0a\x0aThis\x20should\x20go\x20into\x20your\x20shell\x27s\x20rc\x20file\x2e\x0aOtherwise\x2c\x20it\x20will\x20only\x20take\x20effect\x20in\x20the\x20current\x20session\x2e\x0a\x28e\x2eg\x2e\x20\x7e/\x2ezshrc\x2c\x20\x7e/\x2ebashrc\x29\x0a\x0aThis\x20is\x20only\x20intended\x20to\x20be\x20used\x20in\x20interactive\x20sessions\x2c\x20not\x20scripts\x2e\x0amise\x20is\x20only\x20capable\x20of\x20updating\x20PATH\x20when\x20the\x20prompt\x20is\x20displayed\x20to\x20the\x20user\x2e\x0aFor\x20non\x2dinteractive\x20use\x2dcases\x2c\x20use\x20shims\x20instead\x2e\x0a\x0aTypically\x20this\x20can\x20be\x20added\x20with\x20something\x20like\x20the\x20following\x3a\x0a\x0a\x20\x20\x20\x20echo\x20\x27eval\x20\x22\x24\x28mise\x20activate\x29\x22\x27\x20\x3e\x3e\x20\x7e/\x2ezshrc\x0a\x0aHowever\x2c\x20this\x20requires\x20that\x20\x22mise\x22\x20is\x20in\x20your\x20PATH\x2e\x20If\x20it\x20is\x20not\x2c\x20you\x20need\x20to\x0aspecify\x20the\x20full\x20path\x20like\x20this\x3a\x0a\x0a\x20\x20\x20\x20echo\x20\x27eval\x20\x22\x24\x28/path/to/mise\x20activate\x29\x22\x27\x20\x3e\x3e\x20\x7e/\x2ezshrc\x0a\x0aCustomize\x20status\x20output\x20with\x20\x60status\x60\x20settings\x2e\x22\x23\x0a\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20eval\x20\x22\x24\x28mise\x20activate\x20bash\x29\x22\x0a\x20\x20\x20\x20\x24\x20eval\x20\x22\x24\x28mise\x20activate\x20zsh\x29\x22\x0a\x20\x20\x20\x20\x24\x20mise\x20activate\x20fish\x20\x7c\x20source\x0a\x20\x20\x20\x20\x24\x20execx\x28\x24\x28mise\x20activate\x20xonsh\x29\x29\x0a\x22\x23\x0a\x20\x20\x20\x20flag\x20\x22\x2ds\x20\x2d\x2dshell\x22\x20help\x3d\x22Shell\x20type\x20to\x20generate\x20the\x20script\x20for\x22\x20hide\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSHELL\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22bash\x22\x20\x22elvish\x22\x20\x22fish\x22\x20\x22nu\x22\x20\x22xonsh\x22\x20\x22zsh\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dstatus\x22\x20help\x3d\x22Show\x20\x5c\x22mise\x3a\x20\x3cPLUGIN\x3e\x40\x3cVERSION\x3e\x5c\x22\x20message\x20when\x20changing\x20directories\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dshims\x22\x20help\x3d\x22Use\x20shims\x20instead\x20of\x20modifying\x20PATH\x5cnEffectively\x20the\x20same\x20as\x3a\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22Use\x20shims\x20instead\x20of\x20modifying\x20PATH\x5cnEffectively\x20the\x20same\x20as\x3a\x5cn\x5cn\x20\x20\x20\x20PATH\x3d\x5c\x22\x24HOME/\x2elocal/share/mise/shims\x3a\x24PATH\x5c\x22\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dq\x20\x2d\x2dquiet\x22\x20help\x3d\x22Suppress\x20non\x2derror\x20messages\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bSHELL_TYPE\x5d\x22\x20help\x3d\x22Shell\x20type\x20to\x20generate\x20the\x20script\x20for\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22bash\x22\x20\x22elvish\x22\x20\x22fish\x22\x20\x22nu\x22\x20\x22xonsh\x22\x20\x22zsh\x22\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22alias\x22\x20help\x3d\x22Manage\x20aliases\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22a\x22\x0a\x20\x20\x20\x20alias\x20\x22aliases\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20flag\x20\x22\x2dp\x20\x2d\x2dplugin\x22\x20help\x3d\x22filter\x20aliases\x20by\x20plugin\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cPLUGIN\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dno\x2dheader\x22\x20help\x3d\x22Don\x27t\x20show\x20table\x20header\x22\x0a\x20\x20\x20\x20cmd\x20\x22get\x22\x20help\x3d\x22Show\x20an\x20alias\x20for\x20a\x20plugin\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Show\x20an\x20alias\x20for\x20a\x20plugin\x0a\x0aThis\x20is\x20the\x20contents\x20of\x20an\x20alias\x2e\x3cPLUGIN\x3e\x20entry\x20in\x20\x7e/\x2econfig/mise/config\x2etoml\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20alias\x20get\x20node\x20lts\x2dhydrogen\x0a\x20\x20\x20\x2020\x2e0\x2e0\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cPLUGIN\x3e\x22\x20help\x3d\x22The\x20plugin\x20to\x20show\x20the\x20alias\x20for\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cALIAS\x3e\x22\x20help\x3d\x22The\x20alias\x20to\x20show\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22ls\x22\x20help\x3d\x22List\x20aliases\x5cnShows\x20the\x20aliases\x20that\x20can\x20be\x20specified\x2e\x5cnThese\x20can\x20come\x20from\x20user\x20config\x20or\x20from\x20plugins\x20in\x20\x60bin/list\x2daliases\x60\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22list\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x23\x22List\x20aliases\x0aShows\x20the\x20aliases\x20that\x20can\x20be\x20specified\x2e\x0aThese\x20can\x20come\x20from\x20user\x20config\x20or\x20from\x20plugins\x20in\x20\x60bin/list\x2daliases\x60\x2e\x0a\x0aFor\x20user\x20config\x2c\x20aliases\x20are\x20defined\x20like\x20the\x20following\x20in\x20\x60\x7e/\x2econfig/mise/config\x2etoml\x60\x3a\x0a\x0a\x20\x20\x20\x20\x5balias\x2enode\x2eversions\x5d\x0a\x20\x20\x20\x20lts\x20\x3d\x20\x2222\x2e0\x2e0\x22\x22\x23\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20aliases\x0a\x20\x20\x20\x20node\x20\x20lts\x2djod\x20\x20\x20\x20\x20\x2022\x20\x20\x20\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dno\x2dheader\x22\x20help\x3d\x22Don\x27t\x20show\x20table\x20header\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bTOOL\x5d\x22\x20help\x3d\x22Show\x20aliases\x20for\x20\x3cTOOL\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22set\x22\x20help\x3d\x22Add/update\x20an\x20alias\x20for\x20a\x20plugin\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22add\x22\x20\x22create\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Add/update\x20an\x20alias\x20for\x20a\x20plugin\x0a\x0aThis\x20modifies\x20the\x20contents\x20of\x20\x7e/\x2econfig/mise/config\x2etoml\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20alias\x20set\x20node\x20lts\x2djod\x2022\x2e0\x2e0\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cPLUGIN\x3e\x22\x20help\x3d\x22The\x20plugin\x20to\x20set\x20the\x20alias\x20for\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cALIAS\x3e\x22\x20help\x3d\x22The\x20alias\x20to\x20set\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cVALUE\x3e\x22\x20help\x3d\x22The\x20value\x20to\x20set\x20the\x20alias\x20to\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22unset\x22\x20help\x3d\x22Clears\x20an\x20alias\x20for\x20a\x20plugin\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22rm\x22\x20\x22remove\x22\x20\x22delete\x22\x20\x22del\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Clears\x20an\x20alias\x20for\x20a\x20plugin\x0a\x0aThis\x20modifies\x20the\x20contents\x20of\x20\x7e/\x2econfig/mise/config\x2etoml\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20alias\x20unset\x20node\x20lts\x2djod\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cPLUGIN\x3e\x22\x20help\x3d\x22The\x20plugin\x20to\x20remove\x20the\x20alias\x20from\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cALIAS\x3e\x22\x20help\x3d\x22The\x20alias\x20to\x20remove\x22\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22asdf\x22\x20hide\x3dtrue\x20help\x3d\x22\x5binternal\x5d\x20simulates\x20asdf\x20for\x20plugins\x20that\x20call\x20\x5c\x22asdf\x5c\x22\x20internally\x22\x20\x7b\x0a\x20\x20\x20\x20arg\x20\x22\x5bARGS\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22all\x20arguments\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22backends\x22\x20help\x3d\x22Manage\x20backends\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22b\x22\x0a\x20\x20\x20\x20alias\x20\x22backend\x22\x20\x22backend\x2dlist\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20cmd\x20\x22ls\x22\x20help\x3d\x22List\x20built\x2din\x20backends\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22list\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20backends\x20ls\x0a\x20\x20\x20\x20cargo\x0a\x20\x20\x20\x20go\x0a\x20\x20\x20\x20npm\x0a\x20\x20\x20\x20pipx\x0a\x20\x20\x20\x20spm\x0a\x20\x20\x20\x20ubi\x0a\x22\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22bin\x2dpaths\x22\x20help\x3d\x22List\x20all\x20the\x20active\x20runtime\x20bin\x20paths\x22\x0acmd\x20\x22cache\x22\x20help\x3d\x22Manage\x20the\x20mise\x20cache\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Manage\x20the\x20mise\x20cache\x0a\x0aRun\x20\x60mise\x20cache\x60\x20with\x20no\x20args\x20to\x20view\x20the\x20current\x20cache\x20directory\x2e\x22\x0a\x20\x20\x20\x20cmd\x20\x22clear\x22\x20help\x3d\x22Deletes\x20all\x20cache\x20files\x20in\x20mise\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22c\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22clean\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2doutdate\x22\x20help\x3d\x22Mark\x20all\x20cache\x20files\x20as\x20old\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bPLUGIN\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Plugin\x28s\x29\x20to\x20clear\x20cache\x20for\x20e\x2eg\x2e\x3a\x20node\x2c\x20python\x22\x20var\x3dtrue\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22prune\x22\x20help\x3d\x22Removes\x20stale\x20mise\x20cache\x20files\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22p\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Removes\x20stale\x20mise\x20cache\x20files\x0a\x0aBy\x20default\x2c\x20this\x20command\x20will\x20remove\x20files\x20that\x20have\x20not\x20been\x20accessed\x20in\x2030\x20days\x2e\x0aChange\x20this\x20with\x20the\x20MISE_CACHE_PRUNE_AGE\x20environment\x20variable\x2e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2ddry\x2drun\x22\x20help\x3d\x22Just\x20show\x20what\x20would\x20be\x20pruned\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dv\x20\x2d\x2dverbose\x22\x20help\x3d\x22Show\x20pruned\x20files\x22\x20var\x3dtrue\x20count\x3dtrue\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bPLUGIN\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Plugin\x28s\x29\x20to\x20clear\x20cache\x20for\x20e\x2eg\x2e\x3a\x20node\x2c\x20python\x22\x20var\x3dtrue\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22completion\x22\x20help\x3d\x22Generate\x20shell\x20completions\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22complete\x22\x20\x22completions\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20completion\x20bash\x20\x3e\x20/etc/bash_completion\x2ed/mise\x0a\x20\x20\x20\x20\x24\x20mise\x20completion\x20zsh\x20\x20\x3e\x20/usr/local/share/zsh/site\x2dfunctions/_mise\x0a\x20\x20\x20\x20\x24\x20mise\x20completion\x20fish\x20\x3e\x20\x7e/\x2econfig/fish/completions/mise\x2efish\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2ds\x20\x2d\x2dshell\x22\x20help\x3d\x22Shell\x20type\x20to\x20generate\x20completions\x20for\x22\x20hide\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSHELL_TYPE\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22bash\x22\x20\x22fish\x22\x20\x22zsh\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dusage\x22\x20help\x3d\x22Always\x20use\x20usage\x20for\x20completions\x2e\x5cnCurrently\x2c\x20usage\x20is\x20the\x20default\x20for\x20fish\x20and\x20bash\x20but\x20not\x20zsh\x20since\x20it\x20has\x20a\x20few\x20quirks\x5cnto\x20work\x20out\x20first\x2e\x22\x20hide\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22Always\x20use\x20usage\x20for\x20completions\x2e\x5cnCurrently\x2c\x20usage\x20is\x20the\x20default\x20for\x20fish\x20and\x20bash\x20but\x20not\x20zsh\x20since\x20it\x20has\x20a\x20few\x20quirks\x5cnto\x20work\x20out\x20first\x2e\x5cn\x5cnThis\x20requires\x20the\x20\x60usage\x60\x20CLI\x20to\x20be\x20installed\x2e\x5cnhttps\x3a//usage\x2ejdx\x2edev\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20arg\x20\x22\x5bSHELL\x5d\x22\x20help\x3d\x22Shell\x20type\x20to\x20generate\x20completions\x20for\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22bash\x22\x20\x22fish\x22\x20\x22zsh\x22\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22config\x22\x20help\x3d\x22Manage\x20config\x20files\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22cfg\x22\x0a\x20\x20\x20\x20alias\x20\x22toml\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dno\x2dheader\x22\x20help\x3d\x22Do\x20not\x20print\x20table\x20header\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dJ\x20\x2d\x2djson\x22\x20help\x3d\x22Output\x20in\x20JSON\x20format\x22\x0a\x20\x20\x20\x20cmd\x20\x22generate\x22\x20help\x3d\x22\x5bexperimental\x5d\x20Generate\x20a\x20mise\x2etoml\x20file\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22g\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20cf\x20generate\x20\x3e\x20mise\x2etoml\x0a\x20\x20\x20\x20\x24\x20mise\x20cf\x20generate\x20\x2d\x2doutput\x3dmise\x2etoml\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2do\x20\x2d\x2doutput\x22\x20help\x3d\x22Output\x20to\x20file\x20instead\x20of\x20stdout\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cOUTPUT\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22get\x22\x20help\x3d\x22Display\x20the\x20value\x20of\x20a\x20setting\x20in\x20a\x20mise\x2etoml\x20file\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20toml\x20get\x20tools\x2epython\x0a\x20\x20\x20\x203\x2e12\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dfile\x22\x20help\x3d\x22The\x20path\x20to\x20the\x20mise\x2etoml\x20file\x20to\x20edit\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22The\x20path\x20to\x20the\x20mise\x2etoml\x20file\x20to\x20edit\x5cn\x5cnIf\x20not\x20provided\x2c\x20the\x20nearest\x20mise\x2etoml\x20file\x20will\x20be\x20used\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cFILE\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bKEY\x5d\x22\x20help\x3d\x22The\x20path\x20of\x20the\x20config\x20to\x20display\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22ls\x22\x20help\x3d\x22List\x20config\x20files\x20currently\x20in\x20use\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20config\x20ls\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dno\x2dheader\x22\x20help\x3d\x22Do\x20not\x20print\x20table\x20header\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dJ\x20\x2d\x2djson\x22\x20help\x3d\x22Output\x20in\x20JSON\x20format\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22set\x22\x20help\x3d\x22Set\x20the\x20value\x20of\x20a\x20setting\x20in\x20a\x20mise\x2etoml\x20file\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20config\x20set\x20tools\x2epython\x203\x2e12\x0a\x20\x20\x20\x20\x24\x20mise\x20config\x20set\x20settings\x2ealways_keep_download\x20true\x0a\x20\x20\x20\x20\x24\x20mise\x20config\x20set\x20env\x2eTEST_ENV_VAR\x20ABC\x0a\x20\x20\x20\x20\x24\x20mise\x20config\x20set\x20settings\x2edisable_tools\x20\x2d\x2dtype\x20list\x20node\x2crust\x0a\x0a\x20\x20\x20\x20\x23\x20Type\x20for\x20\x60settings\x60\x20is\x20inferred\x0a\x20\x20\x20\x20\x24\x20mise\x20config\x20set\x20settings\x2ejobs\x204\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dfile\x22\x20help\x3d\x22The\x20path\x20to\x20the\x20mise\x2etoml\x20file\x20to\x20edit\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22The\x20path\x20to\x20the\x20mise\x2etoml\x20file\x20to\x20edit\x5cn\x5cnIf\x20not\x20provided\x2c\x20the\x20nearest\x20mise\x2etoml\x20file\x20will\x20be\x20used\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cFILE\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dt\x20\x2d\x2dtype\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cTYPE\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22infer\x22\x20\x22string\x22\x20\x22integer\x22\x20\x22float\x22\x20\x22bool\x22\x20\x22list\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cKEY\x3e\x22\x20help\x3d\x22The\x20path\x20of\x20the\x20config\x20to\x20display\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cVALUE\x3e\x22\x20help\x3d\x22The\x20value\x20to\x20set\x20the\x20key\x20to\x22\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22current\x22\x20hide\x3dtrue\x20help\x3d\x22Shows\x20current\x20active\x20and\x20installed\x20runtime\x20versions\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Shows\x20current\x20active\x20and\x20installed\x20runtime\x20versions\x0a\x0aThis\x20is\x20similar\x20to\x20\x60mise\x20ls\x20\x2d\x2dcurrent\x60\x2c\x20but\x20this\x20only\x20shows\x20the\x20runtime\x0aand/or\x20version\x2e\x20It\x27s\x20designed\x20to\x20fit\x20into\x20scripts\x20more\x20easily\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x23\x20outputs\x20\x60\x2etool\x2dversions\x60\x20compatible\x20format\x0a\x20\x20\x20\x20\x24\x20mise\x20current\x0a\x20\x20\x20\x20python\x203\x2e11\x2e0\x203\x2e10\x2e0\x0a\x20\x20\x20\x20shfmt\x203\x2e6\x2e0\x0a\x20\x20\x20\x20shellcheck\x200\x2e9\x2e0\x0a\x20\x20\x20\x20node\x2020\x2e0\x2e0\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20current\x20node\x0a\x20\x20\x20\x2020\x2e0\x2e0\x0a\x0a\x20\x20\x20\x20\x23\x20can\x20output\x20multiple\x20versions\x0a\x20\x20\x20\x20\x24\x20mise\x20current\x20python\x0a\x20\x20\x20\x203\x2e11\x2e0\x203\x2e10\x2e0\x0a\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bPLUGIN\x5d\x22\x20help\x3d\x22Plugin\x20to\x20show\x20versions\x20of\x20e\x2eg\x2e\x3a\x20ruby\x2c\x20node\x2c\x20cargo\x3aeza\x2c\x20npm\x3aprettier\x2c\x20etc\x22\x0a\x7d\x0acmd\x20\x22deactivate\x22\x20help\x3d\x22Disable\x20mise\x20for\x20current\x20shell\x20session\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Disable\x20mise\x20for\x20current\x20shell\x20session\x0a\x0aThis\x20can\x20be\x20used\x20to\x20temporarily\x20disable\x20mise\x20in\x20a\x20shell\x20session\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20deactivate\x0a\x22\x0a\x7d\x0acmd\x20\x22direnv\x22\x20help\x3d\x22Output\x20direnv\x20function\x20to\x20use\x20mise\x20inside\x20direnv\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Output\x20direnv\x20function\x20to\x20use\x20mise\x20inside\x20direnv\x0a\x0aSee\x20https\x3a//mise\x2ejdx\x2edev/direnv\x2ehtml\x20for\x20more\x20information\x0a\x0aBecause\x20this\x20generates\x20the\x20legacy\x20files\x20based\x20on\x20currently\x20installed\x20plugins\x2c\x0ayou\x20should\x20run\x20this\x20command\x20after\x20installing\x20new\x20plugins\x2e\x20Otherwise\x0adirenv\x20may\x20not\x20know\x20to\x20update\x20environment\x20variables\x20when\x20legacy\x20file\x20versions\x20change\x2e\x22\x0a\x20\x20\x20\x20cmd\x20\x22envrc\x22\x20hide\x3dtrue\x20help\x3d\x22\x5binternal\x5d\x20This\x20is\x20an\x20internal\x20command\x20that\x20writes\x20an\x20envrc\x20file\x5cnfor\x20direnv\x20to\x20consume\x2e\x22\x0a\x20\x20\x20\x20cmd\x20\x22exec\x22\x20hide\x3dtrue\x20help\x3d\x22\x5binternal\x5d\x20This\x20is\x20an\x20internal\x20command\x20that\x20writes\x20an\x20envrc\x20file\x5cnfor\x20direnv\x20to\x20consume\x2e\x22\x0a\x20\x20\x20\x20cmd\x20\x22activate\x22\x20help\x3d\x22Output\x20direnv\x20function\x20to\x20use\x20mise\x20inside\x20direnv\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Output\x20direnv\x20function\x20to\x20use\x20mise\x20inside\x20direnv\x0a\x0aSee\x20https\x3a//mise\x2ejdx\x2edev/direnv\x2ehtml\x20for\x20more\x20information\x0a\x0aBecause\x20this\x20generates\x20the\x20legacy\x20files\x20based\x20on\x20currently\x20installed\x20plugins\x2c\x0ayou\x20should\x20run\x20this\x20command\x20after\x20installing\x20new\x20plugins\x2e\x20Otherwise\x0adirenv\x20may\x20not\x20know\x20to\x20update\x20environment\x20variables\x20when\x20legacy\x20file\x20versions\x20change\x2e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20direnv\x20activate\x20\x3e\x20\x7e/\x2econfig/direnv/lib/use_mise\x2esh\x0a\x20\x20\x20\x20\x24\x20echo\x20\x27use\x20mise\x27\x20\x3e\x20\x2eenvrc\x0a\x20\x20\x20\x20\x24\x20direnv\x20allow\x0a\x22\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22doctor\x22\x20help\x3d\x22Check\x20mise\x20installation\x20for\x20possible\x20problems\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22dr\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20doctor\x0a\x20\x20\x20\x20\x5bWARN\x5d\x20plugin\x20node\x20is\x20not\x20installed\x0a\x22\x0a\x7d\x0acmd\x20\x22env\x22\x20help\x3d\x22Exports\x20env\x20vars\x20to\x20activate\x20mise\x20a\x20single\x20time\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22e\x22\x0a\x20\x20\x20\x20long_help\x20r\x22Exports\x20env\x20vars\x20to\x20activate\x20mise\x20a\x20single\x20time\x0a\x0aUse\x20this\x20if\x20you\x20don\x27t\x20want\x20to\x20permanently\x20install\x20mise\x2e\x20It\x27s\x20not\x20necessary\x20to\x0ause\x20this\x20if\x20you\x20have\x20\x60mise\x20activate\x60\x20in\x20your\x20shell\x20rc\x20file\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20eval\x20\x22\x24\x28mise\x20env\x20\x2ds\x20bash\x29\x22\x0a\x20\x20\x20\x20\x24\x20eval\x20\x22\x24\x28mise\x20env\x20\x2ds\x20zsh\x29\x22\x0a\x20\x20\x20\x20\x24\x20mise\x20env\x20\x2ds\x20fish\x20\x7c\x20source\x0a\x20\x20\x20\x20\x24\x20execx\x28\x24\x28mise\x20env\x20\x2ds\x20xonsh\x29\x29\x0a\x22\x23\x0a\x20\x20\x20\x20flag\x20\x22\x2dJ\x20\x2d\x2djson\x22\x20help\x3d\x22Output\x20in\x20JSON\x20format\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2ds\x20\x2d\x2dshell\x22\x20help\x3d\x22Shell\x20type\x20to\x20generate\x20environment\x20variables\x20for\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSHELL\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22bash\x22\x20\x22elvish\x22\x20\x22fish\x22\x20\x22nu\x22\x20\x22xonsh\x22\x20\x22zsh\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20arg\x20\x22\x5bTOOL\x40VERSION\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20use\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22exec\x22\x20help\x3d\x22Execute\x20a\x20command\x20with\x20tool\x28s\x29\x20set\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22x\x22\x0a\x20\x20\x20\x20long_help\x20r\x23\x22Execute\x20a\x20command\x20with\x20tool\x28s\x29\x20set\x0a\x0ause\x20this\x20to\x20avoid\x20modifying\x20the\x20shell\x20session\x20or\x20running\x20ad\x2dhoc\x20commands\x20with\x20mise\x20tools\x20set\x2e\x0a\x0aTools\x20will\x20be\x20loaded\x20from\x20mise\x2etoml\x2c\x20though\x20they\x20can\x20be\x20overridden\x20with\x20\x3cRUNTIME\x3e\x20args\x0aNote\x20that\x20only\x20the\x20plugin\x20specified\x20will\x20be\x20overridden\x2c\x20so\x20if\x20a\x20\x60mise\x2etoml\x60\x20file\x0aincludes\x20\x22node\x2020\x22\x20but\x20you\x20run\x20\x60mise\x20exec\x20python\x403\x2e11\x60\x3b\x20it\x20will\x20still\x20load\x20node\x4020\x2e\x0a\x0aThe\x20\x22\x2d\x2d\x22\x20separates\x20runtimes\x20from\x20the\x20commands\x20to\x20pass\x20along\x20to\x20the\x20subprocess\x2e\x22\x23\x0a\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20exec\x20node\x4020\x20\x2d\x2d\x20node\x20\x2e/app\x2ejs\x20\x20\x23\x20launch\x20app\x2ejs\x20using\x20node\x2d20\x2ex\x0a\x20\x20\x20\x20\x24\x20mise\x20x\x20node\x4020\x20\x2d\x2d\x20node\x20\x2e/app\x2ejs\x20\x20\x20\x20\x20\x23\x20shorter\x20alias\x0a\x0a\x20\x20\x20\x20\x23\x20Specify\x20command\x20as\x20a\x20string\x3a\x0a\x20\x20\x20\x20\x24\x20mise\x20exec\x20node\x4020\x20python\x403\x2e11\x20\x2d\x2dcommand\x20\x22node\x20\x2dv\x20\x26\x26\x20python\x20\x2dV\x22\x0a\x0a\x20\x20\x20\x20\x23\x20Run\x20a\x20command\x20in\x20a\x20different\x20directory\x3a\x0a\x20\x20\x20\x20\x24\x20mise\x20x\x20\x2dC\x20/path/to/project\x20node\x4020\x20\x2d\x2d\x20node\x20\x2e/app\x2ejs\x0a\x22\x23\x0a\x20\x20\x20\x20flag\x20\x22\x2dc\x20\x2d\x2dcommand\x22\x20help\x3d\x22Command\x20string\x20to\x20execute\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cC\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dj\x20\x2d\x2djobs\x22\x20help\x3d\x22Number\x20of\x20jobs\x20to\x20run\x20in\x20parallel\x5cn\x5bdefault\x3a\x204\x5d\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cJOBS\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2draw\x22\x20help\x3d\x22Directly\x20pipe\x20stdin/stdout/stderr\x20from\x20plugin\x20to\x20user\x20Sets\x20\x2d\x2djobs\x3d1\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bTOOL\x40VERSION\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20start\x20e\x2eg\x2e\x3a\x20node\x4020\x20python\x403\x2e10\x22\x20var\x3dtrue\x0a\x20\x20\x20\x20arg\x20\x22\x5bCOMMAND\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Command\x20string\x20to\x20execute\x20\x28same\x20as\x20\x2d\x2dcommand\x29\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22generate\x22\x20subcommand_required\x3dtrue\x20help\x3d\x22\x5bexperimental\x5d\x20Generate\x20files\x20for\x20various\x20tools/services\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22gen\x22\x0a\x20\x20\x20\x20alias\x20\x22g\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20cmd\x20\x22git\x2dpre\x2dcommit\x22\x20help\x3d\x22\x5bexperimental\x5d\x20Generate\x20a\x20git\x20pre\x2dcommit\x20hook\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22pre\x2dcommit\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22\x5bexperimental\x5d\x20Generate\x20a\x20git\x20pre\x2dcommit\x20hook\x0a\x0aThis\x20command\x20generates\x20a\x20git\x20pre\x2dcommit\x20hook\x20that\x20runs\x20a\x20mise\x20task\x20like\x20\x60mise\x20run\x20pre\x2dcommit\x60\x0awhen\x20you\x20commit\x20changes\x20to\x20your\x20repository\x2e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20generate\x20git\x2dpre\x2dcommit\x20\x2d\x2dwrite\x20\x2d\x2dtask\x3dpre\x2dcommit\x0a\x20\x20\x20\x20\x24\x20git\x20commit\x20\x2dm\x20\x22feat\x3a\x20add\x20new\x20feature\x22\x20\x23\x20runs\x20\x60mise\x20run\x20pre\x2dcommit\x60\x0a\x22\x23\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dhook\x22\x20help\x3d\x22Which\x20hook\x20to\x20generate\x20\x28saves\x20to\x20\x2egit/hooks/\x24hook\x29\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cHOOK\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dt\x20\x2d\x2dtask\x22\x20help\x3d\x22The\x20task\x20to\x20run\x20when\x20the\x20pre\x2dcommit\x20hook\x20is\x20triggered\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cTASK\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dw\x20\x2d\x2dwrite\x22\x20help\x3d\x22write\x20to\x20\x2egit/hooks/pre\x2dcommit\x20and\x20make\x20it\x20executable\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22github\x2daction\x22\x20help\x3d\x22\x5bexperimental\x5d\x20Generate\x20a\x20GitHub\x20Action\x20workflow\x20file\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22\x5bexperimental\x5d\x20Generate\x20a\x20GitHub\x20Action\x20workflow\x20file\x0a\x0aThis\x20command\x20generates\x20a\x20GitHub\x20Action\x20workflow\x20file\x20that\x20runs\x20a\x20mise\x20task\x20like\x20\x60mise\x20run\x20ci\x60\x0awhen\x20you\x20push\x20changes\x20to\x20your\x20repository\x2e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20generate\x20github\x2daction\x20\x2d\x2dwrite\x20\x2d\x2dtask\x3dci\x0a\x20\x20\x20\x20\x24\x20git\x20commit\x20\x2dm\x20\x22feat\x3a\x20add\x20new\x20feature\x22\x0a\x20\x20\x20\x20\x24\x20git\x20push\x20\x23\x20runs\x20\x60mise\x20run\x20ci\x60\x20on\x20GitHub\x0a\x22\x23\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dn\x20\x2d\x2dname\x22\x20help\x3d\x22the\x20name\x20of\x20the\x20workflow\x20to\x20generate\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cNAME\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dt\x20\x2d\x2dtask\x22\x20help\x3d\x22The\x20task\x20to\x20run\x20when\x20the\x20workflow\x20is\x20triggered\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cTASK\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dw\x20\x2d\x2dwrite\x22\x20help\x3d\x22write\x20to\x20\x2egithub/workflows/\x24name\x2eyml\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22task\x2ddocs\x22\x20help\x3d\x22Generate\x20documentation\x20for\x20tasks\x20in\x20a\x20project\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20generate\x20task\x2ddocs\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dI\x20\x2d\x2dindex\x22\x20help\x3d\x22write\x20only\x20an\x20index\x20of\x20tasks\x2c\x20intended\x20for\x20use\x20with\x20\x60\x2d\x2dmulti\x60\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2di\x20\x2d\x2dinject\x22\x20help\x3d\x22inserts\x20the\x20documentation\x20into\x20an\x20existing\x20file\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22inserts\x20the\x20documentation\x20into\x20an\x20existing\x20file\x5cn\x5cnThis\x20will\x20look\x20for\x20a\x20special\x20comment\x2c\x20\x3c\x21\x2d\x2d\x20mise\x2dtasks\x20\x2d\x2d\x3e\x2c\x20and\x20replace\x20it\x20with\x20the\x20generated\x20documentation\x2e\x5cnIt\x20will\x20replace\x20everything\x20between\x20the\x20comment\x20and\x20the\x20next\x20comment\x2c\x20\x3c\x21\x2d\x2d\x20/mise\x2dtasks\x20\x2d\x2d\x3e\x20so\x20it\x20can\x20be\x5cnrun\x20multiple\x20times\x20on\x20the\x20same\x20file\x20to\x20update\x20the\x20documentation\x2e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dm\x20\x2d\x2dmulti\x22\x20help\x3d\x22render\x20each\x20task\x20as\x20a\x20separate\x20document\x2c\x20requires\x20\x60\x2d\x2doutput\x60\x20to\x20be\x20a\x20directory\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2do\x20\x2d\x2doutput\x22\x20help\x3d\x22writes\x20the\x20generated\x20docs\x20to\x20a\x20file/directory\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cOUTPUT\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dr\x20\x2d\x2droot\x22\x20help\x3d\x22root\x20directory\x20to\x20search\x20for\x20tasks\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cROOT\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2ds\x20\x2d\x2dstyle\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSTYLE\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22simple\x22\x20\x22detailed\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22global\x22\x20hide\x3dtrue\x20help\x3d\x22Sets/gets\x20the\x20global\x20tool\x20version\x28s\x29\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Sets/gets\x20the\x20global\x20tool\x20version\x28s\x29\x0a\x0aDisplays\x20the\x20contents\x20of\x20global\x20config\x20after\x20writing\x2e\x0aThe\x20file\x20is\x20\x60\x24HOME/\x2econfig/mise/config\x2etoml\x60\x20by\x20default\x2e\x20It\x20can\x20be\x20changed\x20with\x20\x60\x24MISE_GLOBAL_CONFIG_FILE\x60\x2e\x0aIf\x20\x60\x24MISE_GLOBAL_CONFIG_FILE\x60\x20is\x20set\x20to\x20anything\x20that\x20ends\x20in\x20\x60\x2etoml\x60\x2c\x20it\x20will\x20be\x20parsed\x20as\x20\x60mise\x2etoml\x60\x2e\x0aOtherwise\x2c\x20it\x20will\x20be\x20parsed\x20as\x20a\x20\x60\x2etool\x2dversions\x60\x20file\x2e\x0a\x0aUse\x20MISE_ASDF_COMPAT\x3d1\x20to\x20default\x20the\x20global\x20config\x20to\x20\x7e/\x2etool\x2dversions\x0a\x0aUse\x20\x60mise\x20local\x60\x20to\x20set\x20a\x20tool\x20version\x20locally\x20in\x20the\x20current\x20directory\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x20\x20\x20\x20\x23\x20set\x20the\x20current\x20version\x20of\x20node\x20to\x2020\x2ex\x0a\x20\x20\x20\x20\x23\x20will\x20use\x20a\x20fuzzy\x20version\x20\x28e\x2eg\x2e\x3a\x2020\x29\x20in\x20\x2etool\x2dversions\x20file\x0a\x20\x20\x20\x20\x24\x20mise\x20global\x20\x2d\x2dfuzzy\x20node\x4020\x0a\x0a\x20\x20\x20\x20\x23\x20set\x20the\x20current\x20version\x20of\x20node\x20to\x2020\x2ex\x0a\x20\x20\x20\x20\x23\x20will\x20use\x20a\x20precise\x20version\x20\x28e\x2eg\x2e\x3a\x2020\x2e0\x2e0\x29\x20in\x20\x2etool\x2dversions\x20file\x0a\x20\x20\x20\x20\x24\x20mise\x20global\x20\x2d\x2dpin\x20node\x4020\x0a\x0a\x20\x20\x20\x20\x23\x20show\x20the\x20current\x20version\x20of\x20node\x20in\x20\x7e/\x2etool\x2dversions\x0a\x20\x20\x20\x20\x24\x20mise\x20global\x20node\x0a\x20\x20\x20\x2020\x2e0\x2e0\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dpin\x22\x20help\x3d\x22Save\x20exact\x20version\x20to\x20\x60\x7e/\x2etool\x2dversions\x60\x5cne\x2eg\x2e\x3a\x20\x60mise\x20global\x20\x2d\x2dpin\x20node\x4020\x60\x20will\x20save\x20\x60node\x2020\x2e0\x2e0\x60\x20to\x20\x7e/\x2etool\x2dversions\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dfuzzy\x22\x20help\x3d\x22Save\x20fuzzy\x20version\x20to\x20\x60\x7e/\x2etool\x2dversions\x60\x5cne\x2eg\x2e\x3a\x20\x60mise\x20global\x20\x2d\x2dfuzzy\x20node\x4020\x60\x20will\x20save\x20\x60node\x2020\x60\x20to\x20\x7e/\x2etool\x2dversions\x5cnthis\x20is\x20the\x20default\x20behavior\x20unless\x20MISE_ASDF_COMPAT\x3d1\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dremove\x22\x20help\x3d\x22Remove\x20the\x20plugin\x28s\x29\x20from\x20\x7e/\x2etool\x2dversions\x22\x20var\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cPLUGIN\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dpath\x22\x20help\x3d\x22Get\x20the\x20path\x20of\x20the\x20global\x20config\x20file\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bTOOL\x40VERSION\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20add\x20to\x20\x2etool\x2dversions\x5cne\x2eg\x2e\x3a\x20node\x4020\x5cnIf\x20this\x20is\x20a\x20single\x20tool\x20with\x20no\x20version\x2c\x20the\x20current\x20value\x20of\x20the\x20global\x5cn\x2etool\x2dversions\x20will\x20be\x20displayed\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22hook\x2denv\x22\x20hide\x3dtrue\x20help\x3d\x22\x5binternal\x5d\x20called\x20by\x20activate\x20hook\x20to\x20update\x20env\x20vars\x20directory\x20change\x22\x20\x7b\x0a\x20\x20\x20\x20flag\x20\x22\x2ds\x20\x2d\x2dshell\x22\x20help\x3d\x22Shell\x20type\x20to\x20generate\x20script\x20for\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSHELL\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22bash\x22\x20\x22elvish\x22\x20\x22fish\x22\x20\x22nu\x22\x20\x22xonsh\x22\x20\x22zsh\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dstatus\x22\x20help\x3d\x22Show\x20\x5c\x22mise\x3a\x20\x3cPLUGIN\x3e\x40\x3cVERSION\x3e\x5c\x22\x20message\x20when\x20changing\x20directories\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20flag\x20\x22\x2dq\x20\x2d\x2dquiet\x22\x20help\x3d\x22Hide\x20warnings\x20such\x20as\x20when\x20a\x20tool\x20is\x20not\x20installed\x22\x0a\x7d\x0acmd\x20\x22hook\x2dnot\x2dfound\x22\x20hide\x3dtrue\x20help\x3d\x22\x5binternal\x5d\x20called\x20by\x20shell\x20when\x20a\x20command\x20is\x20not\x20found\x22\x20\x7b\x0a\x20\x20\x20\x20flag\x20\x22\x2ds\x20\x2d\x2dshell\x22\x20help\x3d\x22Shell\x20type\x20to\x20generate\x20script\x20for\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSHELL\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22bash\x22\x20\x22elvish\x22\x20\x22fish\x22\x20\x22nu\x22\x20\x22xonsh\x22\x20\x22zsh\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20arg\x20\x22\x3cBIN\x3e\x22\x20help\x3d\x22Attempted\x20bin\x20to\x20run\x22\x0a\x7d\x0acmd\x20\x22implode\x22\x20help\x3d\x22Removes\x20mise\x20CLI\x20and\x20all\x20related\x20data\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Removes\x20mise\x20CLI\x20and\x20all\x20related\x20data\x0a\x0aSkips\x20config\x20directory\x20by\x20default\x2e\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dconfig\x22\x20help\x3d\x22Also\x20remove\x20config\x20directory\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dn\x20\x2d\x2ddry\x2drun\x22\x20help\x3d\x22List\x20directories\x20that\x20would\x20be\x20removed\x20without\x20actually\x20removing\x20them\x22\x0a\x7d\x0acmd\x20\x22install\x22\x20help\x3d\x22Install\x20a\x20tool\x20version\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22i\x22\x0a\x20\x20\x20\x20long_help\x20r\x22Install\x20a\x20tool\x20version\x0a\x0aInstalls\x20a\x20tool\x20version\x20to\x20\x60\x7e/\x2elocal/share/mise/installs/\x3cPLUGIN\x3e/\x3cVERSION\x3e\x60\x0aInstalling\x20alone\x20will\x20not\x20activate\x20the\x20tools\x20so\x20they\x20won\x27t\x20be\x20in\x20PATH\x2e\x0aTo\x20install\x20and/or\x20activate\x20in\x20one\x20command\x2c\x20use\x20\x60mise\x20use\x60\x20which\x20will\x20create\x20a\x20\x60mise\x2etoml\x60\x20file\x0ain\x20the\x20current\x20directory\x20to\x20activate\x20this\x20tool\x20when\x20inside\x20the\x20directory\x2e\x0aAlternatively\x2c\x20run\x20\x60mise\x20exec\x20\x3cTOOL\x3e\x40\x3cVERSION\x3e\x20\x2d\x2d\x20\x3cCOMMAND\x3e\x60\x20to\x20execute\x20a\x20tool\x20without\x20creating\x20config\x20files\x2e\x0a\x0aTools\x20will\x20be\x20installed\x20in\x20parallel\x2e\x20To\x20disable\x2c\x20set\x20\x60\x2d\x2djobs\x3d1\x60\x20or\x20\x60MISE_JOBS\x3d1\x60\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20install\x20node\x4020\x2e0\x2e0\x20\x20\x23\x20install\x20specific\x20node\x20version\x0a\x20\x20\x20\x20\x24\x20mise\x20install\x20node\x4020\x20\x20\x20\x20\x20\x20\x23\x20install\x20fuzzy\x20node\x20version\x0a\x20\x20\x20\x20\x24\x20mise\x20install\x20node\x20\x20\x20\x20\x20\x20\x20\x20\x20\x23\x20install\x20version\x20specified\x20in\x20mise\x2etoml\x0a\x20\x20\x20\x20\x24\x20mise\x20install\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x23\x20installs\x20everything\x20specified\x20in\x20mise\x2etoml\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dforce\x22\x20help\x3d\x22Force\x20reinstall\x20even\x20if\x20already\x20installed\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dj\x20\x2d\x2djobs\x22\x20help\x3d\x22Number\x20of\x20jobs\x20to\x20run\x20in\x20parallel\x5cn\x5bdefault\x3a\x204\x5d\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cJOBS\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2draw\x22\x20help\x3d\x22Directly\x20pipe\x20stdin/stdout/stderr\x20from\x20plugin\x20to\x20user\x20Sets\x20\x2d\x2djobs\x3d1\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dv\x20\x2d\x2dverbose\x22\x20help\x3d\x22Show\x20installation\x20output\x22\x20var\x3dtrue\x20count\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22Show\x20installation\x20output\x5cn\x5cnThis\x20argument\x20will\x20print\x20plugin\x20output\x20such\x20as\x20download\x2c\x20configuration\x2c\x20and\x20compilation\x20output\x2e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20arg\x20\x22\x5bTOOL\x40VERSION\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20install\x20e\x2eg\x2e\x3a\x20node\x4020\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22latest\x22\x20help\x3d\x22Gets\x20the\x20latest\x20available\x20version\x20for\x20a\x20plugin\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Gets\x20the\x20latest\x20available\x20version\x20for\x20a\x20plugin\x0a\x0aSupports\x20prefixes\x20such\x20as\x20\x60node\x4020\x60\x20to\x20get\x20the\x20latest\x20version\x20of\x20node\x2020\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20latest\x20node\x4020\x20\x20\x23\x20get\x20the\x20latest\x20version\x20of\x20node\x2020\x0a\x20\x20\x20\x2020\x2e0\x2e0\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20latest\x20node\x20\x20\x20\x20\x20\x23\x20get\x20the\x20latest\x20stable\x20version\x20of\x20node\x0a\x20\x20\x20\x2020\x2e0\x2e0\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2di\x20\x2d\x2dinstalled\x22\x20help\x3d\x22Show\x20latest\x20installed\x20instead\x20of\x20available\x20version\x22\x0a\x20\x20\x20\x20arg\x20\x22\x3cTOOL\x40VERSION\x3e\x22\x20help\x3d\x22Tool\x20to\x20get\x20the\x20latest\x20version\x20of\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bASDF_VERSION\x5d\x22\x20help\x3d\x22The\x20version\x20prefix\x20to\x20use\x20when\x20querying\x20the\x20latest\x20version\x20same\x20as\x20the\x20first\x20argument\x20after\x20the\x20\x5c\x22\x40\x5c\x22\x20used\x20for\x20asdf\x20compatibility\x22\x20hide\x3dtrue\x0a\x7d\x0acmd\x20\x22link\x22\x20help\x3d\x22Symlinks\x20a\x20tool\x20version\x20into\x20mise\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22ln\x22\x0a\x20\x20\x20\x20long_help\x20r\x22Symlinks\x20a\x20tool\x20version\x20into\x20mise\x0a\x0aUse\x20this\x20for\x20adding\x20installs\x20either\x20custom\x20compiled\x20outside\x20mise\x20or\x20built\x20with\x20a\x20different\x20tool\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x23\x20build\x20node\x2d20\x2e0\x2e0\x20with\x20node\x2dbuild\x20and\x20link\x20it\x20into\x20mise\x0a\x20\x20\x20\x20\x24\x20node\x2dbuild\x2020\x2e0\x2e0\x20\x7e/\x2enodes/20\x2e0\x2e0\x0a\x20\x20\x20\x20\x24\x20mise\x20link\x20node\x4020\x2e0\x2e0\x20\x7e/\x2enodes/20\x2e0\x2e0\x0a\x0a\x20\x20\x20\x20\x23\x20have\x20mise\x20use\x20the\x20python\x20version\x20provided\x20by\x20Homebrew\x0a\x20\x20\x20\x20\x24\x20brew\x20install\x20node\x0a\x20\x20\x20\x20\x24\x20mise\x20link\x20node\x40brew\x20\x24\x28brew\x20\x2d\x2dprefix\x20node\x29\x0a\x20\x20\x20\x20\x24\x20mise\x20use\x20node\x40brew\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dforce\x22\x20help\x3d\x22Overwrite\x20an\x20existing\x20tool\x20version\x20if\x20it\x20exists\x22\x0a\x20\x20\x20\x20arg\x20\x22\x3cTOOL\x40VERSION\x3e\x22\x20help\x3d\x22Tool\x20name\x20and\x20version\x20to\x20create\x20a\x20symlink\x20for\x22\x0a\x20\x20\x20\x20arg\x20\x22\x3cPATH\x3e\x22\x20help\x3d\x22The\x20local\x20path\x20to\x20the\x20tool\x20version\x5cne\x2eg\x2e\x3a\x20\x7e/\x2envm/versions/node/v20\x2e0\x2e0\x22\x0a\x7d\x0acmd\x20\x22local\x22\x20hide\x3dtrue\x20help\x3d\x22Sets/gets\x20tool\x20version\x20in\x20local\x20\x2etool\x2dversions\x20or\x20mise\x2etoml\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22l\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20long_help\x20r\x22Sets/gets\x20tool\x20version\x20in\x20local\x20\x2etool\x2dversions\x20or\x20mise\x2etoml\x0a\x0aUse\x20this\x20to\x20set\x20a\x20tool\x27s\x20version\x20when\x20within\x20a\x20directory\x0aUse\x20\x60mise\x20global\x60\x20to\x20set\x20a\x20tool\x20version\x20globally\x0aThis\x20uses\x20\x60\x2etool\x2dversion\x60\x20by\x20default\x20unless\x20there\x20is\x20a\x20\x60mise\x2etoml\x60\x20file\x20or\x20if\x20\x60MISE_USE_TOML\x60\x0ais\x20set\x2e\x20A\x20future\x20v2\x20release\x20of\x20mise\x20will\x20default\x20to\x20using\x20\x60mise\x2etoml\x60\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x20\x20\x20\x20\x23\x20set\x20the\x20current\x20version\x20of\x20node\x20to\x2020\x2ex\x20for\x20the\x20current\x20directory\x0a\x20\x20\x20\x20\x23\x20will\x20use\x20a\x20precise\x20version\x20\x28e\x2eg\x2e\x3a\x2020\x2e0\x2e0\x29\x20in\x20\x2etool\x2dversions\x20file\x0a\x20\x20\x20\x20\x24\x20mise\x20local\x20node\x4020\x0a\x0a\x20\x20\x20\x20\x23\x20set\x20node\x20to\x2020\x2ex\x20for\x20the\x20current\x20project\x20\x28recurses\x20up\x20to\x20find\x20\x2etool\x2dversions\x29\x0a\x20\x20\x20\x20\x24\x20mise\x20local\x20\x2dp\x20node\x4020\x0a\x0a\x20\x20\x20\x20\x23\x20set\x20the\x20current\x20version\x20of\x20node\x20to\x2020\x2ex\x20for\x20the\x20current\x20directory\x0a\x20\x20\x20\x20\x23\x20will\x20use\x20a\x20fuzzy\x20version\x20\x28e\x2eg\x2e\x3a\x2020\x29\x20in\x20\x2etool\x2dversions\x20file\x0a\x20\x20\x20\x20\x24\x20mise\x20local\x20\x2d\x2dfuzzy\x20node\x4020\x0a\x0a\x20\x20\x20\x20\x23\x20removes\x20node\x20from\x20\x2etool\x2dversions\x0a\x20\x20\x20\x20\x24\x20mise\x20local\x20\x2d\x2dremove\x3dnode\x0a\x0a\x20\x20\x20\x20\x23\x20show\x20the\x20current\x20version\x20of\x20node\x20in\x20\x2etool\x2dversions\x0a\x20\x20\x20\x20\x24\x20mise\x20local\x20node\x0a\x20\x20\x20\x2020\x2e0\x2e0\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dp\x20\x2d\x2dparent\x22\x20help\x3d\x22Recurse\x20up\x20to\x20find\x20a\x20\x2etool\x2dversions\x20file\x20rather\x20than\x20using\x20the\x20current\x20directory\x20only\x5cnby\x20default\x20this\x20command\x20will\x20only\x20set\x20the\x20tool\x20in\x20the\x20current\x20directory\x20\x28\x5c\x22\x24PWD/\x2etool\x2dversions\x5c\x22\x29\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dpin\x22\x20help\x3d\x22Save\x20exact\x20version\x20to\x20\x60\x2etool\x2dversions\x60\x5cne\x2eg\x2e\x3a\x20\x60mise\x20local\x20\x2d\x2dpin\x20node\x4020\x60\x20will\x20save\x20\x60node\x2020\x2e0\x2e0\x60\x20to\x20\x2etool\x2dversions\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dfuzzy\x22\x20help\x3d\x22Save\x20fuzzy\x20version\x20to\x20\x60\x2etool\x2dversions\x60\x20e\x2eg\x2e\x3a\x20\x60mise\x20local\x20\x2d\x2dfuzzy\x20node\x4020\x60\x20will\x20save\x20\x60node\x2020\x60\x20to\x20\x2etool\x2dversions\x20This\x20is\x20the\x20default\x20behavior\x20unless\x20MISE_ASDF_COMPAT\x3d1\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dremove\x22\x20help\x3d\x22Remove\x20the\x20plugin\x28s\x29\x20from\x20\x2etool\x2dversions\x22\x20var\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cPLUGIN\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dpath\x22\x20help\x3d\x22Get\x20the\x20path\x20of\x20the\x20config\x20file\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bTOOL\x40VERSION\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20add\x20to\x20\x2etool\x2dversions/mise\x2etoml\x5cne\x2eg\x2e\x3a\x20node\x4020\x5cnif\x20this\x20is\x20a\x20single\x20tool\x20with\x20no\x20version\x2c\x5cnthe\x20current\x20value\x20of\x20\x2etool\x2dversions/mise\x2etoml\x20will\x20be\x20displayed\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22ls\x22\x20help\x3d\x22List\x20installed\x20and\x20active\x20tool\x20versions\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22list\x22\x0a\x20\x20\x20\x20long_help\x20r\x23\x22List\x20installed\x20and\x20active\x20tool\x20versions\x0a\x0aThis\x20command\x20lists\x20tools\x20that\x20mise\x20\x22knows\x20about\x22\x2e\x0aThese\x20may\x20be\x20tools\x20that\x20are\x20currently\x20installed\x2c\x20or\x20those\x0athat\x20are\x20in\x20a\x20config\x20file\x20\x28active\x29\x20but\x20may\x20or\x20may\x20not\x20be\x20installed\x2e\x0a\x0aIt\x27s\x20a\x20useful\x20command\x20to\x20get\x20the\x20current\x20state\x20of\x20your\x20tools\x2e\x22\x23\x0a\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20ls\x0a\x20\x20\x20\x20node\x20\x20\x20\x2020\x2e0\x2e0\x20\x7e/src/myapp/\x2etool\x2dversions\x20latest\x0a\x20\x20\x20\x20python\x20\x203\x2e11\x2e0\x20\x7e/\x2etool\x2dversions\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x203\x2e10\x0a\x20\x20\x20\x20python\x20\x203\x2e10\x2e0\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20ls\x20\x2d\x2dcurrent\x0a\x20\x20\x20\x20node\x20\x20\x20\x2020\x2e0\x2e0\x20\x7e/src/myapp/\x2etool\x2dversions\x2020\x0a\x20\x20\x20\x20python\x20\x203\x2e11\x2e0\x20\x7e/\x2etool\x2dversions\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x203\x2e11\x2e0\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20ls\x20\x2d\x2djson\x0a\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x22node\x22\x3a\x20\x5b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22version\x22\x3a\x20\x2220\x2e0\x2e0\x22\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22install_path\x22\x3a\x20\x22/Users/jdx/\x2emise/installs/node/20\x2e0\x2e0\x22\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22source\x22\x3a\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22type\x22\x3a\x20\x22mise\x2etoml\x22\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22path\x22\x3a\x20\x22/Users/jdx/mise\x2etoml\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x5d\x2c\x0a\x20\x20\x20\x20\x20\x20\x22python\x22\x3a\x20\x5b\x2e\x2e\x2e\x5d\x0a\x20\x20\x20\x20\x7d\x0a\x22\x23\x0a\x20\x20\x20\x20flag\x20\x22\x2dp\x20\x2d\x2dplugin\x22\x20hide\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cPLUGIN_FLAG\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dc\x20\x2d\x2dcurrent\x22\x20help\x3d\x22Only\x20show\x20tool\x20versions\x20currently\x20specified\x20in\x20a\x20mise\x2etoml\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dg\x20\x2d\x2dglobal\x22\x20help\x3d\x22Only\x20show\x20tool\x20versions\x20currently\x20specified\x20in\x20the\x20global\x20mise\x2etoml\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2di\x20\x2d\x2dinstalled\x22\x20help\x3d\x22Only\x20show\x20tool\x20versions\x20that\x20are\x20installed\x20\x28Hides\x20tools\x20defined\x20in\x20mise\x2etoml\x20but\x20not\x20installed\x29\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2do\x20\x2d\x2doffline\x22\x20help\x3d\x22Don\x27t\x20fetch\x20information\x20such\x20as\x20outdated\x20versions\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dparseable\x22\x20help\x3d\x22Output\x20in\x20an\x20easily\x20parseable\x20format\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20flag\x20\x22\x2dJ\x20\x2d\x2djson\x22\x20help\x3d\x22Output\x20in\x20JSON\x20format\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dm\x20\x2d\x2dmissing\x22\x20help\x3d\x22Display\x20missing\x20tool\x20versions\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dprefix\x22\x20help\x3d\x22Display\x20versions\x20matching\x20this\x20prefix\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cPREFIX\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dno\x2dheader\x22\x20help\x3d\x22Don\x27t\x20display\x20headers\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bPLUGIN\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Only\x20show\x20tool\x20versions\x20from\x20\x5bPLUGIN\x5d\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22ls\x2dremote\x22\x20help\x3d\x22List\x20runtime\x20versions\x20available\x20for\x20install\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22list\x2dall\x22\x20\x22list\x2dremote\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20long_help\x20r\x22List\x20runtime\x20versions\x20available\x20for\x20install\x2e\x0a\x0aNote\x20that\x20the\x20results\x20may\x20be\x20cached\x2c\x20run\x20\x60mise\x20cache\x20clean\x60\x20to\x20clear\x20the\x20cache\x20and\x20get\x20fresh\x20results\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20ls\x2dremote\x20node\x0a\x20\x20\x20\x2018\x2e0\x2e0\x0a\x20\x20\x20\x2020\x2e0\x2e0\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20ls\x2dremote\x20node\x4020\x0a\x20\x20\x20\x2020\x2e0\x2e0\x0a\x20\x20\x20\x2020\x2e1\x2e0\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20ls\x2dremote\x20node\x2020\x0a\x20\x20\x20\x2020\x2e0\x2e0\x0a\x20\x20\x20\x2020\x2e1\x2e0\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dall\x22\x20help\x3d\x22Show\x20all\x20installed\x20plugins\x20and\x20versions\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bTOOL\x40VERSION\x5d\x22\x20help\x3d\x22Tool\x20to\x20get\x20versions\x20for\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bPREFIX\x5d\x22\x20help\x3d\x22The\x20version\x20prefix\x20to\x20use\x20when\x20querying\x20the\x20latest\x20version\x5cnsame\x20as\x20the\x20first\x20argument\x20after\x20the\x20\x5c\x22\x40\x5c\x22\x22\x0a\x7d\x0acmd\x20\x22outdated\x22\x20help\x3d\x22Shows\x20outdated\x20tool\x20versions\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Shows\x20outdated\x20tool\x20versions\x0a\x0aSee\x20\x60mise\x20upgrade\x60\x20to\x20upgrade\x20these\x20versions\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20outdated\x0a\x20\x20\x20\x20Plugin\x20\x20Requested\x20\x20Current\x20\x20Latest\x0a\x20\x20\x20\x20python\x20\x203\x2e11\x20\x20\x20\x20\x20\x20\x203\x2e11\x2e0\x20\x20\x203\x2e11\x2e1\x0a\x20\x20\x20\x20node\x20\x20\x20\x2020\x20\x20\x20\x20\x20\x20\x20\x20\x2020\x2e0\x2e0\x20\x20\x2020\x2e1\x2e0\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20outdated\x20node\x0a\x20\x20\x20\x20Plugin\x20\x20Requested\x20\x20Current\x20\x20Latest\x0a\x20\x20\x20\x20node\x20\x20\x20\x2020\x20\x20\x20\x20\x20\x20\x20\x20\x2020\x2e0\x2e0\x20\x20\x2020\x2e1\x2e0\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20outdated\x20\x2d\x2djson\x0a\x20\x20\x20\x20\x7b\x22python\x22\x3a\x20\x7b\x22requested\x22\x3a\x20\x223\x2e11\x22\x2c\x20\x22current\x22\x3a\x20\x223\x2e11\x2e0\x22\x2c\x20\x22latest\x22\x3a\x20\x223\x2e11\x2e1\x22\x7d\x2c\x20\x2e\x2e\x2e\x7d\x0a\x22\x23\x0a\x20\x20\x20\x20flag\x20\x22\x2dl\x20\x2d\x2dbump\x22\x20help\x3d\x22Compares\x20against\x20the\x20latest\x20versions\x20available\x2c\x20not\x20what\x20matches\x20the\x20current\x20config\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22Compares\x20against\x20the\x20latest\x20versions\x20available\x2c\x20not\x20what\x20matches\x20the\x20current\x20config\x5cn\x5cnFor\x20example\x2c\x20if\x20you\x20have\x20\x60node\x20\x3d\x20\x5c\x2220\x5c\x22\x60\x20in\x20your\x20config\x20by\x20default\x20\x60mise\x20outdated\x60\x20will\x20only\x5cnshow\x20other\x2020\x2ex\x20versions\x2c\x20not\x2021\x2ex\x20or\x2022\x2ex\x20versions\x2e\x5cn\x5cnUsing\x20this\x20flag\x2c\x20if\x20there\x20are\x2021\x2ex\x20or\x20newer\x20versions\x20it\x20will\x20display\x20those\x20instead\x20of\x2020\x2ex\x2e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dJ\x20\x2d\x2djson\x22\x20help\x3d\x22Output\x20in\x20JSON\x20format\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dno\x2dheader\x22\x20help\x3d\x22Don\x27t\x20show\x20table\x20header\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bTOOL\x40VERSION\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20show\x20outdated\x20versions\x20for\x5cne\x2eg\x2e\x3a\x20node\x4020\x20python\x403\x2e10\x5cnIf\x20not\x20specified\x2c\x20all\x20tools\x20in\x20global\x20and\x20local\x20configs\x20will\x20be\x20shown\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22plugins\x22\x20help\x3d\x22Manage\x20plugins\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22p\x22\x0a\x20\x20\x20\x20alias\x20\x22plugin\x22\x20\x22plugin\x2dlist\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20flag\x20\x22\x2da\x20\x2d\x2dall\x22\x20help\x3d\x22list\x20all\x20available\x20remote\x20plugins\x22\x20hide\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22list\x20all\x20available\x20remote\x20plugins\x5cn\x5cnsame\x20as\x20\x60mise\x20plugins\x20ls\x2dremote\x60\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dc\x20\x2d\x2dcore\x22\x20help\x3d\x22The\x20built\x2din\x20plugins\x20only\x5cnNormally\x20these\x20are\x20not\x20shown\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2duser\x22\x20help\x3d\x22List\x20installed\x20plugins\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22List\x20installed\x20plugins\x5cn\x5cnThis\x20is\x20the\x20default\x20behavior\x20but\x20can\x20be\x20used\x20with\x20\x2d\x2dcore\x5cnto\x20show\x20core\x20and\x20user\x20plugins\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2du\x20\x2d\x2durls\x22\x20help\x3d\x22Show\x20the\x20git\x20url\x20for\x20each\x20plugin\x5cne\x2eg\x2e\x3a\x20https\x3a//github\x2ecom/asdf\x2dvm/asdf\x2dnodejs\x2egit\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2drefs\x22\x20help\x3d\x22Show\x20the\x20git\x20refs\x20for\x20each\x20plugin\x5cne\x2eg\x2e\x3a\x20main\x201234abc\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20cmd\x20\x22install\x22\x20help\x3d\x22Install\x20a\x20plugin\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22i\x22\x20\x22a\x22\x20\x22add\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Install\x20a\x20plugin\x0a\x0anote\x20that\x20mise\x20automatically\x20can\x20install\x20plugins\x20when\x20you\x20install\x20a\x20tool\x0ae\x2eg\x2e\x3a\x20\x60mise\x20install\x20node\x4020\x60\x20will\x20autoinstall\x20the\x20node\x20plugin\x0a\x0aThis\x20behavior\x20can\x20be\x20modified\x20in\x20\x7e/\x2econfig/mise/config\x2etoml\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x23\x20install\x20the\x20node\x20via\x20shorthand\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20install\x20node\x0a\x0a\x20\x20\x20\x20\x23\x20install\x20the\x20node\x20plugin\x20using\x20a\x20specific\x20git\x20url\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20install\x20node\x20https\x3a//github\x2ecom/mise\x2dplugins/rtx\x2dnodejs\x2egit\x0a\x0a\x20\x20\x20\x20\x23\x20install\x20the\x20node\x20plugin\x20using\x20the\x20git\x20url\x20only\x0a\x20\x20\x20\x20\x23\x20\x28node\x20is\x20inferred\x20from\x20the\x20url\x29\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20install\x20https\x3a//github\x2ecom/mise\x2dplugins/rtx\x2dnodejs\x2egit\x0a\x0a\x20\x20\x20\x20\x23\x20install\x20the\x20node\x20plugin\x20using\x20a\x20specific\x20ref\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20install\x20node\x20https\x3a//github\x2ecom/mise\x2dplugins/rtx\x2dnodejs\x2egit\x23v1\x2e0\x2e0\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dforce\x22\x20help\x3d\x22Reinstall\x20even\x20if\x20plugin\x20exists\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2da\x20\x2d\x2dall\x22\x20help\x3d\x22Install\x20all\x20missing\x20plugins\x5cnThis\x20will\x20only\x20install\x20plugins\x20that\x20have\x20matching\x20shorthands\x2e\x5cni\x2ee\x2e\x3a\x20they\x20don\x27t\x20need\x20the\x20full\x20git\x20repo\x20url\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dv\x20\x2d\x2dverbose\x22\x20help\x3d\x22Show\x20installation\x20output\x22\x20var\x3dtrue\x20count\x3dtrue\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bNEW_PLUGIN\x5d\x22\x20help\x3d\x22The\x20name\x20of\x20the\x20plugin\x20to\x20install\x5cne\x2eg\x2e\x3a\x20node\x2c\x20ruby\x5cnCan\x20specify\x20multiple\x20plugins\x3a\x20\x60mise\x20plugins\x20install\x20node\x20ruby\x20python\x60\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bGIT_URL\x5d\x22\x20help\x3d\x22The\x20git\x20url\x20of\x20the\x20plugin\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bREST\x5d\x2e\x2e\x2e\x22\x20var\x3dtrue\x20hide\x3dtrue\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22link\x22\x20help\x3d\x22Symlinks\x20a\x20plugin\x20into\x20mise\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22ln\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Symlinks\x20a\x20plugin\x20into\x20mise\x0a\x0aThis\x20is\x20used\x20for\x20developing\x20a\x20plugin\x2e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x23\x20essentially\x20just\x20\x60ln\x20\x2ds\x20\x2e/mise\x2dnode\x20\x7e/\x2elocal/share/mise/plugins/node\x60\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20link\x20node\x20\x2e/mise\x2dnode\x0a\x0a\x20\x20\x20\x20\x23\x20infer\x20plugin\x20name\x20as\x20\x22node\x22\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20link\x20\x2e/mise\x2dnode\x0a\x22\x23\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dforce\x22\x20help\x3d\x22Overwrite\x20existing\x20plugin\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cNAME\x3e\x22\x20help\x3d\x22The\x20name\x20of\x20the\x20plugin\x5cne\x2eg\x2e\x3a\x20node\x2c\x20ruby\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bDIR\x5d\x22\x20help\x3d\x22The\x20local\x20path\x20to\x20the\x20plugin\x5cne\x2eg\x2e\x3a\x20\x2e/mise\x2dnode\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22ls\x22\x20help\x3d\x22List\x20installed\x20plugins\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22list\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22List\x20installed\x20plugins\x0a\x0aCan\x20also\x20show\x20remotely\x20available\x20plugins\x20to\x20install\x2e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20ls\x0a\x20\x20\x20\x20node\x0a\x20\x20\x20\x20ruby\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20ls\x20\x2d\x2durls\x0a\x20\x20\x20\x20node\x20\x20\x20\x20https\x3a//github\x2ecom/asdf\x2dvm/asdf\x2dnodejs\x2egit\x0a\x20\x20\x20\x20ruby\x20\x20\x20\x20https\x3a//github\x2ecom/asdf\x2dvm/asdf\x2druby\x2egit\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2da\x20\x2d\x2dall\x22\x20help\x3d\x22List\x20all\x20available\x20remote\x20plugins\x5cnSame\x20as\x20\x60mise\x20plugins\x20ls\x2dremote\x60\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dc\x20\x2d\x2dcore\x22\x20help\x3d\x22The\x20built\x2din\x20plugins\x20only\x5cnNormally\x20these\x20are\x20not\x20shown\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2duser\x22\x20help\x3d\x22List\x20installed\x20plugins\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22List\x20installed\x20plugins\x5cn\x5cnThis\x20is\x20the\x20default\x20behavior\x20but\x20can\x20be\x20used\x20with\x20\x2d\x2dcore\x5cnto\x20show\x20core\x20and\x20user\x20plugins\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2du\x20\x2d\x2durls\x22\x20help\x3d\x22Show\x20the\x20git\x20url\x20for\x20each\x20plugin\x5cne\x2eg\x2e\x3a\x20https\x3a//github\x2ecom/asdf\x2dvm/asdf\x2dnodejs\x2egit\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2drefs\x22\x20help\x3d\x22Show\x20the\x20git\x20refs\x20for\x20each\x20plugin\x5cne\x2eg\x2e\x3a\x20main\x201234abc\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22ls\x2dremote\x22\x20help\x3d\x22List\x20all\x20available\x20remote\x20plugins\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22list\x2dremote\x22\x20\x22list\x2dall\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22\x0aList\x20all\x20available\x20remote\x20plugins\x0a\x0aThe\x20full\x20list\x20is\x20here\x3a\x20https\x3a//github\x2ecom/jdx/mise/blob/main/registry\x2etoml\x0a\x0aExamples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20ls\x2dremote\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2du\x20\x2d\x2durls\x22\x20help\x3d\x22Show\x20the\x20git\x20url\x20for\x20each\x20plugin\x20e\x2eg\x2e\x3a\x20https\x3a//github\x2ecom/mise\x2dplugins/mise\x2dpoetry\x2egit\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2donly\x2dnames\x22\x20help\x3d\x22Only\x20show\x20the\x20name\x20of\x20each\x20plugin\x20by\x20default\x20it\x20will\x20show\x20a\x20\x5c\x22\x2a\x5c\x22\x20next\x20to\x20installed\x20plugins\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22uninstall\x22\x20help\x3d\x22Removes\x20a\x20plugin\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22remove\x22\x20\x22rm\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20uninstall\x20node\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dp\x20\x2d\x2dpurge\x22\x20help\x3d\x22Also\x20remove\x20the\x20plugin\x27s\x20installs\x2c\x20downloads\x2c\x20and\x20cache\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2da\x20\x2d\x2dall\x22\x20help\x3d\x22Remove\x20all\x20plugins\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bPLUGIN\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Plugin\x28s\x29\x20to\x20remove\x22\x20var\x3dtrue\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22update\x22\x20help\x3d\x22Updates\x20a\x20plugin\x20to\x20the\x20latest\x20version\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22up\x22\x20\x22upgrade\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Updates\x20a\x20plugin\x20to\x20the\x20latest\x20version\x0a\x0anote\x3a\x20this\x20updates\x20the\x20plugin\x20itself\x2c\x20not\x20the\x20runtime\x20versions\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20update\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x23\x20update\x20all\x20plugins\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20update\x20node\x20\x20\x20\x20\x20\x20\x20\x23\x20update\x20only\x20node\x0a\x20\x20\x20\x20\x24\x20mise\x20plugins\x20update\x20node\x23beta\x20\x20\x23\x20specify\x20a\x20ref\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dj\x20\x2d\x2djobs\x22\x20help\x3d\x22Number\x20of\x20jobs\x20to\x20run\x20in\x20parallel\x5cnDefault\x3a\x204\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cJOBS\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bPLUGIN\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Plugin\x28s\x29\x20to\x20update\x22\x20var\x3dtrue\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22prune\x22\x20help\x3d\x22Delete\x20unused\x20versions\x20of\x20tools\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Delete\x20unused\x20versions\x20of\x20tools\x0a\x0amise\x20tracks\x20which\x20config\x20files\x20have\x20been\x20used\x20in\x20\x7e/\x2elocal/state/mise/tracked\x2dconfigs\x0aVersions\x20which\x20are\x20no\x20longer\x20the\x20latest\x20specified\x20in\x20any\x20of\x20those\x20configs\x20are\x20deleted\x2e\x0aVersions\x20installed\x20only\x20with\x20environment\x20variables\x20\x60MISE_\x3cPLUGIN\x3e_VERSION\x60\x20will\x20be\x20deleted\x2c\x0aas\x20will\x20versions\x20only\x20referenced\x20on\x20the\x20command\x20line\x20\x60mise\x20exec\x20\x3cPLUGIN\x3e\x40\x3cVERSION\x3e\x60\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20prune\x20\x2d\x2ddry\x2drun\x0a\x20\x20\x20\x20rm\x20\x2drf\x20\x7e/\x2elocal/share/mise/versions/node/20\x2e0\x2e0\x0a\x20\x20\x20\x20rm\x20\x2drf\x20\x7e/\x2elocal/share/mise/versions/node/20\x2e0\x2e1\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dn\x20\x2d\x2ddry\x2drun\x22\x20help\x3d\x22Do\x20not\x20actually\x20delete\x20anything\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dconfigs\x22\x20help\x3d\x22Prune\x20only\x20tracked\x20and\x20trusted\x20configuration\x20links\x20that\x20point\x20to\x20non\x2dexistent\x20configurations\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dtools\x22\x20help\x3d\x22Prune\x20only\x20unused\x20versions\x20of\x20tools\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bPLUGIN\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Prune\x20only\x20versions\x20from\x20this\x20plugin\x28s\x29\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22registry\x22\x20help\x3d\x22List\x20available\x20tools\x20to\x20install\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22List\x20available\x20tools\x20to\x20install\x0a\x0aThis\x20command\x20lists\x20the\x20tools\x20available\x20in\x20the\x20registry\x20as\x20shorthand\x20names\x2e\x0a\x0aFor\x20example\x2c\x20\x60poetry\x60\x20is\x20shorthand\x20for\x20\x60asdf\x3amise\x2dplugins/mise\x2dpoetry\x60\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20registry\x0a\x20\x20\x20\x20node\x20\x20\x20\x20core\x3anode\x0a\x20\x20\x20\x20poetry\x20\x20asdf\x3amise\x2dplugins/mise\x2dpoetry\x0a\x20\x20\x20\x20ubi\x20\x20\x20\x20\x20cargo\x3aubi\x2dcli\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20registry\x20poetry\x0a\x20\x20\x20\x20asdf\x3amise\x2dplugins/mise\x2dpoetry\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2db\x20\x2d\x2dbackend\x22\x20help\x3d\x22Show\x20only\x20tools\x20for\x20this\x20backend\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cBACKEND\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20arg\x20\x22\x5bNAME\x5d\x22\x20help\x3d\x22Show\x20only\x20the\x20specified\x20tool\x27s\x20full\x20name\x22\x0a\x7d\x0acmd\x20\x22reshim\x22\x20help\x3d\x22Creates\x20new\x20shims\x20based\x20on\x20bin\x20paths\x20from\x20currently\x20installed\x20tools\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x23\x22Creates\x20new\x20shims\x20based\x20on\x20bin\x20paths\x20from\x20currently\x20installed\x20tools\x2e\x0a\x0aThis\x20creates\x20new\x20shims\x20in\x20\x7e/\x2elocal/share/mise/shims\x20for\x20CLIs\x20that\x20have\x20been\x20added\x2e\x0amise\x20will\x20try\x20to\x20do\x20this\x20automatically\x20for\x20commands\x20like\x20\x60npm\x20i\x20\x2dg\x60\x20but\x20there\x20are\x0aother\x20ways\x20to\x20install\x20things\x20\x28like\x20using\x20yarn\x20or\x20pnpm\x20for\x20node\x29\x20that\x20mise\x20does\x0anot\x20know\x20about\x20and\x20so\x20it\x20will\x20be\x20necessary\x20to\x20call\x20this\x20explicitly\x2e\x0a\x0aIf\x20you\x20think\x20mise\x20should\x20automatically\x20call\x20this\x20for\x20a\x20particular\x20command\x2c\x20please\x0aopen\x20an\x20issue\x20on\x20the\x20mise\x20repo\x2e\x20You\x20can\x20also\x20setup\x20a\x20shell\x20function\x20to\x20reshim\x0aautomatically\x20\x28it\x27s\x20really\x20fast\x20so\x20you\x20don\x27t\x20need\x20to\x20worry\x20about\x20overhead\x29\x3a\x0a\x0a\x20\x20\x20\x20npm\x28\x29\x20\x7b\x0a\x20\x20\x20\x20\x20\x20command\x20npm\x20\x22\x24\x40\x22\x0a\x20\x20\x20\x20\x20\x20mise\x20reshim\x0a\x20\x20\x20\x20\x7d\x0a\x0aNote\x20that\x20this\x20creates\x20shims\x20for\x20_all_\x20installed\x20tools\x2c\x20not\x20just\x20the\x20ones\x20that\x20are\x0acurrently\x20active\x20in\x20mise\x2etoml\x2e\x22\x23\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20reshim\x0a\x20\x20\x20\x20\x24\x20\x7e/\x2elocal/share/mise/shims/node\x20\x2dv\x0a\x20\x20\x20\x20v20\x2e0\x2e0\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dforce\x22\x20help\x3d\x22Removes\x20all\x20shims\x20before\x20reshimming\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bPLUGIN\x5d\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20arg\x20\x22\x5bVERSION\x5d\x22\x20hide\x3dtrue\x0a\x7d\x0acmd\x20\x22run\x22\x20help\x3d\x22Run\x20task\x28s\x29\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22r\x22\x0a\x20\x20\x20\x20long_help\x20r\x23\x22Run\x20task\x28s\x29\x0a\x0aThis\x20command\x20will\x20run\x20a\x20tasks\x2c\x20or\x20multiple\x20tasks\x20in\x20parallel\x2e\x0aTasks\x20may\x20have\x20dependencies\x20on\x20other\x20tasks\x20or\x20on\x20source\x20files\x2e\x0aIf\x20source\x20is\x20configured\x20on\x20a\x20tasks\x2c\x20it\x20will\x20only\x20run\x20if\x20the\x20source\x0afiles\x20have\x20changed\x2e\x0a\x0aTasks\x20can\x20be\x20defined\x20in\x20mise\x2etoml\x20or\x20as\x20standalone\x20scripts\x2e\x0aIn\x20mise\x2etoml\x2c\x20tasks\x20take\x20this\x20form\x3a\x0a\x0a\x20\x20\x20\x20\x5btasks\x2ebuild\x5d\x0a\x20\x20\x20\x20run\x20\x3d\x20\x22npm\x20run\x20build\x22\x0a\x20\x20\x20\x20sources\x20\x3d\x20\x5b\x22src/\x2a\x2a/\x2a\x2ets\x22\x5d\x0a\x20\x20\x20\x20outputs\x20\x3d\x20\x5b\x22dist/\x2a\x2a/\x2a\x2ejs\x22\x5d\x0a\x0aAlternatively\x2c\x20tasks\x20can\x20be\x20defined\x20as\x20standalone\x20scripts\x2e\x0aThese\x20must\x20be\x20located\x20in\x20\x60mise\x2dtasks\x60\x2c\x20\x60\x2emise\x2dtasks\x60\x2c\x20\x60\x2emise/tasks\x60\x2c\x20\x60mise/tasks\x60\x20or\x0a\x60\x2econfig/mise/tasks\x60\x2e\x0aThe\x20name\x20of\x20the\x20script\x20will\x20be\x20the\x20name\x20of\x20the\x20tasks\x2e\x0a\x0a\x20\x20\x20\x20\x24\x20cat\x20\x2emise/tasks/build\x3c\x3cEOF\x0a\x20\x20\x20\x20\x23\x21/usr/bin/env\x20bash\x0a\x20\x20\x20\x20npm\x20run\x20build\x0a\x20\x20\x20\x20EOF\x0a\x20\x20\x20\x20\x24\x20mise\x20run\x20build\x22\x23\x0a\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x23\x20Runs\x20the\x20\x22lint\x22\x20tasks\x2e\x20This\x20needs\x20to\x20either\x20be\x20defined\x20in\x20mise\x2etoml\x0a\x20\x20\x20\x20\x23\x20or\x20as\x20a\x20standalone\x20script\x2e\x20See\x20the\x20project\x20README\x20for\x20more\x20information\x2e\x0a\x20\x20\x20\x20\x24\x20mise\x20run\x20lint\x0a\x0a\x20\x20\x20\x20\x23\x20Forces\x20the\x20\x22build\x22\x20tasks\x20to\x20run\x20even\x20if\x20its\x20sources\x20are\x20up\x2dto\x2ddate\x2e\x0a\x20\x20\x20\x20\x24\x20mise\x20run\x20build\x20\x2d\x2dforce\x0a\x0a\x20\x20\x20\x20\x23\x20Run\x20\x22test\x22\x20with\x20stdin/stdout/stderr\x20all\x20connected\x20to\x20the\x20current\x20terminal\x2e\x0a\x20\x20\x20\x20\x23\x20This\x20forces\x20\x60\x2d\x2djobs\x3d1\x60\x20to\x20prevent\x20interleaving\x20of\x20output\x2e\x0a\x20\x20\x20\x20\x24\x20mise\x20run\x20test\x20\x2d\x2draw\x0a\x0a\x20\x20\x20\x20\x23\x20Runs\x20the\x20\x22lint\x22\x2c\x20\x22test\x22\x2c\x20and\x20\x22check\x22\x20tasks\x20in\x20parallel\x2e\x0a\x20\x20\x20\x20\x24\x20mise\x20run\x20lint\x20\x3a\x3a\x3a\x20test\x20\x3a\x3a\x3a\x20check\x0a\x0a\x20\x20\x20\x20\x23\x20Execute\x20multiple\x20tasks\x20each\x20with\x20their\x20own\x20arguments\x2e\x0a\x20\x20\x20\x20\x24\x20mise\x20tasks\x20cmd1\x20arg1\x20arg2\x20\x3a\x3a\x3a\x20cmd2\x20arg1\x20arg2\x0a\x22\x23\x0a\x20\x20\x20\x20flag\x20\x22\x2dC\x20\x2d\x2dcd\x22\x20help\x3d\x22Change\x20to\x20this\x20directory\x20before\x20executing\x20the\x20command\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cCD\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dn\x20\x2d\x2ddry\x2drun\x22\x20help\x3d\x22Don\x27t\x20actually\x20run\x20the\x20tasks\x28s\x29\x2c\x20just\x20print\x20them\x20in\x20order\x20of\x20execution\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dforce\x22\x20help\x3d\x22Force\x20the\x20tasks\x20to\x20run\x20even\x20if\x20outputs\x20are\x20up\x20to\x20date\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dp\x20\x2d\x2dprefix\x22\x20help\x3d\x22Print\x20stdout/stderr\x20by\x20line\x2c\x20prefixed\x20with\x20the\x20tasks\x27s\x20label\x5cnDefaults\x20to\x20true\x20if\x20\x2d\x2djobs\x20\x3e\x201\x5cnConfigure\x20with\x20\x60task_output\x60\x20config\x20or\x20\x60MISE_TASK_OUTPUT\x60\x20env\x20var\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2di\x20\x2d\x2dinterleave\x22\x20help\x3d\x22Print\x20directly\x20to\x20stdout/stderr\x20instead\x20of\x20by\x20line\x5cnDefaults\x20to\x20true\x20if\x20\x2d\x2djobs\x20\x3d\x3d\x201\x5cnConfigure\x20with\x20\x60task_output\x60\x20config\x20or\x20\x60MISE_TASK_OUTPUT\x60\x20env\x20var\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dt\x20\x2d\x2dtool\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20also\x20add\x20e\x2eg\x2e\x3a\x20node\x4020\x20python\x403\x2e10\x22\x20var\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cTOOL\x40VERSION\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dj\x20\x2d\x2djobs\x22\x20help\x3d\x22Number\x20of\x20tasks\x20to\x20run\x20in\x20parallel\x5cn\x5bdefault\x3a\x204\x5d\x5cnConfigure\x20with\x20\x60jobs\x60\x20config\x20or\x20\x60MISE_JOBS\x60\x20env\x20var\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cJOBS\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dr\x20\x2d\x2draw\x22\x20help\x3d\x22Read/write\x20directly\x20to\x20stdin/stdout/stderr\x20instead\x20of\x20by\x20line\x5cnConfigure\x20with\x20\x60raw\x60\x20config\x20or\x20\x60MISE_RAW\x60\x20env\x20var\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dtimings\x22\x20help\x3d\x22Shows\x20elapsed\x20time\x20after\x20each\x20task\x20completes\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22Shows\x20elapsed\x20time\x20after\x20each\x20task\x20completes\x5cn\x5cnDefault\x20to\x20always\x20show\x20with\x20\x60MISE_TASK_TIMINGS\x3d1\x60\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20mount\x20run\x3d\x22mise\x20tasks\x20\x2d\x2dusage\x22\x0a\x7d\x0acmd\x20\x22self\x2dupdate\x22\x20help\x3d\x22Updates\x20mise\x20itself\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Updates\x20mise\x20itself\x2e\x0a\x0aUses\x20the\x20GitHub\x20Releases\x20API\x20to\x20find\x20the\x20latest\x20release\x20and\x20binary\x2e\x0aBy\x20default\x2c\x20this\x20will\x20also\x20update\x20any\x20installed\x20plugins\x2e\x0aUses\x20the\x20\x60GITHUB_API_TOKEN\x60\x20environment\x20variable\x20if\x20set\x20for\x20higher\x20rate\x20limits\x2e\x0a\x0aThis\x20command\x20is\x20not\x20available\x20if\x20mise\x20is\x20installed\x20via\x20a\x20package\x20manager\x2e\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dforce\x22\x20help\x3d\x22Update\x20even\x20if\x20already\x20up\x20to\x20date\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dno\x2dplugins\x22\x20help\x3d\x22Disable\x20auto\x2dupdating\x20plugins\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dy\x20\x2d\x2dyes\x22\x20help\x3d\x22Skip\x20confirmation\x20prompt\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bVERSION\x5d\x22\x20help\x3d\x22Update\x20to\x20a\x20specific\x20version\x22\x0a\x7d\x0acmd\x20\x22set\x22\x20help\x3d\x22Set\x20environment\x20variables\x20in\x20mise\x2etoml\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22ev\x22\x20\x22env\x2dvars\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20long_help\x20r\x22Set\x20environment\x20variables\x20in\x20mise\x2etoml\x0a\x0aBy\x20default\x2c\x20this\x20command\x20modifies\x20\x60mise\x2etoml\x60\x20in\x20the\x20current\x20directory\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20set\x20NODE_ENV\x3dproduction\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20set\x20NODE_ENV\x0a\x20\x20\x20\x20production\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20set\x0a\x20\x20\x20\x20key\x20\x20\x20\x20\x20\x20\x20value\x20\x20\x20\x20\x20\x20\x20source\x0a\x20\x20\x20\x20NODE_ENV\x20\x20production\x20\x20\x7e/\x2econfig/mise/config\x2etoml\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dfile\x22\x20help\x3d\x22The\x20TOML\x20file\x20to\x20update\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22The\x20TOML\x20file\x20to\x20update\x5cn\x5cnDefaults\x20to\x20MISE_DEFAULT_CONFIG_FILENAME\x20environment\x20variable\x2c\x20or\x20\x60mise\x2etoml\x60\x2e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cFILE\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dg\x20\x2d\x2dglobal\x22\x20help\x3d\x22Set\x20the\x20environment\x20variable\x20in\x20the\x20global\x20config\x20file\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dremove\x22\x20help\x3d\x22Remove\x20the\x20environment\x20variable\x20from\x20config\x20file\x22\x20var\x3dtrue\x20hide\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22Remove\x20the\x20environment\x20variable\x20from\x20config\x20file\x5cn\x5cnCan\x20be\x20used\x20multiple\x20times\x2e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cENV_VAR\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20arg\x20\x22\x5bENV_VARS\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Environment\x20variable\x28s\x29\x20to\x20set\x5cne\x2eg\x2e\x3a\x20NODE_ENV\x3dproduction\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22settings\x22\x20help\x3d\x22Manage\x20settings\x22\x20\x7b\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dkeys\x22\x20help\x3d\x22Only\x20display\x20key\x20names\x20for\x20each\x20setting\x22\x0a\x20\x20\x20\x20cmd\x20\x22add\x22\x20help\x3d\x22Adds\x20a\x20setting\x20to\x20the\x20configuration\x20file\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Adds\x20a\x20setting\x20to\x20the\x20configuration\x20file\x0a\x0aUsed\x20with\x20an\x20array\x20setting\x2c\x20this\x20will\x20append\x20the\x20value\x20to\x20the\x20array\x2e\x0aThis\x20modifies\x20the\x20contents\x20of\x20\x7e/\x2econfig/mise/config\x2etoml\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20settings\x20add\x20disable_hints\x20python_multi\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSETTING\x3e\x22\x20help\x3d\x22The\x20setting\x20to\x20set\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cVALUE\x3e\x22\x20help\x3d\x22The\x20value\x20to\x20set\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22get\x22\x20help\x3d\x22Show\x20a\x20current\x20setting\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Show\x20a\x20current\x20setting\x0a\x0aThis\x20is\x20the\x20contents\x20of\x20a\x20single\x20entry\x20in\x20\x7e/\x2econfig/mise/config\x2etoml\x0a\x0aNote\x20that\x20aliases\x20are\x20also\x20stored\x20in\x20this\x20file\x0abut\x20managed\x20separately\x20with\x20\x60mise\x20aliases\x20get\x60\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20settings\x20get\x20legacy_version_file\x0a\x20\x20\x20\x20true\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSETTING\x3e\x22\x20help\x3d\x22The\x20setting\x20to\x20show\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22ls\x22\x20help\x3d\x22Show\x20current\x20settings\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22list\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Show\x20current\x20settings\x0a\x0aThis\x20is\x20the\x20contents\x20of\x20\x7e/\x2econfig/mise/config\x2etoml\x0a\x0aNote\x20that\x20aliases\x20are\x20also\x20stored\x20in\x20this\x20file\x0abut\x20managed\x20separately\x20with\x20\x60mise\x20aliases\x60\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20settings\x0a\x20\x20\x20\x20legacy_version_file\x20\x3d\x20false\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dkeys\x22\x20help\x3d\x22Only\x20display\x20key\x20names\x20for\x20each\x20setting\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22set\x22\x20help\x3d\x22Add/update\x20a\x20setting\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22create\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Add/update\x20a\x20setting\x0a\x0aThis\x20modifies\x20the\x20contents\x20of\x20\x7e/\x2econfig/mise/config\x2etoml\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20settings\x20set\x20legacy_version_file\x20true\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSETTING\x3e\x22\x20help\x3d\x22The\x20setting\x20to\x20set\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cVALUE\x3e\x22\x20help\x3d\x22The\x20value\x20to\x20set\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22unset\x22\x20help\x3d\x22Clears\x20a\x20setting\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22rm\x22\x20\x22remove\x22\x20\x22delete\x22\x20\x22del\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Clears\x20a\x20setting\x0a\x0aThis\x20modifies\x20the\x20contents\x20of\x20\x7e/\x2econfig/mise/config\x2etoml\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20settings\x20unset\x20legacy_version_file\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSETTING\x3e\x22\x20help\x3d\x22The\x20setting\x20to\x20remove\x22\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22shell\x22\x20help\x3d\x22Sets\x20a\x20tool\x20version\x20for\x20the\x20current\x20session\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22sh\x22\x0a\x20\x20\x20\x20long_help\x20r\x23\x22Sets\x20a\x20tool\x20version\x20for\x20the\x20current\x20session\x2e\x0a\x0aOnly\x20works\x20in\x20a\x20session\x20where\x20mise\x20is\x20already\x20activated\x2e\x0a\x0aThis\x20works\x20by\x20setting\x20environment\x20variables\x20for\x20the\x20current\x20shell\x20session\x0asuch\x20as\x20\x60MISE_NODE_VERSION\x3d20\x60\x20which\x20is\x20\x22eval\x22ed\x20as\x20a\x20shell\x20function\x20created\x20by\x20\x60mise\x20activate\x60\x2e\x22\x23\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20shell\x20node\x4020\x0a\x20\x20\x20\x20\x24\x20node\x20\x2dv\x0a\x20\x20\x20\x20v20\x2e0\x2e0\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dj\x20\x2d\x2djobs\x22\x20help\x3d\x22Number\x20of\x20jobs\x20to\x20run\x20in\x20parallel\x5cn\x5bdefault\x3a\x204\x5d\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cJOBS\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2draw\x22\x20help\x3d\x22Directly\x20pipe\x20stdin/stdout/stderr\x20from\x20plugin\x20to\x20user\x20Sets\x20\x2d\x2djobs\x3d1\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2du\x20\x2d\x2dunset\x22\x20help\x3d\x22Removes\x20a\x20previously\x20set\x20version\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bTOOL\x40VERSION\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20use\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22sync\x22\x20subcommand_required\x3dtrue\x20help\x3d\x22Add\x20tool\x20versions\x20from\x20external\x20tools\x20to\x20mise\x22\x20\x7b\x0a\x20\x20\x20\x20cmd\x20\x22node\x22\x20help\x3d\x22Symlinks\x20all\x20tool\x20versions\x20from\x20an\x20external\x20tool\x20into\x20mise\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Symlinks\x20all\x20tool\x20versions\x20from\x20an\x20external\x20tool\x20into\x20mise\x0a\x0aFor\x20example\x2c\x20use\x20this\x20to\x20import\x20all\x20Homebrew\x20node\x20installs\x20into\x20mise\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20brew\x20install\x20node\x4018\x20node\x4020\x0a\x20\x20\x20\x20\x24\x20mise\x20sync\x20node\x20\x2d\x2dbrew\x0a\x20\x20\x20\x20\x24\x20mise\x20use\x20\x2dg\x20node\x4018\x20\x2d\x20uses\x20Homebrew\x2dprovided\x20node\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dbrew\x22\x20help\x3d\x22Get\x20tool\x20versions\x20from\x20Homebrew\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dnvm\x22\x20help\x3d\x22Get\x20tool\x20versions\x20from\x20nvm\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dnodenv\x22\x20help\x3d\x22Get\x20tool\x20versions\x20from\x20nodenv\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22python\x22\x20help\x3d\x22Symlinks\x20all\x20tool\x20versions\x20from\x20an\x20external\x20tool\x20into\x20mise\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Symlinks\x20all\x20tool\x20versions\x20from\x20an\x20external\x20tool\x20into\x20mise\x0a\x0aFor\x20example\x2c\x20use\x20this\x20to\x20import\x20all\x20pyenv\x20installs\x20into\x20mise\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20pyenv\x20install\x203\x2e11\x2e0\x0a\x20\x20\x20\x20\x24\x20mise\x20sync\x20python\x20\x2d\x2dpyenv\x0a\x20\x20\x20\x20\x24\x20mise\x20use\x20\x2dg\x20python\x403\x2e11\x2e0\x20\x2d\x20uses\x20pyenv\x2dprovided\x20python\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dpyenv\x22\x20help\x3d\x22Get\x20tool\x20versions\x20from\x20pyenv\x22\x20required\x3dtrue\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22tasks\x22\x20help\x3d\x22Manage\x20tasks\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22t\x22\x0a\x20\x20\x20\x20alias\x20\x22task\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20tasks\x20ls\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dno\x2dheader\x22\x20help\x3d\x22Do\x20not\x20print\x20table\x20header\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dx\x20\x2d\x2dextended\x22\x20help\x3d\x22Show\x20all\x20columns\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dhidden\x22\x20help\x3d\x22Show\x20hidden\x20tasks\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dsort\x22\x20help\x3d\x22Sort\x20by\x20column\x2e\x20Default\x20is\x20name\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cCOLUMN\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22name\x22\x20\x22alias\x22\x20\x22description\x22\x20\x22source\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dsort\x2dorder\x22\x20help\x3d\x22Sort\x20order\x2e\x20Default\x20is\x20asc\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSORT_ORDER\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22asc\x22\x20\x22desc\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dJ\x20\x2d\x2djson\x22\x20help\x3d\x22Output\x20in\x20JSON\x20format\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dusage\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20cmd\x20\x22deps\x22\x20help\x3d\x22Display\x20a\x20tree\x20visualization\x20of\x20a\x20dependency\x20graph\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x23\x20Show\x20dependencies\x20for\x20all\x20tasks\x0a\x20\x20\x20\x20\x24\x20mise\x20tasks\x20deps\x0a\x0a\x20\x20\x20\x20\x23\x20Show\x20dependencies\x20for\x20the\x20\x22lint\x22\x2c\x20\x22test\x22\x20and\x20\x22check\x22\x20tasks\x0a\x20\x20\x20\x20\x24\x20mise\x20tasks\x20deps\x20lint\x20test\x20check\x0a\x0a\x20\x20\x20\x20\x23\x20Show\x20dependencies\x20in\x20DOT\x20format\x0a\x20\x20\x20\x20\x24\x20mise\x20tasks\x20deps\x20\x2d\x2ddot\x0a\x22\x23\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dhidden\x22\x20help\x3d\x22Show\x20hidden\x20tasks\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2ddot\x22\x20help\x3d\x22Display\x20dependencies\x20in\x20DOT\x20format\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bTASKS\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Tasks\x20to\x20show\x20dependencies\x20for\x5cnCan\x20specify\x20multiple\x20tasks\x20by\x20separating\x20with\x20spaces\x5cne\x2eg\x2e\x3a\x20mise\x20tasks\x20deps\x20lint\x20test\x20check\x22\x20var\x3dtrue\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22edit\x22\x20help\x3d\x22Edit\x20a\x20tasks\x20with\x20\x24EDITOR\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22Edit\x20a\x20tasks\x20with\x20\x24EDITOR\x0a\x0aThe\x20tasks\x20will\x20be\x20created\x20as\x20a\x20standalone\x20script\x20if\x20it\x20does\x20not\x20already\x20exist\x2e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20tasks\x20edit\x20build\x0a\x20\x20\x20\x20\x24\x20mise\x20tasks\x20edit\x20test\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dp\x20\x2d\x2dpath\x22\x20help\x3d\x22Display\x20the\x20path\x20to\x20the\x20tasks\x20instead\x20of\x20editing\x20it\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cTASK\x3e\x22\x20help\x3d\x22Tasks\x20to\x20edit\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22info\x22\x20help\x3d\x22Get\x20information\x20about\x20a\x20task\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20tasks\x20info\x0a\x20\x20\x20\x20Name\x3a\x20test\x0a\x20\x20\x20\x20Aliases\x3a\x20t\x0a\x20\x20\x20\x20Description\x3a\x20Test\x20the\x20application\x0a\x20\x20\x20\x20Source\x3a\x20\x7e/src/myproj/mise\x2etoml\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20tasks\x20info\x20test\x20\x2d\x2djson\x0a\x20\x20\x20\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x22name\x22\x3a\x20\x22test\x22\x2c\x0a\x20\x20\x20\x20\x20\x20\x22aliases\x22\x3a\x20\x22t\x22\x2c\x0a\x20\x20\x20\x20\x20\x20\x22description\x22\x3a\x20\x22Test\x20the\x20application\x22\x2c\x0a\x20\x20\x20\x20\x20\x20\x22source\x22\x3a\x20\x22\x7e/src/myproj/mise\x2etoml\x22\x2c\x0a\x20\x20\x20\x20\x20\x20\x22depends\x22\x3a\x20\x5b\x5d\x2c\x0a\x20\x20\x20\x20\x20\x20\x22env\x22\x3a\x20\x7b\x7d\x2c\x0a\x20\x20\x20\x20\x20\x20\x22dir\x22\x3a\x20null\x2c\x0a\x20\x20\x20\x20\x20\x20\x22hide\x22\x3a\x20false\x2c\x0a\x20\x20\x20\x20\x20\x20\x22raw\x22\x3a\x20false\x2c\x0a\x20\x20\x20\x20\x20\x20\x22sources\x22\x3a\x20\x5b\x5d\x2c\x0a\x20\x20\x20\x20\x20\x20\x22outputs\x22\x3a\x20\x5b\x5d\x2c\x0a\x20\x20\x20\x20\x20\x20\x22run\x22\x3a\x20\x5b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22echo\x20\x5c\x22testing\x21\x5c\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x5d\x2c\x0a\x20\x20\x20\x20\x20\x20\x22file\x22\x3a\x20null\x2c\x0a\x20\x20\x20\x20\x20\x20\x22usage_spec\x22\x3a\x20\x7b\x7d\x0a\x20\x20\x20\x20\x7d\x0a\x22\x23\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dJ\x20\x2d\x2djson\x22\x20help\x3d\x22Output\x20in\x20JSON\x20format\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cTASK\x3e\x22\x20help\x3d\x22Name\x20of\x20the\x20task\x20to\x20get\x20information\x20about\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22ls\x22\x20help\x3d\x22List\x20available\x20tasks\x20to\x20execute\x5cnThese\x20may\x20be\x20included\x20from\x20the\x20config\x20file\x20or\x20from\x20the\x20project\x27s\x20\x2emise/tasks\x20directory\x5cnmise\x20will\x20merge\x20all\x20tasks\x20from\x20all\x20parent\x20directories\x20into\x20this\x20list\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x22List\x20available\x20tasks\x20to\x20execute\x0aThese\x20may\x20be\x20included\x20from\x20the\x20config\x20file\x20or\x20from\x20the\x20project\x27s\x20\x2emise/tasks\x20directory\x0amise\x20will\x20merge\x20all\x20tasks\x20from\x20all\x20parent\x20directories\x20into\x20this\x20list\x2e\x0a\x0aSo\x20if\x20you\x20have\x20global\x20tasks\x20in\x20\x60\x7e/\x2econfig/mise/tasks/\x2a\x60\x20and\x20project\x2dspecific\x20tasks\x20in\x0a\x7e/myproject/\x2emise/tasks/\x2a\x2c\x20then\x20they\x27ll\x20both\x20be\x20available\x20but\x20the\x20project\x2dspecific\x0atasks\x20will\x20override\x20the\x20global\x20ones\x20if\x20they\x20have\x20the\x20same\x20name\x2e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20tasks\x20ls\x0a\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dno\x2dheader\x22\x20help\x3d\x22Do\x20not\x20print\x20table\x20header\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dx\x20\x2d\x2dextended\x22\x20help\x3d\x22Show\x20all\x20columns\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dhidden\x22\x20help\x3d\x22Show\x20hidden\x20tasks\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dsort\x22\x20help\x3d\x22Sort\x20by\x20column\x2e\x20Default\x20is\x20name\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cCOLUMN\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22name\x22\x20\x22alias\x22\x20\x22description\x22\x20\x22source\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dsort\x2dorder\x22\x20help\x3d\x22Sort\x20order\x2e\x20Default\x20is\x20asc\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cSORT_ORDER\x3e\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20choices\x20\x22asc\x22\x20\x22desc\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dJ\x20\x2d\x2djson\x22\x20help\x3d\x22Output\x20in\x20JSON\x20format\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dusage\x22\x20hide\x3dtrue\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20cmd\x20\x22run\x22\x20help\x3d\x22Run\x20task\x28s\x29\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20alias\x20\x22r\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20r\x23\x22Run\x20task\x28s\x29\x0a\x0aThis\x20command\x20will\x20run\x20a\x20tasks\x2c\x20or\x20multiple\x20tasks\x20in\x20parallel\x2e\x0aTasks\x20may\x20have\x20dependencies\x20on\x20other\x20tasks\x20or\x20on\x20source\x20files\x2e\x0aIf\x20source\x20is\x20configured\x20on\x20a\x20tasks\x2c\x20it\x20will\x20only\x20run\x20if\x20the\x20source\x0afiles\x20have\x20changed\x2e\x0a\x0aTasks\x20can\x20be\x20defined\x20in\x20mise\x2etoml\x20or\x20as\x20standalone\x20scripts\x2e\x0aIn\x20mise\x2etoml\x2c\x20tasks\x20take\x20this\x20form\x3a\x0a\x0a\x20\x20\x20\x20\x5btasks\x2ebuild\x5d\x0a\x20\x20\x20\x20run\x20\x3d\x20\x22npm\x20run\x20build\x22\x0a\x20\x20\x20\x20sources\x20\x3d\x20\x5b\x22src/\x2a\x2a/\x2a\x2ets\x22\x5d\x0a\x20\x20\x20\x20outputs\x20\x3d\x20\x5b\x22dist/\x2a\x2a/\x2a\x2ejs\x22\x5d\x0a\x0aAlternatively\x2c\x20tasks\x20can\x20be\x20defined\x20as\x20standalone\x20scripts\x2e\x0aThese\x20must\x20be\x20located\x20in\x20\x60mise\x2dtasks\x60\x2c\x20\x60\x2emise\x2dtasks\x60\x2c\x20\x60\x2emise/tasks\x60\x2c\x20\x60mise/tasks\x60\x20or\x0a\x60\x2econfig/mise/tasks\x60\x2e\x0aThe\x20name\x20of\x20the\x20script\x20will\x20be\x20the\x20name\x20of\x20the\x20tasks\x2e\x0a\x0a\x20\x20\x20\x20\x24\x20cat\x20\x2emise/tasks/build\x3c\x3cEOF\x0a\x20\x20\x20\x20\x23\x21/usr/bin/env\x20bash\x0a\x20\x20\x20\x20npm\x20run\x20build\x0a\x20\x20\x20\x20EOF\x0a\x20\x20\x20\x20\x24\x20mise\x20run\x20build\x22\x23\x0a\x20\x20\x20\x20\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x23\x20Runs\x20the\x20\x22lint\x22\x20tasks\x2e\x20This\x20needs\x20to\x20either\x20be\x20defined\x20in\x20mise\x2etoml\x0a\x20\x20\x20\x20\x23\x20or\x20as\x20a\x20standalone\x20script\x2e\x20See\x20the\x20project\x20README\x20for\x20more\x20information\x2e\x0a\x20\x20\x20\x20\x24\x20mise\x20run\x20lint\x0a\x0a\x20\x20\x20\x20\x23\x20Forces\x20the\x20\x22build\x22\x20tasks\x20to\x20run\x20even\x20if\x20its\x20sources\x20are\x20up\x2dto\x2ddate\x2e\x0a\x20\x20\x20\x20\x24\x20mise\x20run\x20build\x20\x2d\x2dforce\x0a\x0a\x20\x20\x20\x20\x23\x20Run\x20\x22test\x22\x20with\x20stdin/stdout/stderr\x20all\x20connected\x20to\x20the\x20current\x20terminal\x2e\x0a\x20\x20\x20\x20\x23\x20This\x20forces\x20\x60\x2d\x2djobs\x3d1\x60\x20to\x20prevent\x20interleaving\x20of\x20output\x2e\x0a\x20\x20\x20\x20\x24\x20mise\x20run\x20test\x20\x2d\x2draw\x0a\x0a\x20\x20\x20\x20\x23\x20Runs\x20the\x20\x22lint\x22\x2c\x20\x22test\x22\x2c\x20and\x20\x22check\x22\x20tasks\x20in\x20parallel\x2e\x0a\x20\x20\x20\x20\x24\x20mise\x20run\x20lint\x20\x3a\x3a\x3a\x20test\x20\x3a\x3a\x3a\x20check\x0a\x0a\x20\x20\x20\x20\x23\x20Execute\x20multiple\x20tasks\x20each\x20with\x20their\x20own\x20arguments\x2e\x0a\x20\x20\x20\x20\x24\x20mise\x20tasks\x20cmd1\x20arg1\x20arg2\x20\x3a\x3a\x3a\x20cmd2\x20arg1\x20arg2\x0a\x22\x23\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dC\x20\x2d\x2dcd\x22\x20help\x3d\x22Change\x20to\x20this\x20directory\x20before\x20executing\x20the\x20command\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cCD\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dn\x20\x2d\x2ddry\x2drun\x22\x20help\x3d\x22Don\x27t\x20actually\x20run\x20the\x20tasks\x28s\x29\x2c\x20just\x20print\x20them\x20in\x20order\x20of\x20execution\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dforce\x22\x20help\x3d\x22Force\x20the\x20tasks\x20to\x20run\x20even\x20if\x20outputs\x20are\x20up\x20to\x20date\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dp\x20\x2d\x2dprefix\x22\x20help\x3d\x22Print\x20stdout/stderr\x20by\x20line\x2c\x20prefixed\x20with\x20the\x20tasks\x27s\x20label\x5cnDefaults\x20to\x20true\x20if\x20\x2d\x2djobs\x20\x3e\x201\x5cnConfigure\x20with\x20\x60task_output\x60\x20config\x20or\x20\x60MISE_TASK_OUTPUT\x60\x20env\x20var\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2di\x20\x2d\x2dinterleave\x22\x20help\x3d\x22Print\x20directly\x20to\x20stdout/stderr\x20instead\x20of\x20by\x20line\x5cnDefaults\x20to\x20true\x20if\x20\x2d\x2djobs\x20\x3d\x3d\x201\x5cnConfigure\x20with\x20\x60task_output\x60\x20config\x20or\x20\x60MISE_TASK_OUTPUT\x60\x20env\x20var\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dt\x20\x2d\x2dtool\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20also\x20add\x20e\x2eg\x2e\x3a\x20node\x4020\x20python\x403\x2e10\x22\x20var\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cTOOL\x40VERSION\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dj\x20\x2d\x2djobs\x22\x20help\x3d\x22Number\x20of\x20tasks\x20to\x20run\x20in\x20parallel\x5cn\x5bdefault\x3a\x204\x5d\x5cnConfigure\x20with\x20\x60jobs\x60\x20config\x20or\x20\x60MISE_JOBS\x60\x20env\x20var\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cJOBS\x3e\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2dr\x20\x2d\x2draw\x22\x20help\x3d\x22Read/write\x20directly\x20to\x20stdin/stdout/stderr\x20instead\x20of\x20by\x20line\x5cnConfigure\x20with\x20\x60raw\x60\x20config\x20or\x20\x60MISE_RAW\x60\x20env\x20var\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20flag\x20\x22\x2d\x2dtimings\x22\x20help\x3d\x22Shows\x20elapsed\x20time\x20after\x20each\x20task\x20completes\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22Shows\x20elapsed\x20time\x20after\x20each\x20task\x20completes\x5cn\x5cnDefault\x20to\x20always\x20show\x20with\x20\x60MISE_TASK_TIMINGS\x3d1\x60\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bTASK\x5d\x22\x20help\x3d\x22Tasks\x20to\x20run\x5cnCan\x20specify\x20multiple\x20tasks\x20by\x20separating\x20with\x20\x60\x3a\x3a\x3a\x60\x5cne\x2eg\x2e\x3a\x20mise\x20run\x20task1\x20arg1\x20arg2\x20\x3a\x3a\x3a\x20task2\x20arg1\x20arg2\x22\x20default\x3d\x22default\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x5bARGS\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Arguments\x20to\x20pass\x20to\x20the\x20tasks\x2e\x20Use\x20\x5c\x22\x3a\x3a\x3a\x5c\x22\x20to\x20separate\x20tasks\x22\x20var\x3dtrue\x0a\x20\x20\x20\x20\x20\x20\x20\x20mount\x20run\x3d\x22mise\x20tasks\x20\x2d\x2dusage\x22\x0a\x20\x20\x20\x20\x7d\x0a\x7d\x0acmd\x20\x22trust\x22\x20help\x3d\x22Marks\x20a\x20config\x20file\x20as\x20trusted\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Marks\x20a\x20config\x20file\x20as\x20trusted\x0a\x0aThis\x20means\x20mise\x20will\x20parse\x20the\x20file\x20with\x20potentially\x20dangerous\x0afeatures\x20enabled\x2e\x0a\x0aThis\x20includes\x3a\x0a\x2d\x20environment\x20variables\x0a\x2d\x20templates\x0a\x2d\x20\x60path\x3a\x60\x20plugin\x20versions\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x23\x20trusts\x20\x7e/some_dir/mise\x2etoml\x0a\x20\x20\x20\x20\x24\x20mise\x20trust\x20\x7e/some_dir/mise\x2etoml\x0a\x0a\x20\x20\x20\x20\x23\x20trusts\x20mise\x2etoml\x20in\x20the\x20current\x20or\x20parent\x20directory\x0a\x20\x20\x20\x20\x24\x20mise\x20trust\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2da\x20\x2d\x2dall\x22\x20help\x3d\x22Trust\x20all\x20config\x20files\x20in\x20the\x20current\x20directory\x20and\x20its\x20parents\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2duntrust\x22\x20help\x3d\x22No\x20longer\x20trust\x20this\x20config\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dshow\x22\x20help\x3d\x22Show\x20the\x20trusted\x20status\x20of\x20config\x20files\x20from\x20the\x20current\x20directory\x20and\x20its\x20parents\x2e\x5cnDoes\x20not\x20trust\x20or\x20untrust\x20any\x20files\x2e\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bCONFIG_FILE\x5d\x22\x20help\x3d\x22The\x20config\x20file\x20to\x20trust\x22\x0a\x7d\x0acmd\x20\x22uninstall\x22\x20help\x3d\x22Removes\x20installed\x20tool\x20versions\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22remove\x22\x20\x22rm\x22\x0a\x20\x20\x20\x20long_help\x20r\x22Removes\x20installed\x20tool\x20versions\x0a\x0aThis\x20only\x20removes\x20the\x20installed\x20version\x2c\x20it\x20does\x20not\x20modify\x20mise\x2etoml\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x23\x20will\x20uninstall\x20specific\x20version\x0a\x20\x20\x20\x20\x24\x20mise\x20uninstall\x20node\x4018\x2e0\x2e0\x0a\x0a\x20\x20\x20\x20\x23\x20will\x20uninstall\x20the\x20current\x20node\x20version\x20\x28if\x20only\x20one\x20version\x20is\x20installed\x29\x0a\x20\x20\x20\x20\x24\x20mise\x20uninstall\x20node\x0a\x0a\x20\x20\x20\x20\x23\x20will\x20uninstall\x20all\x20installed\x20versions\x20of\x20node\x0a\x20\x20\x20\x20\x24\x20mise\x20uninstall\x20\x2d\x2dall\x20node\x4018\x2e0\x2e0\x20\x23\x20will\x20uninstall\x20all\x20node\x20versions\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2da\x20\x2d\x2dall\x22\x20help\x3d\x22Delete\x20all\x20installed\x20versions\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dn\x20\x2d\x2ddry\x2drun\x22\x20help\x3d\x22Do\x20not\x20actually\x20delete\x20anything\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bINSTALLED_TOOL\x40VERSION\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20remove\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22unset\x22\x20help\x3d\x22Remove\x20environment\x20variable\x28s\x29\x20from\x20the\x20config\x20file\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Remove\x20environment\x20variable\x28s\x29\x20from\x20the\x20config\x20file\x2e\x0a\x0aBy\x20default\x2c\x20this\x20command\x20modifies\x20\x60mise\x2etoml\x60\x20in\x20the\x20current\x20directory\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x23\x20Remove\x20NODE_ENV\x20from\x20the\x20current\x20directory\x27s\x20config\x0a\x20\x20\x20\x20\x24\x20mise\x20unset\x20NODE_ENV\x0a\x0a\x20\x20\x20\x20\x23\x20Remove\x20NODE_ENV\x20from\x20the\x20global\x20config\x0a\x20\x20\x20\x20\x24\x20mise\x20unset\x20NODE_ENV\x20\x2dg\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dfile\x22\x20help\x3d\x22Specify\x20a\x20file\x20to\x20use\x20instead\x20of\x20\x60mise\x2etoml\x60\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cFILE\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dg\x20\x2d\x2dglobal\x22\x20help\x3d\x22Use\x20the\x20global\x20config\x20file\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bKEYS\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Environment\x20variable\x28s\x29\x20to\x20remove\x5cne\x2eg\x2e\x3a\x20NODE_ENV\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22upgrade\x22\x20help\x3d\x22Upgrades\x20outdated\x20tools\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22up\x22\x0a\x20\x20\x20\x20long_help\x20r\x22Upgrades\x20outdated\x20tools\x0a\x0aBy\x20default\x2c\x20this\x20keeps\x20the\x20range\x20specified\x20in\x20mise\x2etoml\x2e\x20So\x20if\x20you\x20have\x20node\x4020\x20set\x2c\x20it\x20will\x0aupgrade\x20to\x20the\x20latest\x2020\x2ex\x2ex\x20version\x20available\x2e\x20See\x20the\x20\x60\x2d\x2dbump\x60\x20flag\x20to\x20use\x20the\x20latest\x20version\x0aand\x20bump\x20the\x20version\x20in\x20mise\x2etoml\x2e\x0a\x0aThis\x20will\x20update\x20mise\x2elock\x20if\x20it\x20is\x20enabled\x2c\x20see\x20https\x3a//mise\x2ejdx\x2edev/configuration/settings\x2ehtml\x23lockfile\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x23\x20Upgrades\x20node\x20to\x20the\x20latest\x20version\x20matching\x20the\x20range\x20in\x20mise\x2etoml\x0a\x20\x20\x20\x20\x24\x20mise\x20upgrade\x20node\x0a\x0a\x20\x20\x20\x20\x23\x20Upgrades\x20node\x20to\x20the\x20latest\x20version\x20and\x20bumps\x20the\x20version\x20in\x20mise\x2etoml\x0a\x20\x20\x20\x20\x24\x20mise\x20upgrade\x20node\x20\x2d\x2dbump\x0a\x0a\x20\x20\x20\x20\x23\x20Upgrades\x20all\x20tools\x20to\x20the\x20latest\x20versions\x0a\x20\x20\x20\x20\x24\x20mise\x20upgrade\x0a\x0a\x20\x20\x20\x20\x23\x20Upgrades\x20all\x20tools\x20to\x20the\x20latest\x20versions\x20and\x20bumps\x20the\x20version\x20in\x20mise\x2etoml\x0a\x20\x20\x20\x20\x24\x20mise\x20upgrade\x20\x2d\x2dbump\x0a\x0a\x20\x20\x20\x20\x23\x20Just\x20print\x20what\x20would\x20be\x20done\x2c\x20don\x27t\x20actually\x20do\x20it\x0a\x20\x20\x20\x20\x24\x20mise\x20upgrade\x20\x2d\x2ddry\x2drun\x0a\x0a\x20\x20\x20\x20\x23\x20Upgrades\x20node\x20and\x20python\x20to\x20the\x20latest\x20versions\x0a\x20\x20\x20\x20\x24\x20mise\x20upgrade\x20node\x20python\x0a\x0a\x20\x20\x20\x20\x23\x20Show\x20a\x20multiselect\x20menu\x20to\x20choose\x20which\x20tools\x20to\x20upgrade\x0a\x20\x20\x20\x20\x24\x20mise\x20upgrade\x20\x2d\x2dinteractive\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dn\x20\x2d\x2ddry\x2drun\x22\x20help\x3d\x22Just\x20print\x20what\x20would\x20be\x20done\x2c\x20don\x27t\x20actually\x20do\x20it\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2di\x20\x2d\x2dinteractive\x22\x20help\x3d\x22Display\x20multiselect\x20menu\x20to\x20choose\x20which\x20tools\x20to\x20upgrade\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dj\x20\x2d\x2djobs\x22\x20help\x3d\x22Number\x20of\x20jobs\x20to\x20run\x20in\x20parallel\x5cn\x5bdefault\x3a\x204\x5d\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cJOBS\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dl\x20\x2d\x2dbump\x22\x20help\x3d\x22Upgrades\x20to\x20the\x20latest\x20version\x20available\x2c\x20bumping\x20the\x20version\x20in\x20mise\x2etoml\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22Upgrades\x20to\x20the\x20latest\x20version\x20available\x2c\x20bumping\x20the\x20version\x20in\x20mise\x2etoml\x5cn\x5cnFor\x20example\x2c\x20if\x20you\x20have\x20\x60node\x20\x3d\x20\x5c\x2220\x2e0\x2e0\x5c\x22\x60\x20in\x20your\x20mise\x2etoml\x20but\x2022\x2e1\x2e0\x20is\x20the\x20latest\x20available\x2c\x5cnthis\x20will\x20install\x2022\x2e1\x2e0\x20and\x20set\x20\x60node\x20\x3d\x20\x5c\x2222\x2e1\x2e0\x5c\x22\x60\x20in\x20your\x20config\x2e\x5cn\x5cnIt\x20keeps\x20the\x20same\x20precision\x20as\x20what\x20was\x20there\x20before\x2c\x20so\x20if\x20you\x20instead\x20had\x20\x60node\x20\x3d\x20\x5c\x2220\x5c\x22\x60\x2c\x20it\x5cnwould\x20change\x20your\x20config\x20to\x20\x60node\x20\x3d\x20\x5c\x2222\x5c\x22\x60\x2e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2draw\x22\x20help\x3d\x22Directly\x20pipe\x20stdin/stdout/stderr\x20from\x20plugin\x20to\x20user\x20Sets\x20\x2d\x2djobs\x3d1\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bTOOL\x40VERSION\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20upgrade\x5cne\x2eg\x2e\x3a\x20node\x4020\x20python\x403\x2e10\x5cnIf\x20not\x20specified\x2c\x20all\x20current\x20tools\x20will\x20be\x20upgraded\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22usage\x22\x20hide\x3dtrue\x20help\x3d\x22Generate\x20a\x20usage\x20CLI\x20spec\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Generate\x20a\x20usage\x20CLI\x20spec\x0a\x0aSee\x20https\x3a//usage\x2ejdx\x2edev\x20for\x20more\x20information\x20on\x20this\x20specification\x2e\x22\x0a\x7d\x0acmd\x20\x22use\x22\x20help\x3d\x22Installs\x20a\x20tool\x20and\x20adds\x20the\x20version\x20it\x20to\x20mise\x2etoml\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22u\x22\x0a\x20\x20\x20\x20long_help\x20r\x22Installs\x20a\x20tool\x20and\x20adds\x20the\x20version\x20it\x20to\x20mise\x2etoml\x2e\x0a\x0aThis\x20will\x20install\x20the\x20tool\x20version\x20if\x20it\x20is\x20not\x20already\x20installed\x2e\x0aBy\x20default\x2c\x20this\x20will\x20use\x20a\x20\x60mise\x2etoml\x60\x20file\x20in\x20the\x20current\x20directory\x2e\x0a\x0aUse\x20the\x20\x60\x2d\x2dglobal\x60\x20flag\x20to\x20use\x20the\x20global\x20config\x20file\x20instead\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x23\x20set\x20the\x20current\x20version\x20of\x20node\x20to\x2020\x2ex\x20in\x20mise\x2etoml\x20of\x20current\x20directory\x0a\x20\x20\x20\x20\x23\x20will\x20write\x20the\x20fuzzy\x20version\x20\x28e\x2eg\x2e\x3a\x2020\x29\x0a\x20\x20\x20\x20\x24\x20mise\x20use\x20node\x4020\x0a\x0a\x20\x20\x20\x20\x23\x20set\x20the\x20current\x20version\x20of\x20node\x20to\x2020\x2ex\x20in\x20\x7e/\x2econfig/mise/config\x2etoml\x0a\x20\x20\x20\x20\x23\x20will\x20write\x20the\x20precise\x20version\x20\x28e\x2eg\x2e\x3a\x2020\x2e0\x2e0\x29\x0a\x20\x20\x20\x20\x24\x20mise\x20use\x20\x2dg\x20\x2d\x2dpin\x20node\x4020\x0a\x0a\x20\x20\x20\x20\x23\x20sets\x20\x2emise\x2elocal\x2etoml\x20\x28which\x20is\x20intended\x20not\x20to\x20be\x20committed\x20to\x20a\x20project\x29\x0a\x20\x20\x20\x20\x24\x20mise\x20use\x20\x2d\x2denv\x20local\x20node\x4020\x0a\x0a\x20\x20\x20\x20\x23\x20sets\x20\x2emise\x2estaging\x2etoml\x20\x28which\x20is\x20used\x20if\x20MISE_ENV\x3dstaging\x29\x0a\x20\x20\x20\x20\x24\x20mise\x20use\x20\x2d\x2denv\x20staging\x20node\x4020\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2df\x20\x2d\x2dforce\x22\x20help\x3d\x22Force\x20reinstall\x20even\x20if\x20already\x20installed\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dfuzzy\x22\x20help\x3d\x22Save\x20fuzzy\x20version\x20to\x20config\x20file\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22Save\x20fuzzy\x20version\x20to\x20config\x20file\x5cn\x5cne\x2eg\x2e\x3a\x20\x60mise\x20use\x20\x2d\x2dfuzzy\x20node\x4020\x60\x20will\x20save\x2020\x20as\x20the\x20version\x5cnthis\x20is\x20the\x20default\x20behavior\x20unless\x20\x60MISE_PIN\x3d1\x60\x20or\x20\x60MISE_ASDF_COMPAT\x3d1\x60\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dg\x20\x2d\x2dglobal\x22\x20help\x3d\x22Use\x20the\x20global\x20config\x20file\x20\x28\x60\x7e/\x2econfig/mise/config\x2etoml\x60\x29\x20instead\x20of\x20the\x20local\x20one\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2de\x20\x2d\x2denv\x22\x20help\x3d\x22Modify\x20an\x20environment\x2dspecific\x20config\x20file\x20like\x20\x2emise\x2e\x3cenv\x3e\x2etoml\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cENV\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dj\x20\x2d\x2djobs\x22\x20help\x3d\x22Number\x20of\x20jobs\x20to\x20run\x20in\x20parallel\x5cn\x5bdefault\x3a\x204\x5d\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cJOBS\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2draw\x22\x20help\x3d\x22Directly\x20pipe\x20stdin/stdout/stderr\x20from\x20plugin\x20to\x20user\x20Sets\x20\x60\x2d\x2djobs\x3d1\x60\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dremove\x22\x20help\x3d\x22Remove\x20the\x20plugin\x28s\x29\x20from\x20config\x20file\x22\x20var\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cPLUGIN\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dp\x20\x2d\x2dpath\x22\x20help\x3d\x22Specify\x20a\x20path\x20to\x20a\x20config\x20file\x20or\x20directory\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20long_help\x20\x22Specify\x20a\x20path\x20to\x20a\x20config\x20file\x20or\x20directory\x5cn\x5cnIf\x20a\x20directory\x20is\x20specified\x2c\x20it\x20will\x20look\x20for\x20\x60mise\x2etoml\x60\x20\x28default\x29\x20or\x20\x60\x2etool\x2dversions\x60\x20if\x20\x60MISE_ASDF_COMPAT\x3d1\x60\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cPATH\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dpin\x22\x20help\x3d\x22Save\x20exact\x20version\x20to\x20config\x20file\x5cne\x2eg\x2e\x3a\x20\x60mise\x20use\x20\x2d\x2dpin\x20node\x4020\x60\x20will\x20save\x2020\x2e0\x2e0\x20as\x20the\x20version\x5cnSet\x20\x60MISE_PIN\x3d1\x60\x20or\x20\x60MISE_ASDF_COMPAT\x3d1\x60\x20to\x20make\x20this\x20the\x20default\x20behavior\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bTOOL\x40VERSION\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20add\x20to\x20config\x20file\x22\x20help_long\x3d\x22Tool\x28s\x29\x20to\x20add\x20to\x20config\x20file\x5cn\x5cne\x2eg\x2e\x3a\x20node\x4020\x2c\x20cargo\x3aripgrep\x40latest\x20npm\x3aprettier\x403\x5cnIf\x20no\x20version\x20is\x20specified\x2c\x20it\x20will\x20default\x20to\x20\x40latest\x5cn\x5cnTool\x20options\x20can\x20be\x20set\x20with\x20this\x20syntax\x3a\x5cn\x5cn\x20\x20\x20\x20mise\x20use\x20ubi\x3aBurntSushi/ripgrep\x5bexe\x3drg\x5d\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22version\x22\x20help\x3d\x22Display\x20the\x20version\x20of\x20mise\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22v\x22\x0a\x20\x20\x20\x20long_help\x20r\x22Display\x20the\x20version\x20of\x20mise\x0a\x0aDisplays\x20the\x20version\x2c\x20os\x2c\x20architecture\x2c\x20and\x20the\x20date\x20of\x20the\x20build\x2e\x0a\x0aIf\x20the\x20version\x20is\x20out\x20of\x20date\x2c\x20it\x20will\x20display\x20a\x20warning\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20version\x0a\x20\x20\x20\x20\x24\x20mise\x20\x2d\x2dversion\x0a\x20\x20\x20\x20\x24\x20mise\x20\x2dv\x0a\x20\x20\x20\x20\x24\x20mise\x20\x2dV\x0a\x22\x0a\x7d\x0acmd\x20\x22watch\x22\x20help\x3d\x22Run\x20task\x28s\x29\x20and\x20watch\x20for\x20changes\x20to\x20rerun\x20it\x22\x20\x7b\x0a\x20\x20\x20\x20alias\x20\x22w\x22\x0a\x20\x20\x20\x20long_help\x20r\x22Run\x20task\x28s\x29\x20and\x20watch\x20for\x20changes\x20to\x20rerun\x20it\x0a\x0aThis\x20command\x20uses\x20the\x20\x60watchexec\x60\x20tool\x20to\x20watch\x20for\x20changes\x20to\x20files\x20and\x20rerun\x20the\x20specified\x20task\x28s\x29\x2e\x0aIt\x20must\x20be\x20installed\x20for\x20this\x20command\x20to\x20work\x2c\x20but\x20you\x20can\x20install\x20it\x20with\x20\x60mise\x20use\x20\x2dg\x20watchexec\x40latest\x60\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x23\x22Examples\x3a\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x24\x20mise\x20watch\x20\x2dt\x20build\x0a\x20\x20\x20\x20Runs\x20the\x20\x22build\x22\x20tasks\x2e\x20Will\x20re\x2drun\x20the\x20tasks\x20when\x20any\x20of\x20its\x20sources\x20change\x2e\x0a\x20\x20\x20\x20Uses\x20\x22sources\x22\x20from\x20the\x20tasks\x20definition\x20to\x20determine\x20which\x20files\x20to\x20watch\x2e\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20watch\x20\x2dt\x20build\x20\x2d\x2dglob\x20src/\x2a\x2a/\x2a\x2ers\x0a\x20\x20\x20\x20Runs\x20the\x20\x22build\x22\x20tasks\x20but\x20specify\x20the\x20files\x20to\x20watch\x20with\x20a\x20glob\x20pattern\x2e\x0a\x20\x20\x20\x20This\x20overrides\x20the\x20\x22sources\x22\x20from\x20the\x20tasks\x20definition\x2e\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20run\x20\x2dt\x20build\x20\x2d\x2dclear\x0a\x20\x20\x20\x20Extra\x20arguments\x20are\x20passed\x20to\x20watchexec\x2e\x20See\x20\x60watchexec\x20\x2d\x2dhelp\x60\x20for\x20details\x2e\x0a\x22\x23\x0a\x20\x20\x20\x20flag\x20\x22\x2dt\x20\x2d\x2dtask\x22\x20help\x3d\x22Tasks\x20to\x20run\x22\x20var\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cTASK\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20flag\x20\x22\x2dg\x20\x2d\x2dglob\x22\x20help\x3d\x22Files\x20to\x20watch\x5cnDefaults\x20to\x20sources\x20from\x20the\x20tasks\x28s\x29\x22\x20var\x3dtrue\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cGLOB\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20arg\x20\x22\x5bARGS\x5d\x2e\x2e\x2e\x22\x20help\x3d\x22Extra\x20arguments\x22\x20var\x3dtrue\x0a\x7d\x0acmd\x20\x22where\x22\x20help\x3d\x22Display\x20the\x20installation\x20path\x20for\x20a\x20tool\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Display\x20the\x20installation\x20path\x20for\x20a\x20tool\x0a\x0aThe\x20tool\x20must\x20be\x20installed\x20for\x20this\x20to\x20work\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x23\x20Show\x20the\x20latest\x20installed\x20version\x20of\x20node\x0a\x20\x20\x20\x20\x23\x20If\x20it\x20is\x20is\x20not\x20installed\x2c\x20errors\x0a\x20\x20\x20\x20\x24\x20mise\x20where\x20node\x4020\x0a\x20\x20\x20\x20/home/jdx/\x2elocal/share/mise/installs/node/20\x2e0\x2e0\x0a\x0a\x20\x20\x20\x20\x23\x20Show\x20the\x20current\x2c\x20active\x20install\x20directory\x20of\x20node\x0a\x20\x20\x20\x20\x23\x20Errors\x20if\x20node\x20is\x20not\x20referenced\x20in\x20any\x20\x2etool\x2dversion\x20file\x0a\x20\x20\x20\x20\x24\x20mise\x20where\x20node\x0a\x20\x20\x20\x20/home/jdx/\x2elocal/share/mise/installs/node/20\x2e0\x2e0\x0a\x22\x0a\x20\x20\x20\x20arg\x20\x22\x3cTOOL\x40VERSION\x3e\x22\x20help\x3d\x22Tool\x28s\x29\x20to\x20look\x20up\x5cne\x2eg\x2e\x3a\x20ruby\x403\x5cnif\x20\x5c\x22\x40\x3cPREFIX\x3e\x5c\x22\x20is\x20specified\x2c\x20it\x20will\x20show\x20the\x20latest\x20installed\x20version\x5cnthat\x20matches\x20the\x20prefix\x5cnotherwise\x2c\x20it\x20will\x20show\x20the\x20current\x2c\x20active\x20installed\x20version\x22\x0a\x20\x20\x20\x20arg\x20\x22\x5bASDF_VERSION\x5d\x22\x20help\x3d\x22the\x20version\x20prefix\x20to\x20use\x20when\x20querying\x20the\x20latest\x20version\x5cnsame\x20as\x20the\x20first\x20argument\x20after\x20the\x20\x5c\x22\x40\x5c\x22\x5cnused\x20for\x20asdf\x20compatibility\x22\x20hide\x3dtrue\x0a\x7d\x0acmd\x20\x22which\x22\x20help\x3d\x22Shows\x20the\x20path\x20that\x20a\x20tool\x27s\x20bin\x20points\x20to\x2e\x22\x20\x7b\x0a\x20\x20\x20\x20long_help\x20r\x22Shows\x20the\x20path\x20that\x20a\x20tool\x27s\x20bin\x20points\x20to\x2e\x0a\x0aUse\x20this\x20to\x20figure\x20out\x20what\x20version\x20of\x20a\x20tool\x20is\x20currently\x20active\x2e\x22\x0a\x20\x20\x20\x20after_long_help\x20r\x22Examples\x3a\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20which\x20node\x0a\x20\x20\x20\x20/home/username/\x2elocal/share/mise/installs/node/20\x2e0\x2e0/bin/node\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20which\x20node\x20\x2d\x2dplugin\x0a\x20\x20\x20\x20node\x0a\x0a\x20\x20\x20\x20\x24\x20mise\x20which\x20node\x20\x2d\x2dversion\x0a\x20\x20\x20\x2020\x2e0\x2e0\x0a\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dplugin\x22\x20help\x3d\x22Show\x20the\x20plugin\x20name\x20instead\x20of\x20the\x20path\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2d\x2dversion\x22\x20help\x3d\x22Show\x20the\x20version\x20instead\x20of\x20the\x20path\x22\x0a\x20\x20\x20\x20flag\x20\x22\x2dt\x20\x2d\x2dtool\x22\x20help\x3d\x22Use\x20a\x20specific\x20tool\x40version\x5cne\x2eg\x2e\x3a\x20\x60mise\x20which\x20npm\x20\x2d\x2dtool\x3dnode\x4020\x60\x22\x20\x7b\x0a\x20\x20\x20\x20\x20\x20\x20\x20arg\x20\x22\x3cTOOL\x40VERSION\x3e\x22\x0a\x20\x20\x20\x20\x7d\x0a\x20\x20\x20\x20arg\x20\x22\x3cBIN_NAME\x3e\x22\x20help\x3d\x22The\x20bin\x20to\x20look\x20up\x22\x0a\x7d\x0a\x0asource_code_link_template\x20\x22https\x3a//github\x2ecom/jdx/mise/blob/main/src/cli/\x7b\x7bpath\x7d\x7d\x2ers\x22\x0a\x0acomplete\x20\x22alias\x22\x20run\x3d\x22mise\x20alias\x20ls\x20\x7b\x7bwords\x5bPREV\x5d\x7d\x7d\x20\x7c\x20awk\x20\x27\x7bprint\x20\x242\x7d\x27\x22\x0acomplete\x20\x22config_file\x22\x20type\x3d\x22file\x22\x0acomplete\x20\x22new_plugin\x22\x20run\x3d\x22mise\x20plugins\x20\x2d\x2dall\x22\x0acomplete\x20\x22plugin\x22\x20run\x3d\x22mise\x20plugins\x20\x2d\x2dcore\x20\x2d\x2duser\x22\x0acomplete\x20\x22prefix\x22\x20run\x3d\x22mise\x20ls\x2dremote\x20\x7b\x7bwords\x5bPREV\x5d\x7d\x7d\x22\x0acomplete\x20\x22setting\x22\x20run\x3d\x22mise\x20settings\x20\x2d\x2dkeys\x22\x0acomplete\x20\x22task\x22\x20run\x3d\x22mise\x20tasks\x20\x7c\x20awk\x20\x27\x7bprint\x20\x241\x7d\x27\x22\x0a\x0acomplete\x20\x22tool\x40version\x22\x20run\x3dr\x23\x22\x0acur\x3d\x22\x7b\x7bwords\x5bCURRENT\x5d\x7d\x7d\x22\x0acase\x20\x24cur\x20in\x0a\x20\x20\x2a\x40\x2a\x29\x0a\x20\x20\x20\x20tool\x3d\x22\x24\x28echo\x20\x22\x24cur\x22\x20\x7c\x20cut\x20\x2dd\x27\x40\x27\x20\x2df1\x29\x22\x0a\x20\x20\x20\x20prefix\x3d\x22\x24\x28echo\x20\x22\x24cur\x22\x20\x7c\x20cut\x20\x2dd\x27\x40\x27\x20\x2df2\x29\x22\x0a\x0a\x20\x20\x20\x20versions\x3d\x24\x28mise\x20ls\x2dremote\x20\x24tool\x20\x24prefix\x20\x7c\x20sed\x20\x271\x21G\x3bh\x3b\x24\x21d\x27\x29\x0a\x0a\x20\x20\x20\x20for\x20version\x20in\x20\x24versions\x3b\x20do\x0a\x20\x20\x20\x20\x20\x20echo\x20\x22\x24tool\x40\x24version\x22\x0a\x20\x20\x20\x20done\x0a\x20\x20\x20\x20\x3b\x3b\x0a\x20\x20\x2a\x29\x0a\x20\x20\x20\x20plugins\x3d\x24\x28mise\x20plugins\x20\x2d\x2dall\x29\x0a\x20\x20\x20\x20for\x20plugin\x20in\x20\x24plugins\x3b\x20do\x0a\x20\x20\x20\x20\x20\x20echo\x20\x22\x24plugin\x40\x22\x0a\x20\x20\x20\x20done\x0a\x20\x20\x20\x20\x3b\x3b\x0aesac\x0a\x22\x23\x0a\x0acomplete\x20\x22installed_tool\x40version\x22\x20run\x3dr\x23\x22\x0acur\x3d\x22\x7b\x7bwords\x5bCURRENT\x5d\x7d\x7d\x22\x0acase\x20\x24cur\x20in\x0a\x20\x20\x2a\x40\x2a\x29\x0a\x20\x20\x20\x20tool\x3d\x22\x24\x28echo\x20\x22\x24cur\x22\x20\x7c\x20cut\x20\x2dd\x27\x40\x27\x20\x2df1\x29\x22\x0a\x20\x20\x20\x20prefix\x3d\x22\x24\x28echo\x20\x22\x24cur\x22\x20\x7c\x20cut\x20\x2dd\x27\x40\x27\x20\x2df2\x29\x22\x0a\x0a\x20\x20\x20\x20if\x20\x5b\x20\x21\x20\x2dz\x20\x22\x24prefix\x22\x20\x5d\x3b\x20then\x0a\x20\x20\x20\x20\x20\x20prefix\x3d\x22\x2d\x2dprefix\x20\x24prefix\x22\x0a\x20\x20\x20\x20fi\x0a\x20\x20\x20\x20versions\x3d\x24\x28mise\x20ls\x20\x2d\x2dinstalled\x20\x24tool\x20\x24prefix\x20\x7c\x20awk\x20\x27\x7bprint\x20\x242\x7d\x27\x20\x7c\x20sed\x20\x271\x21G\x3bh\x3b\x24\x21d\x27\x29\x0a\x0a\x20\x20\x20\x20for\x20version\x20in\x20\x24versions\x3b\x20do\x0a\x20\x20\x20\x20\x20\x20echo\x20\x22\x24tool\x40\x24version\x22\x0a\x20\x20\x20\x20done\x0a\x20\x20\x20\x20\x3b\x3b\x0a\x20\x20\x2a\x29\x0a\x20\x20\x20\x20plugins\x3d\x24\x28mise\x20ls\x20\x2d\x2dinstalled\x20\x7c\x20awk\x20\x27\x7bprint\x20\x241\x7d\x27\x20\x7c\x20sed\x20\x271\x21G\x3bh\x3b\x24\x21d\x27\x29\x0a\x20\x20\x20\x20for\x20plugin\x20in\x20\x24plugins\x3b\x20do\x0a\x20\x20\x20\x20\x20\x20echo\x20\x22\x24plugin\x40\x22\x0a\x20\x20\x20\x20done\x0a\x20\x20\x20\x20\x3b\x3b\x0aesac\x0a\x22\x23 39 48 SETUVAR --export fifc_editor:nvim 40 49 SETUVAR fifc_keybinding:\x06 41 50 SETUVAR fifc_open_keybinding:ctrl\x2do 42 - SETUVAR fish_color_autosuggestion:4c566a 43 - SETUVAR fish_color_cancel:\x2d\x2dreverse 44 - SETUVAR fish_color_command:88c0d0 45 - SETUVAR fish_color_comment:4c566a\x1e\x2d\x2ditalics 46 - SETUVAR fish_color_cwd:5e81ac 47 - SETUVAR fish_color_cwd_root:bf616a 48 - SETUVAR fish_color_end:81a1c1 49 - SETUVAR fish_color_error:bf616a 50 - SETUVAR fish_color_escape:ebcb8b 51 - SETUVAR fish_color_history_current:e5e9f0\x1e\x2d\x2dbold 52 - SETUVAR fish_color_host:a3be8c 53 - SETUVAR fish_color_host_remote:\x1d 54 - SETUVAR fish_color_keyword:\x1d 55 - SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue 56 - SETUVAR fish_color_normal:normal 57 - SETUVAR fish_color_operator:81a1c1 58 - SETUVAR fish_color_option:\x1d 59 - SETUVAR fish_color_param:d8dee9 60 - SETUVAR fish_color_quote:a3be8c 61 - SETUVAR fish_color_redirection:b48ead\x1e\x2d\x2dbold 62 - SETUVAR fish_color_search_match:\x2d\x2dbold\x1e\x2d\x2dbackground\x3d434c5e 63 - SETUVAR fish_color_selection:d8dee9\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3d434c5e 64 - SETUVAR fish_color_status:red 65 - SETUVAR fish_color_user:a3be8c 66 - SETUVAR fish_color_valid_path:\x2d\x2dunderline 67 51 SETUVAR fish_cursor_insert:block\x1eblink 68 52 SETUVAR fish_cursor_unknown:block\x1eblink 69 53 SETUVAR fish_greeting:\x1d 70 - SETUVAR fish_key_bindings:fish_default_key_bindings 71 - SETUVAR fish_pager_color_background:\x1d 72 - SETUVAR fish_pager_color_completion:e5e9f0 73 - SETUVAR fish_pager_color_description:ebcb8b\x1e\x2d\x2ditalics 74 - SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline 75 - SETUVAR fish_pager_color_progress:3b4252\x1e\x2d\x2dbackground\x3dd08770 76 - SETUVAR fish_pager_color_secondary_background:\x1d 77 - SETUVAR fish_pager_color_secondary_completion:\x1d 78 - SETUVAR fish_pager_color_secondary_description:\x1d 79 - SETUVAR fish_pager_color_secondary_prefix:\x1d 80 - SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3d434c5e 81 - SETUVAR fish_pager_color_selected_completion:\x1d 82 - SETUVAR fish_pager_color_selected_description:\x1d 83 - SETUVAR fish_pager_color_selected_prefix:\x1d 84 - SETUVAR --export fish_user_paths:/home/bas/\x2ebun/bin\x1e/home/bas/\x2edotnet/tools\x1e/opt/android\x2dsdk/platform\x2dtools\x1e/usr/lib/ccache/bin\x1e/home/bas/\x2elocal/share/soar/bin\x1e/home/bas/\x2epulumi/bin\x1e/home/bas/\x2ecargo/bin\x1e/home/bas/\x2elocal/bin\x1e/home/bas/bin\x1e/usr/bin/ 85 - SETUVAR --export plugins:https\x3a//github\x2ecom/kidonng/plug\x2efish\x1ehttps\x3a//github\x2ecom/gazorby/fish\x2dabbreviation\x2dtips\x1ehttps\x3a//github\x2ecom/jorgebucaran/autopair\x2efish\x1ehttps\x3a//github\x2ecom/jorgebucaran/replay\x2efish\x1ehttps\x3a//github\x2ecom/franciscolourenco/done\x1ehttps\x3a//github\x2ecom/g\x2dplane/pnpm\x2dshell\x2dcompletion 54 + SETUVAR --export fish_user_paths:/opt/android\x2dndk\x1e/home/bas/\x2ebun/bin\x1e/home/bas/\x2edotnet/tools\x1e/opt/android\x2dsdk/platform\x2dtools\x1e/usr/lib/ccache/bin\x1e/home/bas/\x2elocal/share/soar/bin\x1e/home/bas/\x2epulumi/bin\x1e/home/bas/\x2ecargo/bin\x1e/home/bas/\x2elocal/bin\x1e/home/bas/bin\x1e/usr/bin/ 55 + SETUVAR --export plugins:https\x3a//github\x2ecom/kidonng/plug\x2efish\x1ehttps\x3a//github\x2ecom/gazorby/fish\x2dabbreviation\x2dtips\x1ehttps\x3a//github\x2ecom/jorgebucaran/autopair\x2efish\x1ehttps\x3a//github\x2ecom/jorgebucaran/replay\x2efish\x1ehttps\x3a//github\x2ecom/franciscolourenco/done\x1ehttps\x3a//github\x2ecom/g\x2dplane/pnpm\x2dshell\x2dcompletion\x1ehttps\x3a//github\x2ecom/PatrickF1/fzf\x2efish 86 56 SETUVAR pure_begin_prompt_with_current_directory:true 87 57 SETUVAR pure_check_for_new_release:false 88 58 SETUVAR pure_color_at_sign:pure_color_mute
+3
fish/.config/fish/functions/but.fish
··· 1 + function but --wraps=gitbutler-tauri --description 'alias but gitbutler-tauri' 2 + gitbutler-tauri $argv 3 + end
+3
fish/.config/fish/functions/diff.fish
··· 1 + function diff --description 'alias diff diff --width=(tput cols)' 2 + command diff --width=(tput cols) --color $argv 3 + end
+32
fish/.config/fish/functions/dotfiles_add.fish
··· 1 + # TODO: prompt to update/add existing files/directories 2 + 3 + function dotfiles_add --description 'Move directory to the dotfiles repo and stow it' 4 + if not test -d ~/dotfiles 5 + echo "~/dotfiles does not exist." 6 + return 1 7 + end 8 + 9 + if count $argv >/dev/null && test $argv[1] != -h && test $argv[1] != --help 10 + set source $argv[1] 11 + else 12 + echo "Usage: dotfiles_add <directory>" 13 + return 1 14 + end 15 + 16 + if test -d $source 17 + set package (path basename $source) 18 + set target ~/dotfiles/$package/$(realpath -s --relative-to=$HOME $source) 19 + 20 + if test -d $target 21 + echo "Directory $target already exists." 22 + return 1 23 + end 24 + else 25 + echo "$source does not exist." 26 + return 1 27 + end 28 + 29 + echo "Moving $source to $target" 30 + mv $source $target 31 + stow $package 32 + end
+32
fish/.config/fish/functions/fish_load_sudo_alias.fish
··· 1 + # from https://gist.github.com/NotTheDr01ds/6357e48b511735c42b94c4cc081ac5dc 2 + # from https://stackoverflow.com/a/70491301/5082094 3 + function fish_load_sudo_alias 4 + function sudo 5 + if functions -q -- "$argv[1]" 6 + # Create a string which quotes each of the original arguments 7 + # so that they can be safely passed into the new fish 8 + # instance that is called by sudo. 9 + set cmdline ( 10 + for arg in $argv 11 + printf "\"%s\" " $arg 12 + end 13 + ) 14 + # We need to pass the function source to another fish instance. 15 + # Since it is multi-line, any attempt to store the function in a 16 + # variable results in an array, which also can't be passed to 17 + # another fish instance. 18 + # 19 + # So first we escape the existing function (mostly in case it 20 + # has '\n' literals in it, then we join it on "\n". 21 + # 22 + # After passing it into fish, the new shell splits it, 23 + # unescapes it, and passes the function declaration to 24 + # `source`, which loads it into memory in the new shell. 25 + set -x function_src (string join "\n" (string escape --style=var (functions "$argv[1]"))) 26 + set argv fish -c 'string unescape --style=var (string split "\n" $function_src) | source; '$cmdline 27 + command sudo -E $argv 28 + else 29 + command sudo $argv 30 + end 31 + end 32 + end
+3 -3
fish/.config/fish/functions/fish_remove_list.fish
··· 3 3 set list $$list_name 4 4 5 5 set target (printf %s\n $list | fzf -1 -q "$argv[2]") 6 - test -n $target || return 1 6 + test -n "$target" || return 1 7 7 8 - if not set -l index (contains -i "$target" $fish_user_paths) 8 + if not set index (contains -i "$target" $list) 9 9 echo "'$target' was not found in $list_name" 10 10 return 1 11 11 end 12 12 13 13 if confirm "Remove '$target' from $list_name?" 14 - set -e $list_name[1][$index] && echo -e "\033[2KRemoved '$target' from \$fish_user_paths" 14 + set -e $list_name[1][$index] && echo -e "\033[2KRemoved '$target' from \$$list_name" 15 15 end 16 16 end
+3
fish/.config/fish/functions/jj-stack.fish
··· 1 + function jj-stack --wraps='bunx jjstack' --description 'alias jj-stack bunx jj-stack' 2 + bunx jj-stack $argv 3 + end
+3
fish/.config/fish/functions/jst.fish
··· 1 + function jst --wraps='bunx jjstack' --wraps='bunx jj-stack' --description 'alias jst bunx jj-stack' 2 + bunx jj-stack $argv 3 + end
+16
fish/.config/fish/functions/rga-fzf.fish
··· 1 + function rga-fzf 2 + set RG_PREFIX 'rga --files-with-matches' 3 + if test (count $argv) -gt 1 4 + set RG_PREFIX "$RG_PREFIX $argv[1..-2]" 5 + end 6 + set -l file $file 7 + set file ( 8 + FZF_DEFAULT_COMMAND="$RG_PREFIX '$argv[-1]'" \ 9 + fzf --sort \ 10 + --preview='test ! -z {} && \ 11 + rga --pretty --context 5 {q} {}' \ 12 + --phony -q "$argv[-1]" \ 13 + --bind "change:reload:$RG_PREFIX {q}" \ 14 + --preview-window='50%:wrap' 15 + ) && echo "opening $file" && open "$file" 16 + end
+4
fish/.config/fish/functions/set-font.fish
··· 1 + function set-font 2 + gsettings set org.gnome.desktop.interface font-name $argv 3 + gsettings set org.gnome.desktop.interface document-font-name $argv 4 + end
+24 -1
fish/.config/fish/functions/yay.fish
··· 1 1 function yay 2 - command yay --config /home/bas/.config/pacman/pacman.conf $argv 2 + # if type -q paru 3 + # paru $argv 4 + # return $status 5 + # end 6 + 7 + if not command -q yay 8 + fish_command_not_found yay 9 + return 1 10 + end 11 + 12 + if command -q mise && mise deactivate 2>/dev/null 13 + function __yay_reactivate_mise --on-event fish_prompt 14 + functions -e __yay_reactivate_mise 15 + mise activate | source 16 + end 17 + end 18 + 19 + command yay $argv 20 + 21 + # if test -f $HOME/.config/pacman/pacman.conf 22 + # command yay --config $HOME/.config/pacman/pacman.conf $argv 23 + # else 24 + # command yay $argv 25 + # end 3 26 end
+481
fontconfig/.config/fontconfig/conf.d/53-cjk.conf
··· 1 + <?xml version="1.0"?> 2 + <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> 3 + <fontconfig> 4 + <!-- Serif CJK --> 5 + <!-- Default serif when the "lang" attribute is not given --> 6 + <!-- You can change this font to the language variant you want --> 7 + <match target="pattern"> 8 + <test name="family"> 9 + <string>serif</string> 10 + </test> 11 + <edit name="family" mode="append" binding="strong"> 12 + <string>Noto Serif</string> 13 + </edit> 14 + </match> 15 + <!-- Japanese --> 16 + <!-- "lang=ja" or "lang=ja-*" --> 17 + <match target="pattern"> 18 + <test name="lang" compare="contains"> 19 + <string>ja</string> 20 + </test> 21 + <test name="family"> 22 + <string>serif</string> 23 + </test> 24 + <edit name="family" mode="append" binding="strong"> 25 + <string>Noto Serif CJK JP</string> 26 + </edit> 27 + </match> 28 + <!-- Korean --> 29 + <!-- "lang=ko" or "lang=ko-*" --> 30 + <match target="pattern"> 31 + <test name="lang" compare="contains"> 32 + <string>ko</string> 33 + </test> 34 + <test name="family"> 35 + <string>serif</string> 36 + </test> 37 + <edit name="family" mode="append" binding="strong"> 38 + <string>Noto Serif CJK KR</string> 39 + </edit> 40 + </match> 41 + <!-- Chinese --> 42 + <!-- "lang=zh" or "lang=zh-*" --> 43 + <match target="pattern"> 44 + <test name="lang" compare="contains"> 45 + <string>zh</string> 46 + </test> 47 + <test name="family"> 48 + <string>serif</string> 49 + </test> 50 + <edit name="family" mode="append" binding="strong"> 51 + <string>Noto Serif CJK SC</string> 52 + </edit> 53 + </match> 54 + <!-- "lang=zh-hans" or "lang=zh-hans-*" --> 55 + <match target="pattern"> 56 + <test name="lang" compare="contains"> 57 + <string>zh-hans</string> 58 + </test> 59 + <test name="family"> 60 + <string>serif</string> 61 + </test> 62 + <edit name="family" mode="append" binding="strong"> 63 + <string>Noto Serif CJK SC</string> 64 + </edit> 65 + </match> 66 + <!-- "lang=zh-hant" or "lang=zh-hant-*" --> 67 + <match target="pattern"> 68 + <test name="lang" compare="contains"> 69 + <string>zh-hant</string> 70 + </test> 71 + <test name="family"> 72 + <string>serif</string> 73 + </test> 74 + <edit name="family" mode="append" binding="strong"> 75 + <string>Noto Serif CJK TC</string> 76 + </edit> 77 + </match> 78 + <!-- Compatible --> 79 + <!-- "lang=zh-cn" or "lang=zh-cn-*" --> 80 + <match target="pattern"> 81 + <test name="lang" compare="contains"> 82 + <string>zh-cn</string> 83 + </test> 84 + <test name="family"> 85 + <string>serif</string> 86 + </test> 87 + <edit name="family" mode="append" binding="strong"> 88 + <string>Noto Serif CJK SC</string> 89 + </edit> 90 + </match> 91 + <!-- "lang=zh-tw" or "lang=zh-tw-*" --> 92 + <match target="pattern"> 93 + <test name="lang" compare="contains"> 94 + <string>zh-tw</string> 95 + </test> 96 + <test name="family"> 97 + <string>serif</string> 98 + </test> 99 + <edit name="family" mode="append" binding="strong"> 100 + <string>Noto Serif CJK TC</string> 101 + </edit> 102 + </match> 103 + <!-- Sans CJK --> 104 + <!-- Default sans-serif when the "lang" attribute is not given --> 105 + <!-- You can change this font to the language variant you want --> 106 + <match target="pattern"> 107 + <test name="family"> 108 + <string>sans-serif</string> 109 + </test> 110 + <edit name="family" mode="append" binding="strong"> 111 + <string>Noto Sans</string> 112 + </edit> 113 + </match> 114 + <!-- Japanese --> 115 + <!-- "lang=ja" or "lang=ja-*" --> 116 + <match target="pattern"> 117 + <test name="lang" compare="contains"> 118 + <string>ja</string> 119 + </test> 120 + <test name="family"> 121 + <string>sans-serif</string> 122 + </test> 123 + <edit name="family" mode="append" binding="strong"> 124 + <string>Noto Sans CJK JP</string> 125 + </edit> 126 + </match> 127 + <!-- Korean --> 128 + <!-- "lang=ko" or "lang=ko-*" --> 129 + <match target="pattern"> 130 + <test name="lang" compare="contains"> 131 + <string>ko</string> 132 + </test> 133 + <test name="family"> 134 + <string>sans-serif</string> 135 + </test> 136 + <edit name="family" mode="append" binding="strong"> 137 + <string>Noto Sans CJK KR</string> 138 + </edit> 139 + </match> 140 + <!-- Chinese --> 141 + <!-- "lang=zh" or "lang=zh-*" --> 142 + <match target="pattern"> 143 + <test name="lang" compare="contains"> 144 + <string>zh</string> 145 + </test> 146 + <test name="family"> 147 + <string>sans-serif</string> 148 + </test> 149 + <edit name="family" mode="append" binding="strong"> 150 + <string>Noto Sans CJK SC</string> 151 + </edit> 152 + </match> 153 + <!-- "lang=zh-hans" or "lang=zh-hans-*" --> 154 + <match target="pattern"> 155 + <test name="lang" compare="contains"> 156 + <string>zh-hans</string> 157 + </test> 158 + <test name="family"> 159 + <string>sans-serif</string> 160 + </test> 161 + <edit name="family" mode="append" binding="strong"> 162 + <string>Noto Sans CJK SC</string> 163 + </edit> 164 + </match> 165 + <!-- "lang=zh-hant" or "lang=zh-hant-*" --> 166 + <match target="pattern"> 167 + <test name="lang" compare="contains"> 168 + <string>zh-hant</string> 169 + </test> 170 + <test name="family"> 171 + <string>sans-serif</string> 172 + </test> 173 + <edit name="family" mode="append" binding="strong"> 174 + <string>Noto Sans CJK TC</string> 175 + </edit> 176 + </match> 177 + <!-- "lang=zh-hant-hk" or "lang=zh-hant-hk-*" --> 178 + <match target="pattern"> 179 + <test name="lang" compare="contains"> 180 + <string>zh-hant-hk</string> 181 + </test> 182 + <test name="family"> 183 + <string>sans-serif</string> 184 + </test> 185 + <edit name="family" mode="append" binding="strong"> 186 + <string>Noto Sans CJK HK</string> 187 + </edit> 188 + </match> 189 + <!-- Compatible --> 190 + <!-- "lang=zh-cn" or "lang=zh-cn-*" --> 191 + <match target="pattern"> 192 + <test name="lang" compare="contains"> 193 + <string>zh-cn</string> 194 + </test> 195 + <test name="family"> 196 + <string>sans-serif</string> 197 + </test> 198 + <edit name="family" mode="append" binding="strong"> 199 + <string>Noto Sans CJK SC</string> 200 + </edit> 201 + </match> 202 + <!-- "lang=zh-tw" or "lang=zh-tw-*" --> 203 + <match target="pattern"> 204 + <test name="lang" compare="contains"> 205 + <string>zh-tw</string> 206 + </test> 207 + <test name="family"> 208 + <string>sans-serif</string> 209 + </test> 210 + <edit name="family" mode="append" binding="strong"> 211 + <string>Noto Sans CJK TC</string> 212 + </edit> 213 + </match> 214 + <!-- "lang=zh-hk" or "lang=zh-hk-*" --> 215 + <match target="pattern"> 216 + <test name="lang" compare="contains"> 217 + <string>zh-hk</string> 218 + </test> 219 + <test name="family"> 220 + <string>sans-serif</string> 221 + </test> 222 + <edit name="family" mode="append" binding="strong"> 223 + <string>Noto Sans CJK HK</string> 224 + </edit> 225 + </match> 226 + <!-- Mono CJK --> 227 + <!-- Default monospace when the "lang" attribute is not given --> 228 + <!-- You can change this font to the language variant you want --> 229 + <!-- <match target="pattern"> --> 230 + <!-- <test name="family"> --> 231 + <!-- <string>monospace</string> --> 232 + <!-- </test> --> 233 + <!-- <edit name="family" mode="append" binding="strong"> --> 234 + <!-- <string>Hack Nerd Font</string> --> 235 + <!-- </edit> --> 236 + <!-- </match> --> 237 + <!-- Japanese --> 238 + <!-- "lang=ja" or "lang=ja-*" --> 239 + <match target="pattern"> 240 + <test name="lang" compare="contains"> 241 + <string>ja</string> 242 + </test> 243 + <test name="family"> 244 + <string>monospace</string> 245 + </test> 246 + <edit name="family" mode="append" binding="strong"> 247 + <string>Hack Nerd Font</string> 248 + <!-- <string>Noto Sans Mono CJK JP</string> --> 249 + </edit> 250 + </match> 251 + <!-- Korean --> 252 + <!-- "lang=ko" or "lang=ko-*" --> 253 + <match target="pattern"> 254 + <test name="lang" compare="contains"> 255 + <string>ko</string> 256 + </test> 257 + <test name="family"> 258 + <string>monospace</string> 259 + </test> 260 + <edit name="family" mode="append" binding="strong"> 261 + <string>Hack Nerd Font</string> 262 + <!-- <string>Noto Sans Mono CJK KR</string> --> 263 + </edit> 264 + </match> 265 + <!-- Chinese --> 266 + <!-- "lang=zh" or "lang=zh-*" --> 267 + <match target="pattern"> 268 + <test name="lang" compare="contains"> 269 + <string>zh</string> 270 + </test> 271 + <test name="family"> 272 + <string>monospace</string> 273 + </test> 274 + <edit name="family" mode="append" binding="strong"> 275 + <string>Hack Nerd Font</string> 276 + <!-- <string>Noto Sans Mono CJK SC</string> --> 277 + </edit> 278 + </match> 279 + <!-- "lang=zh-hans" or "lang=zh-hans-*" --> 280 + <match target="pattern"> 281 + <test name="lang" compare="contains"> 282 + <string>zh-hans</string> 283 + </test> 284 + <test name="family"> 285 + <string>monospace</string> 286 + </test> 287 + <edit name="family" mode="append" binding="strong"> 288 + <string>Hack Nerd Font</string> 289 + <!-- <string>Noto Sans Mono CJK SC</string> --> 290 + </edit> 291 + </match> 292 + <!-- "lang=zh-hant" or "lang=zh-hant-*" --> 293 + <match target="pattern"> 294 + <test name="lang" compare="contains"> 295 + <string>zh-hant</string> 296 + </test> 297 + <test name="family"> 298 + <string>monospace</string> 299 + </test> 300 + <edit name="family" mode="append" binding="strong"> 301 + <string>Hack Nerd Font</string> 302 + <!-- <string>Noto Sans Mono CJK TC</string> --> 303 + </edit> 304 + </match> 305 + <!-- "lang=zh-hant-hk" or "lang=zh-hant-hk-*" --> 306 + <match target="pattern"> 307 + <test name="lang" compare="contains"> 308 + <string>zh-hant-hk</string> 309 + </test> 310 + <test name="family"> 311 + <string>monospace</string> 312 + </test> 313 + <edit name="family" mode="append" binding="strong"> 314 + <string>Hack Nerd Font</string> 315 + <!-- <string>Noto Sans Mono CJK HK</string> --> 316 + </edit> 317 + </match> 318 + <!-- Compatible --> 319 + <!-- "lang=zh-cn" or "lang=zh-cn-*" --> 320 + <match target="pattern"> 321 + <test name="lang" compare="contains"> 322 + <string>zh-cn</string> 323 + </test> 324 + <test name="family"> 325 + <string>monospace</string> 326 + </test> 327 + <edit name="family" mode="append" binding="strong"> 328 + <string>Hack Nerd Font</string> 329 + <!-- <string>Noto Sans Mono CJK SC</string> --> 330 + </edit> 331 + </match> 332 + <!-- "lang=zh-tw" or "lang=zh-tw-*" --> 333 + <match target="pattern"> 334 + <test name="lang" compare="contains"> 335 + <string>zh-tw</string> 336 + </test> 337 + <test name="family"> 338 + <string>monospace</string> 339 + </test> 340 + <edit name="family" mode="append" binding="strong"> 341 + <string>Hack Nerd Font</string> 342 + <!-- <string>Noto Sans Mono CJK TC</string> --> 343 + </edit> 344 + </match> 345 + <!-- "lang=zh-hk" or "lang=zh-hk-*" --> 346 + <match target="pattern"> 347 + <test name="lang" compare="contains"> 348 + <string>zh-hk</string> 349 + </test> 350 + <test name="family"> 351 + <string>monospace</string> 352 + </test> 353 + <edit name="family" mode="append" binding="strong"> 354 + <string>Hack Nerd Font</string> 355 + <!-- <string>Noto Sans Mono CJK HK</string> --> 356 + </edit> 357 + </match> 358 + <!-- System UI CJK --> 359 + <!-- Default system-ui when the "lang" attribute is not given --> 360 + <!-- You can change this font to the language variant you want --> 361 + <match target="pattern"> 362 + <test name="family"> 363 + <string>system-ui</string> 364 + </test> 365 + <edit name="family" mode="append" binding="strong"> 366 + <string>Noto Sans</string> 367 + </edit> 368 + </match> 369 + <!-- Japanese --> 370 + <!-- "lang=ja" or "lang=ja-*" --> 371 + <match target="pattern"> 372 + <test name="lang" compare="contains"> 373 + <string>ja</string> 374 + </test> 375 + <test name="family"> 376 + <string>system-ui</string> 377 + </test> 378 + <edit name="family" mode="append" binding="strong"> 379 + <string>Noto Sans CJK JP</string> 380 + </edit> 381 + </match> 382 + <!-- Korean --> 383 + <!-- "lang=ko" or "lang=ko-*" --> 384 + <match target="pattern"> 385 + <test name="lang" compare="contains"> 386 + <string>ko</string> 387 + </test> 388 + <test name="family"> 389 + <string>system-ui</string> 390 + </test> 391 + <edit name="family" mode="append" binding="strong"> 392 + <string>Noto Sans CJK KR</string> 393 + </edit> 394 + </match> 395 + <!-- Chinese --> 396 + <!-- "lang=zh" or "lang=zh-*" --> 397 + <match target="pattern"> 398 + <test name="lang" compare="contains"> 399 + <string>zh</string> 400 + </test> 401 + <test name="family"> 402 + <string>system-ui</string> 403 + </test> 404 + <edit name="family" mode="append" binding="strong"> 405 + <string>Noto Sans CJK SC</string> 406 + </edit> 407 + </match> 408 + <!-- "lang=zh-hans" or "lang=zh-hans-*" --> 409 + <match target="pattern"> 410 + <test name="lang" compare="contains"> 411 + <string>zh-hans</string> 412 + </test> 413 + <test name="family"> 414 + <string>system-ui</string> 415 + </test> 416 + <edit name="family" mode="append" binding="strong"> 417 + <string>Noto Sans CJK SC</string> 418 + </edit> 419 + </match> 420 + <!-- "lang=zh-hant" or "lang=zh-hant-*" --> 421 + <match target="pattern"> 422 + <test name="lang" compare="contains"> 423 + <string>zh-hant</string> 424 + </test> 425 + <test name="family"> 426 + <string>system-ui</string> 427 + </test> 428 + <edit name="family" mode="append" binding="strong"> 429 + <string>Noto Sans CJK TC</string> 430 + </edit> 431 + </match> 432 + <!-- "lang=zh-hant-hk" or "lang=zh-hant-hk-*" --> 433 + <match target="pattern"> 434 + <test name="lang" compare="contains"> 435 + <string>zh-hant-hk</string> 436 + </test> 437 + <test name="family"> 438 + <string>system-ui</string> 439 + </test> 440 + <edit name="family" mode="append" binding="strong"> 441 + <string>Noto Sans CJK HK</string> 442 + </edit> 443 + </match> 444 + <!-- Compatible --> 445 + <!-- "lang=zh-cn" or "lang=zh-cn-*" --> 446 + <match target="pattern"> 447 + <test name="lang" compare="contains"> 448 + <string>zh-cn</string> 449 + </test> 450 + <test name="family"> 451 + <string>system-ui</string> 452 + </test> 453 + <edit name="family" mode="append" binding="strong"> 454 + <string>Noto Sans CJK SC</string> 455 + </edit> 456 + </match> 457 + <!-- "lang=zh-tw" or "lang=zh-tw-*" --> 458 + <match target="pattern"> 459 + <test name="lang" compare="contains"> 460 + <string>zh-tw</string> 461 + </test> 462 + <test name="family"> 463 + <string>system-ui</string> 464 + </test> 465 + <edit name="family" mode="append" binding="strong"> 466 + <string>Noto Sans CJK TC</string> 467 + </edit> 468 + </match> 469 + <!-- "lang=zh-hk" or "lang=zh-hk-*" --> 470 + <match target="pattern"> 471 + <test name="lang" compare="contains"> 472 + <string>zh-hk</string> 473 + </test> 474 + <test name="family"> 475 + <string>system-ui</string> 476 + </test> 477 + <edit name="family" mode="append" binding="strong"> 478 + <string>Noto Sans CJK HK</string> 479 + </edit> 480 + </match> 481 + </fontconfig>
+26
fontconfig/.config/fontconfig/conf.d/70-freetype-envision-droid-sans.conf
··· 1 + <?xml version="1.0"?> 2 + <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"> 3 + <fontconfig> 4 + <description>Tweaks for the Droid Sans fonts with the hieroglyphic typefaces</description> 5 + <!-- 6 + Stem-darkening does not work well with these typefaces, causing 7 + characters over-emboldening. Most of the software will automatically use 8 + Noto fonts for hieroglyphic characters, but there are some exceptions, like 9 + Chromium and GNOME shell, that will fall back to Droid Sans because of the 10 + higher fontconfig priority. This is the main reason we reject this fonts. 11 + --> 12 + <selectfont> 13 + <rejectfont> 14 + <pattern> 15 + <patelt name="family"> 16 + <string>Droid Sans Fallback</string> 17 + </patelt> 18 + </pattern> 19 + <pattern> 20 + <patelt name="family"> 21 + <string>Droid Sans Japanese</string> 22 + </patelt> 23 + </pattern> 24 + </rejectfont> 25 + </selectfont> 26 + </fontconfig>
+17
gh/.config/gh/config.yml
··· 1 + # The current version of the config schema 2 + version: 1 3 + # What protocol to use when performing git operations. Supported values: ssh, https 4 + git_protocol: ssh 5 + # What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment. 6 + editor: 7 + # When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled 8 + prompt: enabled 9 + # A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager. 10 + pager: 11 + # Aliases allow you to create nicknames for gh commands 12 + aliases: 13 + co: pr checkout 14 + # The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport. 15 + http_unix_socket: 16 + # What web browser gh should use when opening URLs. If blank, will refer to environment. 17 + browser:
+5
gh/.config/gh/hosts.yml
··· 1 + github.com: 2 + git_protocol: ssh 3 + users: 4 + brw: 5 + user: brw
+40
ghostty/.config/ghostty/config
··· 1 + quit-after-last-window-closed = false 2 + maximize = true 3 + 4 + font-size = 10.5 5 + font-feature = "-calt" 6 + 7 + # font: Google Sans Code 8 + #font-family = "Google Sans Code NF" 9 + #adjust-underline-position = 1 10 + #adjust-underline-thickness = -1 11 + 12 + # font: Hack 13 + font-family = "Hack Nerd Font" 14 + adjust-cell-height = 1 15 + 16 + # fallbacks 17 + font-family = "Noto Sans Mono" 18 + font-family = "Noto Sans Mono CJK JP" 19 + 20 + theme = "Nord" 21 + 22 + # now handled by fish? kinda? seems like I still need these settings though 23 + #shell-integration-features = "no-cursor" 24 + shell-integration = "fish" 25 + shell-integration-features = "no-cursor,sudo,ssh-env,ssh-terminfo" 26 + cursor-style = "block" 27 + 28 + # tmux? 29 + cursor-click-to-move = true 30 + 31 + # TODO: figure out why scroll speed is different between Ghostty and tmux 32 + mouse-scroll-multiplier = 1 33 + 34 + keybind = clear 35 + keybind = ctrl+shift+c=copy_to_clipboard 36 + keybind = ctrl+shift+v=paste_from_clipboard 37 + keybind = ctrl+equal=increase_font_size:1 38 + keybind = ctrl+plus=increase_font_size:1 39 + keybind = ctrl+minus=decrease_font_size:1 40 + keybind = ctrl+zero=reset_font_size
+7
ghostty/.config/systemd/user/ghostty-auto-reload-config.service
··· 1 + [Unit] 2 + Description=Ghostty automatic config reload using entr 3 + BindsTo=app-com.mitchellh.ghostty.service 4 + 5 + [Service] 6 + Type=simple 7 + ExecStart=/usr/bin/sh -c "echo ~/.config/ghostty/config | /usr/bin/entr -np pkill -SIGUSR2 ghostty"
+63 -8
git/.gitconfig
··· 1 1 [user] 2 2 email = hi@bas.sh 3 3 name = Bas van den Wollenberg 4 + signingkey = /home/bas/.ssh/id_ed25519_bas 4 5 5 6 [core] 6 7 autocrlf = input 7 8 editor = nvim 8 9 pager = delta 10 + difftool = true 11 + 12 + [pager] 13 + difftool = true 14 + ; diff = diffnav 9 15 10 16 [alias] 11 - showext = show --ext-diff 12 - logext = log --ext-diff 17 + showt = show --ext-diff 18 + logt = log --ext-diff 19 + difft = difftool 20 + diffn = -c pager.diff=diffnav diff 21 + prune-local = !git branch -vv | awk '/: gone]/{print $1}' | xargs git branch -d 22 + cd = "!fish -c \"if test -d $1 && read -p 'echo -n \"Directory exists. Delete first? Y/n \"' | grep -v '[yY ]'; exit 1; else rm -rf (path basename $1); end; git clone $1 && cd (path basename $1)\"" 23 + bl = branchless 13 24 14 25 [credential] 15 - helper = store 26 + helper = /usr/lib/git-core/git-credential-libsecret 16 27 17 28 [filter "lfs"] 18 29 clean = git-lfs clean -- %f ··· 27 38 diffFilter = delta --color-only 28 39 29 40 [delta] 30 - syntax-theme = Nord 31 41 navigate = true 42 + syntax-theme = Nord 43 + 44 + [diff] 45 + colorMoved = default 46 + ; external = difft "$LOCAL" "$REMOTE" 47 + tool = difftastic 48 + algorithm = histogram 32 49 33 50 [difftool] 34 51 prompt = false 35 - external = difft --display inline 52 + 53 + [difftool "difftastic"] 54 + cmd = difft "$LOCAL" "$REMOTE" 55 + 56 + [difftool "diffnav"] 57 + cmd = diffnav "$LOCAL" "$REMOTE" 36 58 37 59 [init] 38 - defaultBranch = main 60 + defaultBranch = main 39 61 40 62 [pull] 41 63 rebase = true 42 64 43 65 [rebase] 44 66 autostash = true 67 + updaterefs = true 45 68 46 69 [merge] 47 70 autoStash = true 71 + conflictstyle = zdiff3 72 + summary = true 73 + ff = only 48 74 49 75 [commit] 50 76 verbose = true 77 + gpgsign = true 51 78 52 79 [submodule] 53 80 recurse = true ··· 56 83 autoSetupRemote = true 57 84 58 85 [rerere] 59 - enabled = true 86 + enabled = true 60 87 61 88 [protocol "file"] 62 - allow = always 89 + allow = always 90 + 91 + [gpg] 92 + format = ssh 93 + 94 + [tag] 95 + gpgSign = true 96 + sort = -version:refname 97 + 98 + [url "git@github.com:"] 99 + insteadOf = git://github.com/ 100 + ; insteadOf = http://github.com/ 101 + ; insteadOf = https://github.com/ 102 + 103 + [url "git+ssh://brw@git.launchpad.net/"] 104 + insteadof = lp: 105 + 106 + [fetch] 107 + prune = true 108 + 109 + [cola] 110 + theme = default 111 + icontheme = dark 112 + expandtab = true 113 + refreshonfocus = true 114 + resizebrowsercolumns = true 115 + 116 + [gui] 117 + editor = nvim
+8
glow/.config/glow/glow.yml
··· 1 + # style name or JSON path (default "auto") 2 + style: "auto" 3 + # mouse support (TUI-mode only) 4 + mouse: true 5 + # use pager to display markdown 6 + pager: true 7 + # word-wrap at width 8 + width: 80
+7 -1
gtk/.config/gtk-3.0/gtk.css
··· 1 - VteTerminal, vte-terminal { 1 + VteTerminal, 2 + vte-terminal { 2 3 padding: 10px; 3 4 } 5 + 6 + treeview { 7 + padding: 2px; 8 + -gtktreeview-horizontal-separator: 5; 9 + }
+64
htop/.config/htop/htoprc
··· 1 + # Beware! This file is rewritten by htop when settings are changed in the interface. 2 + # The parser is also very primitive, and not human-friendly. 3 + htop_version=3.4.1-3.4.1 4 + config_reader_min_version=3 5 + fields=13 14 0 48 17 18 38 39 40 119 2 46 47 132 49 20 53 1 6 + hide_kernel_threads=1 7 + hide_userland_threads=1 8 + hide_running_in_container=0 9 + shadow_other_users=0 10 + show_thread_names=1 11 + show_program_path=1 12 + highlight_base_name=1 13 + highlight_deleted_exe=1 14 + shadow_distribution_path_prefix=0 15 + highlight_megabytes=1 16 + highlight_threads=1 17 + highlight_changes=0 18 + highlight_changes_delay_secs=5 19 + find_comm_in_cmdline=1 20 + strip_exe_from_cmdline=1 21 + show_merged_command=1 22 + header_margin=1 23 + screen_tabs=1 24 + detailed_cpu_time=0 25 + cpu_count_from_one=0 26 + show_cpu_usage=1 27 + show_cpu_frequency=1 28 + show_cpu_temperature=1 29 + degree_fahrenheit=0 30 + show_cached_memory=1 31 + update_process_names=0 32 + account_guest_in_cpu_meter=0 33 + color_scheme=0 34 + enable_mouse=1 35 + delay=15 36 + hide_function_bar=0 37 + header_layout=two_50_50 38 + column_meters_0=LeftCPUs Memory Swap DiskIO NetworkIO 39 + column_meter_modes_0=1 1 1 1 2 40 + column_meters_1=RightCPUs GPU Tasks LoadAverage Uptime 41 + column_meter_modes_1=1 1 2 2 2 42 + tree_view=0 43 + sort_key=46 44 + tree_sort_key=46 45 + sort_direction=-1 46 + tree_sort_direction=-1 47 + tree_view_always_by_pid=0 48 + all_branches_collapsed=0 49 + screen:Main=UTIME STIME PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE M_SWAP STATE PERCENT_CPU PERCENT_MEM GPU_PERCENT TIME STARTTIME ELAPSED Command 50 + .sort_key=PERCENT_CPU 51 + .tree_sort_key=PERCENT_CPU 52 + .tree_view_always_by_pid=0 53 + .tree_view=0 54 + .sort_direction=-1 55 + .tree_sort_direction=-1 56 + .all_branches_collapsed=0 57 + screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command 58 + .sort_key=IO_RATE 59 + .tree_sort_key=PID 60 + .tree_view_always_by_pid=0 61 + .tree_view=0 62 + .sort_direction=-1 63 + .tree_sort_direction=1 64 + .all_branches_collapsed=0
+7 -2
mise/.config/mise/config.toml
··· 1 1 [tools] 2 2 node = "latest" 3 - lua = "latest" 4 - bun = "latest" 3 + lua = ["5.1", "latest"] 5 4 usage = "latest" 6 5 go = "latest" 6 + uv = "latest" 7 + bun = "latest" 8 + rust = "nightly" 7 9 8 10 [settings] 9 11 experimental = true 12 + 13 + trusted_config_paths = ['~/dev'] 14 + idiomatic_version_file_enable_tools = ["ruby"]
+4 -2
mise/.default-npm-packages
··· 1 + npm 1 2 neovim 2 3 prettier 3 - @fsouza/prettierd 4 + @prettier/plugin-xml 5 + #@fsouza/prettierd 4 6 eslint 5 - eslint_d 7 + #eslint_d
+3
mise/.default-python-packages
··· 1 + pip 1 2 pynvim 2 3 virtualenv 3 4 pipenv 4 5 norminette; python_version >= '3' 5 6 c-formatter-42; python_version >= '3' 7 + cyberdrop-dl-patched 8 + tmux-language-server
+1
mpv/.config/mpv/fonts/uosc_icons.otf
··· 1 + /usr/share/mpv/fonts/uosc_icons.otf
+1
mpv/.config/mpv/fonts/uosc_textures.ttf
··· 1 + /usr/share/mpv/fonts/uosc_textures.ttf
+11
mpv/.config/mpv/mpv.conf
··· 1 1 hwdec=auto 2 2 #osd-msg1=${playback-time/full} / ${duration} (${percent-pos}%)\nframe: ${estimated-frame-number} / ${estimated-frame-count} 3 3 screenshot-format=png 4 + screenshot-template="%F - [%P] (%#01n)" 4 5 # cache-on-disk=yes 5 6 # cache=yes 6 7 # keep-open=yes 8 + 9 + vo=gpu-next 10 + gpu-api=opengl 11 + # profile=fast 12 + # sigmoid-upscaling=yes 13 + # opengl-glfinish=yes 14 + # force-window=yes 15 + # video-sync=display-resample 16 + 17 + save-position-on-quit=yes
+1
mpv/.config/mpv/script-opts/PureMPV.conf
··· 1 + selection=clipboard
+1
mpv/.config/mpv/script-opts/reduce_stream_cache.conf
··· 1 + /home/bas/git/mpv_reduce_stream_cache/script-opts/reduce_stream_cache.conf
+1
mpv/.config/mpv/script-opts/stream_replay.conf
··· 1 + /home/bas/git/mpv_reduce_stream_cache/script-opts/stream_replay.conf
+238
mpv/.config/mpv/script-opts/uosc.conf
··· 1 + # Display style of current position. available: line, bar 2 + timeline_style=line 3 + # Line display style config 4 + timeline_line_width=2 5 + # Timeline size when fully expanded, in pixels, 0 to disable 6 + timeline_size=32 7 + # Comma separated states when element should always be fully visible. 8 + # Available: paused, audio, image, video, idle, windowed, fullscreen 9 + timeline_persistency= 10 + # Top border of background color to help visually separate timeline from video 11 + timeline_border=1 12 + # When scrolling above timeline, wheel will seek by this amount of seconds. 13 + # Default uses fast seeking. Add `!` suffix to enable exact seeks. Example: `5!` 14 + timeline_step=5 15 + # Render cache indicators for streaming content 16 + timeline_cache=yes 17 + 18 + # When to display an always visible progress bar (minimized timeline). Can be: windowed, fullscreen, always, never 19 + # Can also be toggled on demand with `toggle-progress` command. 20 + progress=never 21 + progress_size=2 22 + progress_line_width=20 23 + 24 + # A comma delimited list of controls above the timeline. Set to `never` to disable. 25 + # Parameter spec: enclosed in `{}` means value, enclosed in `[]` means optional 26 + # Full item syntax: `[<[!]{disposition1}[,[!]{dispositionN}]>]{element}[:{paramN}][#{badge}[>{limit}]][?{tooltip}]` 27 + # Common properties: 28 + # `{icon}` - parameter used to specify an icon name (example: `face`) 29 + # - pick here: https://fonts.google.com/icons?icon.platform=web&icon.set=Material+Icons&icon.style=Rounded 30 + # `{element}`s and their parameters: 31 + # `{shorthand}` - preconfigured shorthands: 32 + # `play-pause`, `menu`, `subtitles`, `audio`, `video`, `playlist`, 33 + # `chapters`, `editions`, `stream-quality`, `open-file`, `items`, 34 + # `next`, `prev`, `first`, `last`, `audio-device`, `fullscreen`, 35 + # `loop-playlist`, `loop-file`, `shuffle`, `autoload` 36 + # `speed[:{scale}]` - display speed slider, [{scale}] - factor of controls_size, default: 1.3 37 + # `command:{icon}:{command}` - button that executes a {command} when pressed 38 + # `toggle:{icon}:{prop}[@{owner}]` - button that toggles mpv property. shorthand for yes/no cycle below 39 + # `cycle:{default_icon}:{prop}[@{owner}]:{value1}[={icon1}][!]/{valueN}[={iconN}][!]` 40 + # - button that cycles mpv property between values, each optionally having different icon and active flag 41 + # - presence of `!` at the end will style the button as active 42 + # - `{owner}` is the name of a script that manages this property if any. Set to `uosc` to tap into uosc options. 43 + # `gap[:{scale}]` - display an empty gap 44 + # {scale} - factor of controls_size, default: 0.3 45 + # `space` - fills all available space between previous and next item, useful to align items to the right 46 + # - multiple spaces divide the available space among themselves, which can be used for centering 47 + # `button:{name}` - button whose state, look, and click action are managed by external script 48 + # Item visibility control: 49 + # `<[!]{disposition1}[,[!]{dispositionN}]>` - optional prefix to control element's visibility 50 + # - `{disposition}` can be one of: 51 + # - `idle` - true if mpv is in idle mode (no file loaded) 52 + # - `image` - true if current file is a single image 53 + # - `audio` - true for audio only files 54 + # - `video` - true for files with a video track 55 + # - `has_many_video` - true for files with more than one video track 56 + # - `has_image` - true for files with a cover or other image track 57 + # - `has_audio` - true for files with an audio track 58 + # - `has_many_audio` - true for files with more than one audio track 59 + # - `has_sub` - true for files with an subtitle track 60 + # - `has_many_sub` - true for files with more than one subtitle track 61 + # - `has_many_edition` - true for files with more than one edition 62 + # - `has_chapter` - true for files with chapter list 63 + # - `stream` - true if current file is read from a stream 64 + # - `has_playlist` - true if current playlist has 2 or more items in it 65 + # - prefix with `!` to negate the required disposition 66 + # Examples: 67 + # - `<stream>stream-quality` - show stream quality button only for streams 68 + # - `<has_audio,!audio>audio` - show audio tracks button for all files that have 69 + # an audio track, but are not exclusively audio only files 70 + # Place `#{badge}[>{limit}]` after the element params to give it a badge. Available badges: 71 + # `sub`, `audio`, `video` - track type counters 72 + # `{mpv_prop}` - any mpv prop that makes sense to you: https://mpv.io/manual/master/#property-list 73 + # - if prop value is an array it'll display its size 74 + # `>{limit}` will display the badge only if it's numerical value is above this threshold. 75 + # Example: `#audio>1` 76 + # Place `?{tooltip}` after the element config to give it a tooltip. 77 + # Example implementations: 78 + # menu = command:menu:script-binding uosc/menu-blurred?Menu 79 + # subtitles = command:subtitles:script-binding uosc/subtitles#sub?Subtitles 80 + # fullscreen = cycle:crop_free:fullscreen:no/yes=fullscreen_exit!?Fullscreen 81 + # loop-playlist = cycle:repeat:loop-playlist:no/inf!?Loop playlist 82 + # toggle:{icon}:{prop} = cycle:{icon}:{prop}:no/yes! 83 + controls=menu,gap,subtitles,<has_many_audio>audio,<has_many_video>video,<has_many_edition>editions,<stream>stream-quality,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen 84 + controls_size=32 85 + controls_margin=8 86 + controls_spacing=2 87 + controls_persistency= 88 + 89 + # Where to display volume controls: none, left, right 90 + volume=right 91 + volume_size=40 92 + volume_border=1 93 + volume_step=1 94 + volume_persistency= 95 + 96 + # Playback speed widget: mouse drag or wheel to change, click to reset 97 + speed_step=0.1 98 + speed_step_is_factor=no 99 + speed_persistency= 100 + 101 + # Controls all menus, such as context menu, subtitle loader/selector, etc 102 + menu_item_height=36 103 + menu_min_width=260 104 + menu_padding=4 105 + # Determines if `/` or `ctrl+f` is required to activate the search, or if typing 106 + # any text is sufficient. 107 + # When enabled, you can no longer toggle a menu off with the same key that opened it, if the key is a unicode character. 108 + menu_type_to_search=yes 109 + 110 + # Top bar with window controls and media title 111 + # Can be: never, no-border, always 112 + top_bar=no-border 113 + top_bar_size=40 114 + # Can be: `no` (hide), left or right 115 + top_bar_controls=right 116 + # Can be: `no` (hide), `yes` (inherit title from mpv.conf), or a custom template string 117 + top_bar_title=yes 118 + # Template string to enable alternative top bar title. If alt title matches main title, 119 + # it'll be hidden. Tip: use `${media-title}` for main, and `${filename}` for alt title. 120 + top_bar_alt_title= 121 + # Can be: 122 + # `below` => display alt title below the main one 123 + # `toggle` => toggle the top bar title text between main and alt by clicking 124 + # the top bar, or calling `toggle-title` binding 125 + top_bar_alt_title_place=below 126 + # Flash top bar when any of these file types is loaded. Available: audio,video,image,chapter 127 + top_bar_flash_on=video,audio 128 + top_bar_persistency= 129 + 130 + # Window border drawn in no-border mode 131 + window_border_size=1 132 + 133 + # If there's no playlist and file ends, load next file in directory 134 + # Uses `load_types` config below to determine what type of file to load next. 135 + # When enabled, usoc will set mpv config `keep-open` to `yes`, and `keep-open-pause` to `no`. 136 + autoload=no 137 + # Enable uosc's playlist/directory shuffle mode 138 + # This simply makes the next selected playlist or directory item be random, just 139 + # like any other player in the world. It also has an easily togglable control button. 140 + shuffle=no 141 + 142 + # Scale the interface by this factor 143 + scale=1 144 + # Scale in fullscreen 145 + scale_fullscreen=1.3 146 + # Adjust the text scaling to fit your font 147 + font_scale=1 148 + # Border of text and icons when drawn directly on top of video 149 + text_border=1.2 150 + # Border radius of buttons, menus, and all other rectangles 151 + border_radius=4 152 + # A comma delimited list of color overrides in RGB HEX format. Defaults: 153 + # foreground=ffffff,foreground_text=000000,background=000000,background_text=ffffff,curtain=111111,success=a5e075,error=ff616e 154 + color= 155 + # A comma delimited list of opacity overrides for various UI element backgrounds and shapes. 156 + # This does not affect any text, which is always rendered fully opaque. Defaults: 157 + # timeline=0.9,position=1,chapters=0.8,slider=0.9,slider_gauge=1,controls=0,speed=0.6,menu=1,submenu=0.4,border=1,title=1,tooltip=1,thumbnail=1,curtain=0.8,idle_indicator=0.8,audio_indicator=0.5,buffering_indicator=0.3,playlist_position=0.8 158 + opacity=timeline=0.6 159 + # A comma delimited list of features to refine at a cost of some performance impact. 160 + # text_width - Use a more accurate text width measurement that measures each text string individually 161 + # instead of just measuring the width of known letters once and adding them up. 162 + # sorting - Use filename sorting that handles non-english languages better, especially asian ones. 163 + # At the moment, this is only available on windows, and has no effect on other platforms. 164 + refine= 165 + # Duration of animations in milliseconds 166 + animation_duration=100 167 + # Execute command for background clicks shorter than this number of milliseconds, 0 to disable 168 + # Execution always waits for `input-doubleclick-time` to filter out double-clicks 169 + click_threshold=0 170 + click_command=cycle pause; script-binding uosc/flash-pause-indicator 171 + # Flash duration in milliseconds used by `flash-{element}` commands 172 + flash_duration=1000 173 + # Distances in pixels below which elements are fully faded in/out 174 + proximity_in=40 175 + proximity_out=120 176 + # Use only bold font weight throughout the whole UI 177 + font_bold=no 178 + # One of `total`, `playtime-remaining` (scaled by the current speed), `time-remaining` (remaining length of file) 179 + destination_time=playtime-remaining 180 + # Display sub second fraction in timestamps up to this precision 181 + time_precision=0 182 + # Display stream's buffered time in timeline if it's lower than this amount of seconds, 0 to disable 183 + buffered_time_threshold=60 184 + # Hide UI when mpv autohides the cursor. Timing is controlled by `cursor-autohide` in `mpv.conf` (in milliseconds). 185 + autohide=no 186 + # Can be: flash, static, manual (controlled by flash-pause-indicator and decide-pause-indicator commands) 187 + pause_indicator=flash 188 + # Sizes to list in stream quality menu 189 + stream_quality_options=4320,2160,1440,1080,720,480,360,240,144 190 + # Types to identify media files 191 + video_types=3g2,3gp,asf,avi,f4v,flv,h264,h265,m2ts,m4v,mkv,mov,mp4,mp4v,mpeg,mpg,ogm,ogv,rm,rmvb,ts,vob,webm,wmv,y4m 192 + audio_types=aac,ac3,aiff,ape,au,cue,dsf,dts,flac,m4a,mid,midi,mka,mp3,mp4a,oga,ogg,opus,spx,tak,tta,wav,weba,wma,wv 193 + image_types=apng,avif,bmp,gif,j2k,jp2,jfif,jpeg,jpg,jxl,mj2,png,svg,tga,tif,tiff,webp 194 + subtitle_types=aqt,ass,gsub,idx,jss,lrc,mks,pgs,pjs,psb,rt,sbv,slt,smi,sub,sup,srt,ssa,ssf,ttxt,txt,usf,vt,vtt 195 + playlist_types=m3u,m3u8,pls,url,cue 196 + # Type pools used by file navigation and `autoload` to determine what type of file to load next 197 + # Available: video,audio,image,playlist,same. `same` means the same type pool (not just extension) as currently open file. 198 + load_types=video,audio,image 199 + # Default open-file menu directory. Use `{drives}` to open drives menu on windows (defaults to `/` on unix). 200 + default_directory=~/ 201 + # List hidden files when reading directories. Due to environment limitations, this currently only hides 202 + # files starting with a dot. Doesn't hide hidden files on windows (we have no way to tell they're hidden). 203 + show_hidden_files=no 204 + # Move files to trash (recycle bin) when deleting files. Dependencies: 205 + # - Linux: `sudo apt install trash-cli` 206 + # - MacOS: `brew install trash` 207 + use_trash=no 208 + # Adjusted osd margins based on the visibility of UI elements 209 + adjust_osd_margins=yes 210 + 211 + # Adds chapter range indicators to some common chapter types. 212 + # Additionally to displaying the start of the chapter as a diamond icon on top of the timeline, 213 + # the portion of the timeline of that chapter range is also colored based on the config below. 214 + # 215 + # The syntax is a comma-delimited list of `{type}:{color}` pairs, where: 216 + # `{type}` => range type. Currently supported ones are: 217 + # - `openings`, `endings` => anime openings/endings 218 + # - `intros`, `outros` => video intros/outros 219 + # - `ads` => segments created by sponsor-block software like https://github.com/po5/mpv_sponsorblock 220 + # `{color}` => an RGB(A) HEX color code (`rrggbb`, or `rrggbbaa`) 221 + # 222 + # To exclude marking any of the range types, simply remove them from the list. 223 + chapter_ranges=openings:30abf964,endings:30abf964,ads:c54e4e80 224 + # Add alternative lua patterns to identify beginnings of simple chapter ranges (except for `ads`) 225 + # Syntax: `{type}:{pattern}[,{patternN}][;{type}:{pattern}[,{patternN}]]` 226 + chapter_range_patterns=openings:オープニング;endings:エンディング 227 + 228 + # Localization language priority from highest to lowest. 229 + # Also controls what languages are fetched by `download-subtitles` menu. 230 + # Built in languages can be found in `uosc/intl`. 231 + # `slang` is a keyword to inherit values from `--slang` mpv config. 232 + # Supports paths to custom json files: `languages=~~/custom.json,slang,en` 233 + languages=slang,en 234 + 235 + # A comma separated list of element IDs to disable. Available IDs: 236 + # window_border, top_bar, timeline, controls, volume, 237 + # idle_indicator, audio_indicator, buffering_indicator, pause_indicator 238 + disable_elements=
+1
mpv/.config/mpv/scripts/PureMPV
··· 1 + /home/bas/git/PureMPV
+95
mpv/.config/mpv/scripts/createchapter.lua
··· 1 + local utils = require("mp.utils") 2 + 3 + local function create_chapter() 4 + local time_pos = mp.get_property_number("time-pos") 5 + local time_pos_osd = mp.get_property_osd("time-pos/full") 6 + local curr_chapter = mp.get_property_number("chapter") 7 + local chapter_count = mp.get_property_number("chapter-list/count") 8 + local all_chapters = mp.get_property_native("chapter-list") 9 + mp.osd_message(time_pos_osd, 1) 10 + 11 + if chapter_count == 0 then 12 + all_chapters[1] = { 13 + title = "chapter_1", 14 + time = time_pos 15 + } 16 + -- We just set it to zero here so when we add 1 later it ends up as 1 17 + -- otherwise it's probably "nil" 18 + curr_chapter = 0 19 + -- note that mpv will treat the beginning of the file as all_chapters[0] when using pageup/pagedown 20 + -- so we don't actually have to worry if the file doesn't start with a chapter 21 + else 22 + -- to insert a chapter we have to increase the index on all subsequent chapters 23 + -- otherwise we'll end up with duplicate chapter IDs which will confuse mpv 24 + -- +2 looks weird, but remember mpv indexes at 0 and lua indexes at 1 25 + -- adding two will turn "current chapter" from mpv notation into "next chapter" from lua's notation 26 + -- count down because these areas of memory overlap 27 + for i = chapter_count, curr_chapter + 2, -1 do 28 + all_chapters[i + 1] = all_chapters[i] 29 + end 30 + all_chapters[curr_chapter+2] = { 31 + title = "chapter_"..curr_chapter, 32 + time = time_pos 33 + } 34 + end 35 + mp.set_property_native("chapter-list", all_chapters) 36 + mp.set_property_number("chapter", curr_chapter+1) 37 + end 38 + 39 + local function format_time(seconds) 40 + local result = "" 41 + if seconds <= 0 then 42 + return "00:00:00.000"; 43 + else 44 + hours = string.format("%02.f", math.floor(seconds/3600)) 45 + mins = string.format("%02.f", math.floor(seconds/60 - (hours*60))) 46 + secs = string.format("%02.f", math.floor(seconds - hours*60*60 - mins*60)) 47 + msecs = string.format("%03.f", seconds*1000 - hours*60*60*1000 - mins*60*1000 - secs*1000) 48 + result = hours..":"..mins..":"..secs.."."..msecs 49 + end 50 + return result 51 + end 52 + 53 + local function write_chapter() 54 + local euid = mp.get_property_number("estimated-frame-count") 55 + local chapter_count = mp.get_property_number("chapter-list/count") 56 + local all_chapters = mp.get_property_native("chapter-list") 57 + local insert_chapters = "" 58 + local curr = nil 59 + 60 + for i = 1, chapter_count, 1 do 61 + curr = all_chapters[i] 62 + local time_pos = format_time(curr.time) 63 + 64 + if i == 1 and curr.time ~= 0 then 65 + local first_chapter=" <ChapterAtom>\n <ChapterUID>"..math.random(1000, 9000).."</ChapterUID>\n <ChapterFlagHidden>0</ChapterFlagHidden>\n <ChapterFlagEnabled>1</ChapterFlagEnabled>\n <ChapterDisplay>\n <ChapterString>Prologue</ChapterString>\n <ChapterLanguage>eng</ChapterLanguage>\n </ChapterDisplay>\n <ChapterTimeStart>00:00:00.000</ChapterTimeStart>\n </ChapterAtom>\n" 66 + insert_chapters = insert_chapters..first_chapter 67 + end 68 + 69 + local next_chapter=" <ChapterAtom>\n <ChapterDisplay>\n <ChapterString>"..curr.title.."</ChapterString>\n <ChapterLanguage>eng</ChapterLanguage>\n </ChapterDisplay>\n <ChapterUID>"..math.random(1000, 9000).."</ChapterUID>\n <ChapterTimeStart>"..time_pos.."</ChapterTimeStart>\n <ChapterFlagHidden>0</ChapterFlagHidden>\n <ChapterFlagEnabled>1</ChapterFlagEnabled>\n </ChapterAtom>\n" 70 + insert_chapters = insert_chapters..next_chapter 71 + end 72 + 73 + local chapters="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<Chapters>\n <EditionEntry>\n <EditionFlagHidden>0</EditionFlagHidden>\n <EditionFlagDefault>0</EditionFlagDefault>\n <EditionUID>"..euid.."</EditionUID>\n"..insert_chapters.." </EditionEntry>\n</Chapters>" 74 + 75 + local path = mp.get_property("path") 76 + dir, name_ext = utils.split_path(path) 77 + local name = string.sub(name_ext, 1, (string.len(name_ext)-4)) 78 + local out_path = utils.join_path(dir, name.."_chapter.xml") 79 + local file = io.open(out_path, "w") 80 + if file == nil then 81 + dir = utils.getcwd() 82 + out_path = utils.join_path(dir, "create_chapter.xml") 83 + file = io.open(out_path, "w") 84 + end 85 + if file == nil then 86 + mp.error("Could not open chapter file for writing.") 87 + return 88 + end 89 + file:write(chapters) 90 + file:close() 91 + mp.osd_message("Export file to: "..out_path, 3) 92 + end 93 + 94 + mp.add_key_binding("C", "create_chapter", create_chapter, {repeatable=true}) 95 + mp.add_key_binding("B", "write_chapter", write_chapter, {repeatable=false})
+1
mpv/.config/mpv/scripts/reduce_stream_cache.js
··· 1 + /home/bas/git/mpv_reduce_stream_cache/scripts/reduce_stream_cache.js
+1
mpv/.config/mpv/scripts/stream_replay.js
··· 1 + /home/bas/git/mpv_reduce_stream_cache/scripts/stream_replay.js
+1
mpv/.config/mpv/scripts/uosc
··· 1 + /usr/share/mpv/scripts/uosc
+2
ncdu/.config/ncdu/config
··· 1 + --extended 2 + --color dark
+9
normcap/.config/systemd/user/normcap.service
··· 1 + [Unit] 2 + Description=normcap background mode 3 + 4 + [Service] 5 + Type=exec 6 + ExecStart=normcap --background-mode 7 + 8 + [Install] 9 + WantedBy=default.target
-5
nvim/.config/nvim/.editorconfig
··· 1 - [*.lua] 2 - indent_style = space 3 - indent_size = 2 4 - quote_style = single 5 - trailing_table_separator = smart
+4
nvim/.config/nvim/after/ftplugin/gitcommit.lua
··· 1 + local opt = vim.opt_local 2 + 3 + -- opt.formatoptions:append("a") 4 + opt.textwidth = 0
+11
nvim/.config/nvim/after/lsp/cssls.lua
··· 1 + ---@type vim.lsp.Config 2 + return { 3 + ---@type lsp.cssls 4 + settings = { 5 + css = { 6 + lint = { 7 + unknownAtRules = "ignore", 8 + }, 9 + }, 10 + }, 11 + }
+26
nvim/.config/nvim/after/lsp/emmylua_ls.lua
··· 1 + ---@type vim.lsp.Config 2 + return { 3 + ---@type lsp.emmylua_ls 4 + settings = { 5 + Lua = { 6 + runtime = { 7 + version = "LuaJIT", 8 + requirePattern = { 9 + "lua/?.lua", 10 + "lua/?/init.lua", 11 + "?/lua/?.lua", 12 + "?/lua/?/init.lua", 13 + "?/lsp/?.lua", 14 + }, 15 + }, 16 + workspace = { 17 + library = vim.list_extend({ 18 + "$VIMRUNTIME", 19 + "$LLS_Addons/luvit", 20 + "$HOME/.local/share/nvim/lazy", 21 + }, vim.api.nvim_get_runtime_file("", true)), 22 + ignoreGlobs = { "**/*_spec.lua" }, 23 + }, 24 + }, 25 + }, 26 + }
+17
nvim/.config/nvim/after/lsp/jsonls.lua
··· 1 + ---@type vim.lsp.Config 2 + return { 3 + ---@type lsp.jsonls 4 + settings = { 5 + json = { 6 + schemas = vim.list_extend(require("schemastore").json.schemas(), { 7 + { 8 + fileMatch = { "docker-compose*.json", "compose*.json" }, 9 + url = "https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json", 10 + }, 11 + }), 12 + validate = { 13 + enable = true, -- required 14 + }, 15 + }, 16 + }, 17 + }
+48
nvim/.config/nvim/after/lsp/oxlint.lua
··· 1 + local util = require("lspconfig.util") 2 + 3 + ---@type vim.lsp.Config 4 + return { 5 + cmd = { "bunx", "oxlint", "--lsp" }, 6 + filetypes = { 7 + "javascript", 8 + "javascriptreact", 9 + "typescript", 10 + "typescriptreact", 11 + "vue", 12 + "svelte", 13 + "astro", 14 + }, 15 + workspace_required = true, 16 + on_attach = function(client, bufnr) 17 + vim.api.nvim_buf_create_user_command(bufnr, "LspOxlintFixAll", function() 18 + client:exec_cmd({ 19 + title = "Apply Oxlint automatic fixes", 20 + command = "oxc.fixAll", 21 + arguments = { { uri = vim.uri_from_bufnr(bufnr) } }, 22 + }) 23 + end, { 24 + desc = "Apply Oxlint automatic fixes", 25 + }) 26 + end, 27 + root_dir = function(bufnr, on_dir) 28 + local fname = vim.api.nvim_buf_get_name(bufnr) 29 + 30 + -- Oxlint resolves configuration by walking upward and using the nearest config file 31 + -- to the file being processed. We therefore compute the root directory by locating 32 + -- the closest `.oxlintrc.json` (or `package.json` fallback) above the buffer. 33 + local root_markers = util.insert_package_json({ ".oxlintrc.json" }, "oxlint", fname)[1] 34 + on_dir(vim.fs.dirname(vim.fs.find(root_markers, { path = fname, upward = true })[1])) 35 + end, 36 + init_options = { 37 + settings = { 38 + run = "onSave", 39 + -- configPath = nil, 40 + -- tsConfigPath = nil, 41 + unusedDisableDirectives = "allow", 42 + -- enable typeAware when oxlint LSP + tsgolint performance improves 43 + typeAware = false, 44 + -- disableNestedConfig = false, 45 + -- fixKind = "safe_fix", 46 + }, 47 + }, 48 + }
+23
nvim/.config/nvim/after/lsp/tailwindcss.lua
··· 1 + ---@type vim.lsp.Config 2 + return { 3 + ---@type lsp.tailwindcss 4 + settings = { 5 + tailwindCSS = { 6 + classAttributes = { 7 + "class", 8 + "className", 9 + "modifiersClassNames", 10 + "appearance", 11 + "toastOptions", 12 + }, 13 + classFunctions = { "cn", "tv" }, 14 + -- experimental = { 15 + -- classRegex = { 16 + -- { "cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]" }, 17 + -- { "cx\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)" }, 18 + -- { "cn\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)" }, 19 + -- }, 20 + -- }, 21 + }, 22 + }, 23 + }
+17
nvim/.config/nvim/after/lsp/tsgo.lua
··· 1 + ---@type vim.lsp.Config 2 + return { 3 + ---@type lsp.tsgo 4 + settings = { 5 + javascript = { 6 + updateImportsOnFileMove = { enabled = "always" }, 7 + }, 8 + typescript = { 9 + updateImportsOnFileMove = { enabled = "always" }, 10 + tsserver = { 11 + experimental = { 12 + enableProjectDiagnostics = true, 13 + }, 14 + }, 15 + }, 16 + }, 17 + }
+32
nvim/.config/nvim/after/lsp/vtsls.lua
··· 1 + ---@type vim.lsp.Config 2 + return { 3 + ---@type lsp.vtsls 4 + settings = { 5 + javascript = { 6 + updateImportsOnFileMove = { enabled = "always" }, 7 + }, 8 + typescript = { 9 + updateImportsOnFileMove = { enabled = "always" }, 10 + tsserver = { 11 + experimental = { 12 + enableProjectDiagnostics = true, 13 + }, 14 + }, 15 + -- inlayHints = { 16 + -- parameterNames = { enabled = "all" }, 17 + -- parameterTypes = { enabled = true }, 18 + -- variableTypes = { enabled = true }, 19 + -- propertyDeclarationTypes = { enabled = true }, 20 + -- functionLikeReturnTypes = { enabled = true }, 21 + -- enumMemberValues = { enabled = true }, 22 + -- }, 23 + }, 24 + vtsls = { 25 + enableMoveToFileCodeAction = true, 26 + autoUseWorkspaceTsdk = true, 27 + experimental = { 28 + enableProjectDiagnostics = true, 29 + }, 30 + }, 31 + }, 32 + }
+17
nvim/.config/nvim/after/lsp/yamlls.lua
··· 1 + ---@type vim.lsp.Config 2 + return { 3 + ---@type lsp.yamlls 4 + settings = { 5 + yaml = { 6 + schemaStore = { 7 + enable = false, 8 + url = "", 9 + }, 10 + schemas = vim.tbl_extend("force", require("schemastore").yaml.schemas(), { 11 + kubernetes = { "manifests/*.yaml" }, 12 + ["https://schemastore.org/github-workflow.json"] = ".github/workflows/*.{yml,yaml}", 13 + }), 14 + }, 15 + validate = { enable = true }, 16 + }, 17 + }
+1
nvim/.config/nvim/after/syntax/jsonc.lua
··· 1 + vim.cmd("silent! syntax clear jsonTrailingCommaError")
+16 -4
nvim/.config/nvim/init.lua
··· 1 - require("config.options") 2 - require("config.autocmds") 3 - require("config.lazy") 4 - require("config.keymaps") 1 + vim.loader.enable() 2 + 3 + _G.dd = function(...) 4 + Snacks.debug.inspect(...) 5 + end 6 + 7 + _G.bt = function(...) 8 + Snacks.debug.backtrace(...) 9 + end 10 + 11 + -- vim.print = _G.dd 12 + -- vim.cmd.echo = function(...) 13 + -- Snacks.notify(..., {}) 14 + -- end 15 + 16 + require("config.init")
+99 -65
nvim/.config/nvim/lazy-lock.json
··· 1 1 { 2 2 "42header_codam": { "branch": "master", "commit": "727e299117075f87b154a40f2e4ec8a48594d7de" }, 3 - "LuaSnip": { "branch": "master", "commit": "7ad2eaeaca56d6ed63acacbfc114b99f1f67b982" }, 4 - "barbar.nvim": { "branch": "master", "commit": "c20691d686addb0d6ea87896d186c082324b01f8" }, 3 + "LuaSnip": { "branch": "master", "commit": "dae4f5aaa3574bd0c2b9dd20fb9542a02c10471c" }, 4 + "aerial.nvim": { "branch": "master", "commit": "645d108a5242ec7b378cbe643eb6d04d4223f034" }, 5 + "auto-session": { "branch": "main", "commit": "62437532b38495551410b3f377bcf4aaac574ebe" }, 6 + "barbar.nvim": { "branch": "master", "commit": "539d73def39c9172b4d4d769f14090e08f37b29d" }, 5 7 "better-diagnostic-virtual-text": { "branch": "main", "commit": "eb3a77e714aa6c295bdb4f074fccbda637090f6e" }, 8 + "blink.cmp": { "branch": "main", "commit": "b650e976a927be6b46487a0a610b75af111376c5" }, 9 + "blink.indent": { "branch": "main", "commit": "9c80820ca77218a8d28e70075d6f44a1609911fe" }, 10 + "blink.pairs": { "branch": "main", "commit": "5a34bf6ea72340a70083548e186d745ac4882899" }, 11 + "bufferin.nvim": { "branch": "main", "commit": "b79da16a6a0b34640a4ff19bccd7f4cf29bd6d4d" }, 6 12 "c_formatter_42.vim": { "branch": "master", "commit": "7a2d50f6683d6f58a2c95375524b4406d6bdc2c3" }, 7 - "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, 13 + "codesettings.nvim": { "branch": "master", "commit": "2a6bc089d6bfe2db1d9ad5a31c5102847581d99d" }, 8 14 "comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, 9 - "conform.nvim": { "branch": "master", "commit": "62eba813b7501b39612146cbf29cd07f1d4ac29c" }, 10 - "dial.nvim": { "branch": "master", "commit": "ed4d6a5bbd5e479b4c4a3019d148561a2e6c1490" }, 15 + "config-lsp.nvim": { "branch": "main", "commit": "f667f227189b19163f7c5118817d482b437ad5e0" }, 16 + "conform.nvim": { "branch": "master", "commit": "e969e302bced7ffb9a0a0323629f31feb0ca35a6" }, 17 + "deltaview.nvim": { "branch": "main", "commit": "3530ae8a1a5d8e7ad57999bcdbf73ed9a8cc1aff" }, 18 + "dial.nvim": { "branch": "master", "commit": "f2634758455cfa52a8acea6f142dcd6271a1bf57" }, 11 19 "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, 12 - "dressing.nvim": { "branch": "master", "commit": "c5775a888adbc50652cb370073fcfec963eca93e" }, 13 - "dropbar.nvim": { "branch": "master", "commit": "6156e07759fd8c7cbf764414f583aa7e47470368" }, 14 - "eyeliner.nvim": { "branch": "main", "commit": "85e5a5a815651a434f327d0da3c2a33b9aa4f9ec" }, 15 - "fidget.nvim": { "branch": "main", "commit": "d855eed8a06531a7e8fd0684889b2943f373c469" }, 16 - "gitsigns.nvim": { "branch": "main", "commit": "80214a857ce512cc64964abddc1d8eb5a3e28396" }, 17 - "guess-indent.nvim": { "branch": "main", "commit": "6cd61f7a600bb756e558627cd2e740302c58e32d" }, 18 - "highlight-undo.nvim": { "branch": "main", "commit": "1ea1c79372d7d93c88fd97543880927b7635e3d2" }, 19 - "inc-rename.nvim": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" }, 20 + "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, 21 + "dropbar.nvim": { "branch": "master", "commit": "ce202248134e3949aac375fd66c28e5207785b10" }, 22 + "eyeliner.nvim": { "branch": "main", "commit": "8f197eb30cecdf4c2cc9988a5eecc6bc34c0c7d6" }, 23 + "fidget.nvim": { "branch": "main", "commit": "7fa433a83118a70fe24c1ce88d5f0bd3453c0970" }, 24 + "ghostty.nvim": { "branch": "master", "commit": "86114c996e87108c3e7e5d4d5596581914374a77" }, 25 + "git-conflict.nvim": { "branch": "main", "commit": "a1badcd070d176172940eb55d9d59029dad1c5a6" }, 26 + "gitsigns.nvim": { "branch": "main", "commit": "9f3c6dd7868bcc116e9c1c1929ce063b978fa519" }, 27 + "glance.nvim": { "branch": "master", "commit": "bf86d8b79dce808e65fdb6e9269d0b4ed6d2eefc" }, 28 + "grug-far.nvim": { "branch": "main", "commit": "275dbedc96e61a6b8d1dfb28ba51586ddd233dcf" }, 29 + "guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" }, 30 + "highlight-undo.nvim": { "branch": "main", "commit": "ee32e12693d70e66f954d09a504a7371d110fc27" }, 31 + "inc-rename.nvim": { "branch": "main", "commit": "a2f4b564c72ea1f22cba2caa97db603618d16d6f" }, 20 32 "indent-blankline.nvim": { "branch": "master", "commit": "dddb5d21811c319eb6e51a993d8fb44b193aae3f" }, 21 33 "indentmini.nvim": { "branch": "main", "commit": "c5982c760525519e450b22714696d9ee24af5ae5" }, 22 - "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" }, 23 - "lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" }, 24 - "lsp-zero.nvim": { "branch": "v4.x", "commit": "0161aeab61d407aa1d43326a5dfc33479f4c53f6" }, 25 - "lspkind.nvim": { "branch": "master", "commit": "cff4ae321a91ee3473a92ea1a8c637e3a9510aec" }, 34 + "jsonfly.nvim": { "branch": "main", "commit": "3d58635cb195a5435743e7882c6ac7cff710204f" }, 35 + "jsregexp": { "branch": "master", "commit": "7327f9b9273b932bf22a04da4dce0c55501f059a" }, 36 + "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, 37 + "lspkind.nvim": { "branch": "master", "commit": "c7274c48137396526b59d86232eabcdc7fed8a32" }, 26 38 "lualine-macro-recording.nvim": { "branch": "main", "commit": "e2dcf63ba74e6111b53e1520a4f8a17a3d7427a1" }, 27 - "lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" }, 28 - "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, 29 - "marks.nvim": { "branch": "master", "commit": "74e8d01b2a2131b6e46354cffc553aa7f81bcf5b" }, 30 - "mason-lspconfig.nvim": { "branch": "main", "commit": "482350b050bd413931c2cdd4857443c3da7d57cb" }, 31 - "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, 39 + "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, 40 + "luvit-meta": { "branch": "main", "commit": "0ea4ff636c5bb559ffa78108561d0976f4de9682" }, 41 + "marks.nvim": { "branch": "master", "commit": "f353e8c08c50f39e99a9ed474172df7eddd89b72" }, 42 + "markview.nvim": { "branch": "main", "commit": "86fcabc793e8aa361cb308e794cd0e1356fdc0e1" }, 43 + "mason-lspconfig.nvim": { "branch": "main", "commit": "6c4830e37743b060d13c9269394176aea6a0fbc8" }, 44 + "mason-nvim-dap.nvim": { "branch": "main", "commit": "9a10e096703966335bd5c46c8c875d5b0690dade" }, 45 + "mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" }, 46 + "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, 32 47 "mini.files": { "branch": "main", "commit": "99aef1d68a01dd8fd8d37bbf62d67766f97311e3" }, 33 - "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, 34 - "neoconf.nvim": { "branch": "main", "commit": "39bf4e553d184ede39bda04baf902f9145c189cc" }, 35 - "neogit": { "branch": "master", "commit": "6af8fc6b03210d0ac99398f8eff27c5be7b2ba8a" }, 36 - "neoscroll.nvim": { "branch": "master", "commit": "532dcc8cea4287c4cad6bb77532989a8217cfc7b" }, 48 + "neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" }, 49 + "neogit": { "branch": "master", "commit": "2b6a9e4dacb435a95eff474c80d0e94ae0e4f909" }, 50 + "neoscroll.nvim": { "branch": "master", "commit": "c8d29979cb0cb3a2437a8e0ae683fd82f340d3b8" }, 37 51 "neovim-session-manager": { "branch": "master", "commit": "cbaebd92dce84e9ba63cb07d3199e5a19b204c1a" }, 38 - "noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" }, 39 - "nord.nvim": { "branch": "main", "commit": "6d6bae56a002a4da507ba263776e9691f47deb5f" }, 40 - "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, 41 - "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, 52 + "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, 53 + "none-ls-extras.nvim": { "branch": "main", "commit": "517f87c1e6cd511e787d77127d7fdb12b7b79db3" }, 54 + "none-ls.nvim": { "branch": "main", "commit": "f61f46ded0ca9edce7a09b674f8e162d10921426" }, 55 + "nord.nvim": { "branch": "main", "commit": "07647ad23e5b7fc1599a841dcd8f173b9aeb0419" }, 56 + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, 57 + "nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" }, 42 58 "nvim-colorizer.lua": { "branch": "master", "commit": "194ec600488f7c7229668d0e80bd197f3a2b84ff" }, 43 - "nvim-dap": { "branch": "master", "commit": "281a2e4cd1e7a17cea7ecb1745d84a8ab1249925" }, 59 + "nvim-dap": { "branch": "master", "commit": "7b11f48753ea6a82f09485dadd08016e2a318cf6" }, 44 60 "nvim-dap-projects": { "branch": "main", "commit": "f319ffd99c6c8a0b930bcfc4bee0c751ffbf5808" }, 45 - "nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" }, 46 - "nvim-dap-virtual-text": { "branch": "master", "commit": "484995d573c0f0563f6a66ebdd6c67b649489615" }, 47 - "nvim-highlight-colors": { "branch": "main", "commit": "a411550ef85cae467b889ba7d1a96bd78332d90e" }, 48 - "nvim-lastplace": { "branch": "main", "commit": "0bb6103c506315044872e0f84b1f736c4172bb20" }, 49 - "nvim-lsp-file-operations": { "branch": "master", "commit": "92a673de7ecaa157dd230d0128def10beb56d103" }, 50 - "nvim-lspconfig": { "branch": "master", "commit": "911167921d49cd5c1c9b2436031d0da3945e787f" }, 61 + "nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" }, 62 + "nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" }, 63 + "nvim-highlight-colors": { "branch": "main", "commit": "e2cb22089cc2358b2b995c09578224f142de6039" }, 64 + "nvim-lastplace": { "branch": "main", "commit": "91b996e062affebd7fe787f57a2a3e212457e87b" }, 65 + "nvim-lsp-file-operations": { "branch": "master", "commit": "b9c795d3973e8eec22706af14959bc60c579e771" }, 66 + "nvim-lspconfig": { "branch": "master", "commit": "a40d22e75d951ad2fcf236ceb013d88f81d2cc9a" }, 51 67 "nvim-luadev": { "branch": "master", "commit": "3ba0c02c378503739f1fdb95cff3ea2aad48db3e" }, 52 - "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" }, 53 - "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, 68 + "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, 69 + "nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" }, 54 70 "nvim-pqf": { "branch": "main", "commit": "148ee2ca8b06d83fd9bf6f9b9497724ad39a07d6" }, 55 - "nvim-scrollbar": { "branch": "main", "commit": "d09f14aa16c9f2748e77008f9da7b1f76e4e7b85" }, 56 - "nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" }, 57 - "nvim-treesitter": { "branch": "master", "commit": "397982d197768ebdefc0e2db396d95c4d371ca86" }, 58 - "nvim-treesitter-endwise": { "branch": "master", "commit": "8b34305ffc28bd75a22f5a0a9928ee726a85c9a6" }, 59 - "nvim-treesitter-textobjects": { "branch": "master", "commit": "41e3abf6bfd9a9a681eb1f788bdeba91c9004b2b" }, 60 - "nvim-ts-autotag": { "branch": "main", "commit": "0cb76eea80e9c73b88880f0ca78fbd04c5bdcac7" }, 61 - "nvim-vtsls": { "branch": "main", "commit": "45c6dfea9f83a126e9bfc5dd63430562b3f8af16" }, 62 - "nvim-web-devicons": { "branch": "master", "commit": "3722e3d1fb5fe1896a104eb489e8f8651260b520" }, 63 - "oil.nvim": { "branch": "master", "commit": "a632c898fbe0e363ef89b9577f1a7714ab67d682" }, 64 - "plenary.nvim": { "branch": "master", "commit": "ec289423a1693aeae6cd0d503bac2856af74edaa" }, 65 - "presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, 66 - "qf_helper.nvim": { "branch": "master", "commit": "fa3c2f3f2706e2c9984409c9c14b5993302ddfa7" }, 67 - "render-markdown.nvim": { "branch": "main", "commit": "c4eb6bf30525fdc7efaf5f33bcb0fa9491ace245" }, 68 - "schemastore.nvim": { "branch": "main", "commit": "54a2cf0105166d5a48172e81f12a2bf10cfc8b2c" }, 69 - "suda.vim": { "branch": "master", "commit": "b97fab52f9cdeabe2bbb5eb98d82356899f30829" }, 70 - "supermaven-nvim": { "branch": "main", "commit": "d71257f431e190d9236d7f30da4c2d659389e91f" }, 71 - "swap-split.nvim": { "branch": "main", "commit": "d2c705d279b384a6b47a67f85a6dc8569c4d775d" }, 72 - "tabout.nvim": { "branch": "master", "commit": "923aea2613c9e7abf81e099d46086f62c7e54896" }, 71 + "nvim-recorder": { "branch": "main", "commit": "cf2e07d1d60f225943b2f2457ecd8e2b3e4ee2d5" }, 72 + "nvim-rulebook": { "branch": "main", "commit": "fee42e6e06f3acec35f8df791269b38283d91b60" }, 73 + "nvim-surround": { "branch": "main", "commit": "5553dd1fbb3559abb176a8227a12e8f1cab07e93" }, 74 + "nvim-treesitter": { "branch": "main", "commit": "0f5b204603234a523fafa8f6b860fd36f80a23f6" }, 75 + "nvim-treesitter-endwise": { "branch": "master", "commit": "8fe8a95630f4f2c72a87ba1927af649e0bfaa244" }, 76 + "nvim-treesitter-textobjects": { "branch": "main", "commit": "a0e182ae21fda68c59d1f36c9ed45600aef50311" }, 77 + "nvim-ts-autotag": { "branch": "main", "commit": "8e1c0a389f20bf7f5b0dd0e00306c1247bda2595" }, 78 + "nvim-unstack": { "branch": "main", "commit": "a6253845c60bc009b85eecc0b2d7f4383fe9eccc" }, 79 + "nvim-vtsls": { "branch": "main", "commit": "0b5f73c9e50ce95842ea07bb3f05c7d66d87d14a" }, 80 + "nvim-web-devicons": { "branch": "master", "commit": "737cf6c657898d0c697311d79d361288a1343d50" }, 81 + "oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" }, 82 + "package-info.nvim": { "branch": "master", "commit": "268f4669fc29546726009ad665d26901dbf62c3b" }, 83 + "pathfinder.nvim": { "branch": "main", "commit": "9c79815dfd31726119b44a71c0654377be01d3c2" }, 84 + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, 85 + "presence.nvim": { "branch": "main", "commit": "c850b9e245f310e040478ab54808c7ce098919ed" }, 86 + "qf_helper.nvim": { "branch": "master", "commit": "62e94495385a06f5143527548c348f4a9df2e704" }, 87 + "refactoring.nvim": { "branch": "master", "commit": "6784b54587e6d8a6b9ea199318512170ffb9e418" }, 88 + "render-markdown.nvim": { "branch": "main", "commit": "6e0e8902dac70fecbdd8ce557d142062a621ec38" }, 89 + "satellite.nvim": { "branch": "main", "commit": "7c2e5a4064abb0066a0bf157e7a137f1bcdeace2" }, 90 + "schemastore.nvim": { "branch": "main", "commit": "905cc3d9684e77b054c380d969a27fc54b6240d4" }, 91 + "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" }, 92 + "supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" }, 93 + "swap-split.nvim": { "branch": "main", "commit": "e488365cc11bad251bdc71bf1a3f2f106d795456" }, 94 + "tabout.nvim": { "branch": "master", "commit": "9a3499480a8e53dcaa665e2836f287e3b7764009" }, 73 95 "tailwind-tools.nvim": { "branch": "master", "commit": "72f01ba654ffaf382c1df996b77cc53ec7860f70" }, 74 - "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, 75 - "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, 76 - "tmux.nvim": { "branch": "main", "commit": "65ee9d6e6308afcd7d602e1320f727c5be63a947" }, 77 - "toggleterm.nvim": { "branch": "main", "commit": "48be57eaba817f038d61bbf64d2c597f578c0827" }, 78 - "treesj": { "branch": "main", "commit": "0d81326b5afd36babe7dd480aabbb0b05f33e688" }, 79 - "trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" }, 96 + "telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" }, 97 + "telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" }, 98 + "telescope-undo.nvim": { "branch": "main", "commit": "928d0c2dc9606e01e2cc547196f48d2eaecf58e5" }, 99 + "telescope.nvim": { "branch": "master", "commit": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179" }, 100 + "tidy.nvim": { "branch": "main", "commit": "8b6921150b16f38f48a2459a844a0c2b4c916914" }, 101 + "tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "ba133b3e932416e4b9507095731a6d7276878fe8" }, 102 + "tmux.nvim": { "branch": "main", "commit": "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8" }, 103 + "treesj": { "branch": "main", "commit": "186084dee5e9c8eec40f6e39481c723dd567cb05" }, 104 + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, 105 + "ts-autotag.nvim": { "branch": "master", "commit": "35f79f6253dff5cc43cf943d74c4b2734370a81d" }, 80 106 "ts-error-translator.nvim": { "branch": "main", "commit": "11ae55b28bde02663b5f983f59b0e3fd9c4e845b" }, 81 - "ultimate-autopair.nvim": { "branch": "v0.6", "commit": "53ed7c65e466963c916251f9ce6df7dd3685dc36" }, 82 - "which-key.nvim": { "branch": "main", "commit": "6c1584eb76b55629702716995cca4ae2798a9cca" } 107 + "tsc.nvim": { "branch": "main", "commit": "e083bcf1e54bc3af7df92b33235efb334e8c782c" }, 108 + "twoslash-queries.nvim": { "branch": "main", "commit": "1262c20cad5abd6e89995dc4bc0eaab0e2e4e0b9" }, 109 + "ultimate-autopair.nvim": { "branch": "v0.6", "commit": "72e160cb1ce8c0db2ac4315f77d97420a2f4223d" }, 110 + "undotree": { "branch": "master", "commit": "d8f99084d98c32f651860eb0baaf89759f91debc" }, 111 + "vim-dadbod": { "branch": "master", "commit": "6d1d41da4873a445c5605f2005ad2c68c99d8770" }, 112 + "vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" }, 113 + "vim-dadbod-ui": { "branch": "master", "commit": "07e92e22114cc5b1ba4938d99897d85b58e20475" }, 114 + "vim-suda": { "branch": "master", "commit": "c492741b4679b3cdd4d9e34138209784e061d916" }, 115 + "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }, 116 + "workspace-diagnostics.nvim": { "branch": "main", "commit": "60f9175b2501ae3f8b1aba9719c0df8827610c8e" } 83 117 }
+59 -11
nvim/.config/nvim/lua/config/autocmds.lua
··· 1 - local group = vim.api.nvim_create_augroup("yeet", { clear = true }) 1 + local autocmd = vim.api.nvim_create_autocmd 2 + local augroup = function(name) 3 + vim.api.nvim_create_augroup("Setup" .. name, { clear = true }) 4 + end 5 + 6 + autocmd("FileType", { 7 + group = augroup("CloseWindow"), 8 + pattern = { 9 + "help", 10 + "notify", 11 + "checkhealth", 12 + "grug-far", 13 + "lazy", 14 + "qf", 15 + "snacks_notif_history", 16 + }, 17 + desc = "Close window", 18 + callback = function(event) 19 + function close() 20 + vim.api.nvim_win_close(0, true) 21 + pcall(function() 22 + vim.api.nvim_buf_delete(event.buf, { force = true }) 23 + end) 24 + end 25 + 26 + vim.keymap.set("n", "q", close, { 27 + desc = "Close buffer", 28 + buffer = event.buf, 29 + }) 2 30 3 - -- press q to close help 4 - vim.api.nvim_create_autocmd("FileType", { 5 - pattern = "help", 6 - command = "nmap <silent> <buffer> q :q<CR>", 7 - group = group, 31 + vim.keymap.set("n", "<Esc>", close, { 32 + desc = "Close buffer", 33 + buffer = event.buf, 34 + }) 35 + end, 8 36 }) 9 37 10 - vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { 38 + autocmd({ "BufReadPre", "BufNew" }, { 39 + group = augroup("EnvrcBashFiletype"), 11 40 pattern = ".envrc*", 12 41 command = "set filetype=bash", 13 - group = group, 14 42 }) 15 43 16 - vim.api.nvim_create_autocmd("TextYankPost", { 44 + autocmd("TextYankPost", { 45 + group = augroup("HighlightYank"), 17 46 pattern = "*", 18 47 callback = function() 19 48 vim.highlight.on_yank({ 20 - higroup = "Normal", 49 + higroup = "PmenuSel", 21 50 timeout = 200, 22 51 }) 23 52 end, 24 - group = group, 53 + }) 54 + 55 + autocmd("FileType", { 56 + group = augroup("FormatOptions"), 57 + pattern = "*", 58 + callback = function() 59 + -- never continue comment on pressing o or O in normal mode 60 + vim.opt.formatoptions:remove("o") 61 + end, 62 + }) 63 + 64 + -- insert blank line after git commit message area 65 + autocmd("VimEnter", { 66 + group = augroup("GitCommitInsertLine"), 67 + pattern = "COMMIT_EDITMSG", 68 + callback = function() 69 + if vim.fn.getline(1) == "" then 70 + vim.fn.append(1, "") 71 + end 72 + end, 25 73 })
+19
nvim/.config/nvim/lua/config/init.lua
··· 1 + -- autocmds can be loaded lazily when not opening a file 2 + local lazy_autocmds = vim.fn.argc(-1) == 0 3 + if not lazy_autocmds then 4 + require("config.autocmds") 5 + end 6 + 7 + local group = vim.api.nvim_create_augroup("SetupVeryLazy", { clear = true }) 8 + vim.api.nvim_create_autocmd("User", { 9 + group = group, 10 + pattern = "VeryLazy", 11 + callback = function() 12 + if lazy_autocmds then 13 + require("config.autocmds") 14 + end 15 + require("config.keymaps") 16 + end, 17 + }) 18 + 19 + require("config.lazy")
+8 -1
nvim/.config/nvim/lua/config/keymaps.lua
··· 36 36 end 37 37 end, silent) 38 38 39 - map("n", "<C-L>", "<Cmd>Lazy<CR>", silent) 39 + map("n", "<C-l>", "<Cmd>Lazy<CR>", silent) 40 + map("n", "<C-m>", "<Cmd>Mason<CR>", silent) 41 + -- revert Enter behavior after mapping Ctrl-M 42 + map("n", "<CR>", "<CR>") 43 + 44 + map("n", "<leader>c", "<Cmd>%y+<CR>", { silent = true, desc = "Yank file contents into system clipboard" }) 45 + 46 + map("n", "<leader>r", "<Cmd>restart<CR>", { silent = true, desc = "Restart Neovim" })
+32 -9
nvim/.config/nvim/lua/config/lazy.lua
··· 1 1 local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 2 2 3 - if not vim.loop.fs_stat(lazypath) then 4 - vim.fn.system({ 3 + if not vim.uv.fs_stat(lazypath) then 4 + local out = vim.fn.system({ 5 5 "git", 6 6 "clone", 7 7 "--filter=blob:none", 8 + "--single-branch", 8 9 "https://github.com/folke/lazy.nvim.git", 9 - "--branch=stable", -- latest stable release 10 10 lazypath, 11 11 }) 12 + 13 + if vim.v.shell_error ~= 0 then 14 + vim.api.nvim_echo({ 15 + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, 16 + { out, "WarningMsg" }, 17 + { "\nPress any key to exit..." }, 18 + }, true, {}) 19 + vim.fn.getchar() 20 + os.exit(1) 21 + end 12 22 end 13 23 14 24 vim.opt.rtp:prepend(lazypath) 15 25 16 - vim.g.nord_borders = true -- border between splits 17 - vim.g.nord_italic = false 18 - vim.g.nord_bold = false 19 - 20 - require("lazy").setup({ 26 + ---@diagnostic disable-next-line: missing-fields 27 + ---@type LazyConfig 28 + local lazy_config = { 21 29 spec = { 22 30 { import = "plugins" }, 23 31 }, 24 32 install = { 25 33 colorscheme = { "nord" }, 26 34 }, 35 + dev = { 36 + path = "~/dev", 37 + patterns = { "brw" }, 38 + }, 27 39 checker = { 28 40 enabled = true, 41 + notify = false, 29 42 }, 30 - }) 43 + change_detection = { 44 + notify = false, 45 + }, 46 + profiling = { 47 + loader = true, 48 + require = true, 49 + }, 50 + } 51 + 52 + ---@diagnostic disable-next-line: undefined-field 53 + require("lazy").setup(lazy_config)
+61 -28
nvim/.config/nvim/lua/config/options.lua
··· 1 - local opt = vim.opt 2 - opt.number = true 3 - opt.relativenumber = true 4 - opt.mouse = "a" 5 - opt.mousemoveevent = true 6 - opt.cursorline = true 7 - opt.title = true 8 - opt.timeoutlen = 1000 9 - opt.ttimeoutlen = 10 10 - opt.splitbelow = true 11 - opt.splitright = true 12 - opt.laststatus = 3 13 - opt.ignorecase = true 14 - opt.smartcase = true 15 - opt.signcolumn = "yes" 16 - opt.scrolloff = 8 17 - opt.undofile = true 18 - -- opt.clipboard = 'unnamedplus' 19 - opt.inccommand = "split" 20 - opt.formatoptions = opt.formatoptions - "o" 21 - opt.termguicolors = true 22 - opt.expandtab = true 23 - opt.shiftwidth = 2 24 - opt.foldenable = false 1 + vim.o.number = true 2 + vim.o.relativenumber = true 3 + vim.o.mouse = "a" 4 + vim.o.mousemoveevent = true 5 + vim.o.cursorline = true 6 + vim.o.title = true 7 + vim.o.timeoutlen = 1000 8 + vim.o.ttimeoutlen = 10 9 + vim.o.splitbelow = true 10 + vim.o.splitright = true 11 + vim.o.laststatus = 3 12 + vim.o.ignorecase = true 13 + vim.o.smartcase = true 14 + vim.o.signcolumn = "yes" 15 + vim.o.scrolloff = 8 16 + vim.o.undofile = true 17 + vim.o.undolevels = 10000 18 + vim.o.undoreload = 100000 19 + -- vim.o.clipboard = 'unnamedplus' 20 + vim.o.inccommand = "split" 21 + vim.o.termguicolors = true 22 + vim.o.expandtab = true 23 + vim.o.shiftwidth = 2 24 + vim.o.foldenable = false 25 + vim.o.backupcopy = "yes" 26 + -- https://github.com/VoidAlone/nihilvim/blob/fbe1f1f455bd3cbea24a11c425684d2458b5ceaa/lua/core/options.lua#L15 27 + vim.o.linebreak = true 28 + vim.o.showbreak = "↪ " 29 + 30 + vim.opt.sessionoptions:append("winpos,localoptions,globals") 31 + 32 + vim.g.mapleader = "," 33 + vim.g.maplocalleader = " " 34 + 35 + vim.g.man_hardwrap = false 36 + 37 + vim.g.user42 = "bvan-den" 38 + vim.g.mail42 = "bvan-den@student.codam.nl" 39 + 40 + -- https://github.com/tmux/tmux/pull/4190 41 + if vim.env.SSH_TTY then 42 + -- local function paste() 43 + -- return { 44 + -- vim.split(vim.fn.getreg(""), "\n"), 45 + -- vim.fn.getregtype(""), 46 + -- } 47 + -- end 25 48 26 - local g = vim.g 27 - g.mapleader = " " 28 - g.user42 = "bvan-den" 29 - g.mail42 = "bvan-den@student.codam.nl" 49 + vim.g.clipboard = { 50 + name = "OSC 52", 51 + copy = { 52 + ["+"] = require("vim.ui.clipboard.osc52").copy("+"), 53 + ["*"] = require("vim.ui.clipboard.osc52").copy("*"), 54 + }, 55 + paste = { 56 + -- ["+"] = paste, 57 + -- ["*"] = paste, 58 + ["+"] = require("vim.ui.clipboard.osc52").paste("+"), 59 + ["*"] = require("vim.ui.clipboard.osc52").paste("*"), 60 + }, 61 + } 62 + end
+28
nvim/.config/nvim/lua/config/profile.lua
··· 1 + local should_profile = os.getenv("NVIM_PROFILE") 2 + if should_profile then 3 + require("profile").instrument_autocmds() 4 + if should_profile:lower():match("^start") then 5 + ---@diagnostic disable-next-line: missing-parameter 6 + require("profile").start("*") 7 + else 8 + require("profile").instrument("*") 9 + end 10 + end 11 + 12 + local function toggle_profile() 13 + local prof = require("profile") 14 + if prof.is_recording() then 15 + prof.stop() 16 + vim.ui.input({ prompt = "Save profile to:", completion = "file", default = "profile.json" }, function(filename) 17 + if filename then 18 + prof.export(filename) 19 + vim.notify(string.format("Wrote %s", filename)) 20 + end 21 + end) 22 + else 23 + prof.start("*") 24 + end 25 + end 26 + 27 + vim.api.nvim_create_user_command("ToggleProfile", toggle_profile, { desc = "Toggle profiling" }) 28 + vim.keymap.set("", "<f1>", toggle_profile, { desc = "Toggle profiling" })
+3
nvim/.config/nvim/lua/config/util.lua
··· 1 + local M = {} 2 + 3 + return M
-1367
nvim/.config/nvim/lua/plugins.lua
··· 1 - ---@type LazySpec 2 - return { 3 - { 4 - "gbprod/nord.nvim", 5 - priority = 1000, 6 - lazy = false, 7 - config = function() 8 - require("nord").setup({ 9 - diff = { 10 - mode = "fg", 11 - }, 12 - errors = { 13 - mode = "none", -- doesn't seem to do anything? 14 - }, 15 - on_highlights = function(hi, c) 16 - hi.DiffAdd = vim.tbl_extend("force", hi.DiffAdd, { bg = "" }) 17 - hi.DiffDelete = vim.tbl_extend("force", hi.DiffDelete, { bg = "" }) 18 - hi.DiffChange = vim.tbl_extend("force", hi.DiffChange, { bg = "" }) 19 - hi.DiffText = vim.tbl_extend("force", hi.DiffText, { bg = "" }) 20 - end, 21 - }) 22 - vim.cmd.colorscheme("nord") 23 - end, 24 - }, 25 - 26 - { 27 - "folke/which-key.nvim", 28 - config = function() 29 - require("which-key").setup({ 30 - preset = "modern", 31 - }) 32 - end, 33 - }, 34 - 35 - { 36 - "nvim-lualine/lualine.nvim", 37 - dependencies = { 38 - "nvim-tree/nvim-web-devicons", 39 - "yavorski/lualine-macro-recording.nvim", 40 - }, 41 - config = function() 42 - local lualine = require("lualine") 43 - local startuptime_visible = true 44 - -- hide startup time after 3 seconds 45 - vim.defer_fn(function() 46 - startuptime_visible = false 47 - end, 3000) 48 - 49 - lualine.setup({ 50 - options = { 51 - theme = "nord", 52 - component_separators = "|", 53 - section_separators = { left = "", right = "" }, 54 - }, 55 - sections = { 56 - lualine_a = { 57 - { 58 - function() 59 - return " " 60 - end, 61 - padding_left = 1, 62 - color = "Normal", 63 - }, 64 - { "mode", separator = { left = "" } }, 65 - }, 66 - lualine_b = { 67 - { "filename" }, 68 - { "branch" }, 69 - { "diff" }, 70 - { "diagnostics" }, 71 - }, 72 - lualine_c = { 73 - "macro_recording", 74 - }, 75 - lualine_x = { 76 - { 77 - function() 78 - return math.floor(require("lazy").stats().startuptime) .. "ms" 79 - end, 80 - icon = "󱎫", 81 - cond = function() 82 - return startuptime_visible 83 - end, 84 - }, 85 - }, 86 - lualine_y = { 87 - { "filetype" }, 88 - { "fileformat", icons_enabled = false }, 89 - { "progress" }, 90 - }, 91 - lualine_z = { 92 - { "location", separator = { right = "" } }, 93 - { 94 - function() 95 - return " " 96 - end, 97 - padding_right = 1, 98 - color = "Normal", 99 - }, 100 - }, 101 - }, 102 - }) 103 - end, 104 - }, 105 - 106 - { 107 - "nvim-treesitter/nvim-treesitter", 108 - build = ":TSUpdate", 109 - dependencies = { 110 - "nvim-treesitter/nvim-treesitter-textobjects", 111 - "RRethy/nvim-treesitter-endwise", 112 - { 113 - "windwp/nvim-ts-autotag", 114 - config = function() 115 - require("nvim-ts-autotag").setup({ 116 - opts = { 117 - enable_close_on_slash = true, 118 - }, 119 - }) 120 - end, 121 - }, 122 - }, 123 - config = function() 124 - ---@diagnostic disable-next-line: missing-fields 125 - require("nvim-treesitter.configs").setup({ 126 - ensure_installed = { 127 - "lua", 128 - "vim", 129 - "vimdoc", 130 - "bash", 131 - "fish", 132 - "diff", 133 - "json", 134 - "jsonc", 135 - "markdown", 136 - "markdown_inline", 137 - "regex", 138 - "javascript", 139 - "typescript", 140 - "tsx", 141 - "html", 142 - "css", 143 - "python", 144 - "ruby", 145 - "c", 146 - "go", 147 - "elixir", 148 - "rust", 149 - }, 150 - auto_install = true, 151 - highlight = { 152 - enable = true, 153 - }, 154 - textobjects = { 155 - select = { 156 - enable = true, 157 - lookahead = true, 158 - keymaps = { 159 - ["af"] = "@function.outer", 160 - ["if"] = "@function.inner", 161 - ["ac"] = "@comment.outer", 162 - ["ic"] = "@comment.outer", 163 - ["aa"] = "@parameter.outer", 164 - ["ia"] = "@parameter.inner", 165 - }, 166 - selection_modes = { 167 - ["@function.outer"] = "V", 168 - ["@function.inner"] = "V", 169 - }, 170 - }, 171 - move = { 172 - enable = true, 173 - set_jumps = true, 174 - goto_next_start = { 175 - ["]m"] = "@function.outer", 176 - }, 177 - }, 178 - }, 179 - endwise = { 180 - enable = true, 181 - }, 182 - }) 183 - end, 184 - }, 185 - 186 - { 187 - "wansmer/treesj", 188 - dependencies = { 189 - "nvim-treesitter/nvim-treesitter", 190 - }, 191 - keys = { 192 - { 193 - "<leader>s", 194 - function() 195 - require("treesj").toggle({ split = { recursive = true } }) 196 - end, 197 - desc = "Toggle node (split/join)", 198 - }, 199 - }, 200 - ---@class TreeSJ.Settings 201 - ---@field use_default_keymaps boolean Use default keymaps (<space>m - toggle, <space>j - join, <space>s - split) 202 - ---@field check_syntax_error boolean Node with syntax error will not be formatted 203 - ---@field max_join_length number If line after join will be longer than max value, node will not be formatted 204 - ---Cursor behavior: 205 - ---hold - cursor follows the node/place on which it was called 206 - ---start - cursor jumps to the first symbol of the node being formatted 207 - ---end - cursor jumps to the last symbol of the node being formatted 208 - ---@field cursor_behavior 'hold'|'start'|'end' 209 - ---@field notify boolean Notify about possible problems or not 210 - ---@field langs table Presets for languages 211 - ---@field dot_repeat boolean Use `dot` for repeat action 212 - ---@field on_error nil|function Callback for treesj error handler. func (err_text, level, ...) 213 - opts = { 214 - use_default_keymaps = false, 215 - -- max_join_length = 600, 216 - }, 217 - }, 218 - 219 - { 220 - "zbirenbaum/copilot.lua", 221 - enabled = false, 222 - config = function() 223 - require("copilot").setup({ 224 - filetypes = { 225 - gitcommit = true, 226 - markdown = true, 227 - yaml = true, 228 - }, 229 - panel = { 230 - enabled = false, 231 - }, 232 - suggestion = { 233 - auto_trigger = true, 234 - keymap = { 235 - accept = "<M-CR>", 236 - accept_word = "<M-.>", 237 - accept_line = "<M-.>", 238 - next = "<M-j>", 239 - prev = "<M-d>", 240 - dismiss = "<M-]>", 241 - }, 242 - }, 243 - }) 244 - end, 245 - }, 246 - 247 - { 248 - "supermaven-inc/supermaven-nvim", 249 - config = function() 250 - require("supermaven-nvim").setup({ 251 - keymaps = { 252 - accept_suggestion = "<M-CR>", 253 - accept_word = "<M-.>", 254 - clear_suggestion = "<M-]>", 255 - }, 256 - }) 257 - end, 258 - }, 259 - 260 - { 261 - "williamboman/mason.nvim", 262 - config = true, 263 - }, 264 - 265 - { 266 - "folke/neoconf.nvim", 267 - config = true, 268 - }, 269 - 270 - { 271 - "williamboman/mason-lspconfig.nvim", 272 - dependencies = { 273 - "williamboman/mason.nvim", 274 - "neovim/nvim-lspconfig", 275 - "hrsh7th/cmp-nvim-lsp", 276 - "onsails/lspkind.nvim", 277 - "b0o/schemastore.nvim", 278 - "yioneko/nvim-vtsls", 279 - "folke/neoconf.nvim", 280 - { 281 - "vonheikemen/lsp-zero.nvim", 282 - branch = "v4.x", 283 - }, 284 - }, 285 - config = function() 286 - local lsp_zero = require("lsp-zero") 287 - 288 - -- add tmux lsp 289 - vim.api.nvim_create_autocmd("FileType", { 290 - pattern = "tmux", 291 - callback = function() 292 - vim.lsp.start({ 293 - name = "tmux", 294 - cmd = { "tmux-language-server" }, 295 - }) 296 - end, 297 - }) 298 - 299 - local on_attach = function(client, bufnr) 300 - -- lsp_zero.highlight_symbol(client, bufnr) 301 - 302 - -- :h lsp-zero-keybindings 303 - lsp_zero.default_keymaps({ 304 - buffer = bufnr, 305 - preserve_mappings = false, 306 - exclude = { "gs" }, 307 - }) 308 - 309 - vim.keymap.set("n", "gl", function() 310 - vim.diagnostic.open_float() 311 - end, { desc = "Show diagnostics", silent = true, buffer = bufnr }) 312 - 313 - vim.keymap.set( 314 - "n", 315 - "gk", 316 - "<cmd>lua vim.lsp.buf.signature_help()<cr>", 317 - { desc = "Show function signature", silent = true, buffer = bufnr } 318 - ) 319 - 320 - if client.name == "vtsls" then 321 - vim.keymap.set( 322 - "n", 323 - "gs", 324 - "<cmd>VtsExec goto_source_definition<cr>", 325 - { desc = "Goto source definition", silent = true, buffer = bufnr } 326 - ) 327 - end 328 - end 329 - 330 - lsp_zero.extend_lspconfig({ 331 - capabilities = require("cmp_nvim_lsp").default_capabilities(), 332 - lsp_attach = on_attach, 333 - sign_text = true, 334 - float_border = "rounded", 335 - }) 336 - 337 - -- local orig_util_open_floating_preview = vim.lsp.util.open_floating_preview 338 - -- 339 - -- ---@diagnostic disable-next-line: duplicate-set-field 340 - -- function vim.lsp.util.open_floating_preview(contents, syntax, opts, ...) 341 - -- local bufnr, winnr = orig_util_open_floating_preview(contents, syntax, opts, ...) 342 - -- -- vim.api.nvim_set_option_value("signcolumn", "no", { win = winnr }) 343 - -- vim.api.nvim_set_option_value("filetype", "markdown", { buf = bufnr }) 344 - -- return bufnr, winnr 345 - -- end 346 - 347 - require("mason-lspconfig").setup({ 348 - ensure_installed = { 349 - "lua_ls", 350 - "clangd", 351 - "jsonls", 352 - "yamlls", 353 - "bashls", 354 - "basedpyright", 355 - "ruff_lsp", 356 - "tailwindcss", 357 - "terraformls", 358 - "tflint", 359 - "vtsls", 360 - }, 361 - handlers = { 362 - function(server) 363 - require("lspconfig")[server].setup({}) 364 - end, 365 - 366 - lua_ls = function() 367 - ---@diagnostic disable: missing-fields 368 - ---@type lspconfig.options.lua_ls 369 - local lua_opts = { 370 - settings = { 371 - Lua = { 372 - format = { 373 - enable = false, 374 - }, 375 - diagnostics = { 376 - workspaceDelay = -1, 377 - workspaceEvent = "None", 378 - }, 379 - workspace = { 380 - checkThirdParty = false, 381 - }, 382 - codeLens = { 383 - enable = true, 384 - }, 385 - completion = { 386 - callSnippet = "Both", 387 - }, 388 - doc = { 389 - privateName = { "^_" }, 390 - }, 391 - hint = { 392 - enable = true, 393 - setType = false, 394 - paramType = true, 395 - paramName = "Disable", 396 - semicolon = "Disable", 397 - arrayIndex = "Disable", 398 - }, 399 - }, 400 - }, 401 - } 402 - require("lspconfig").lua_ls.setup(lua_opts) 403 - end, 404 - 405 - jsonls = function() 406 - ---@diagnostic disable: missing-fields 407 - ---@type lspconfig.options.jsonls 408 - local jsonls_opts = { 409 - settings = { 410 - json = { 411 - schemas = vim.list_extend(require("schemastore").json.schemas(), { 412 - { 413 - fileMatch = { "docker-compose*.json", "compose*.json" }, 414 - url = "https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json", 415 - }, 416 - }), 417 - validate = { enable = true }, 418 - }, 419 - }, 420 - } 421 - require("lspconfig").jsonls.setup(jsonls_opts) 422 - end, 423 - 424 - yamlls = function() 425 - ---@diagnostic disable: missing-fields 426 - ---@type lspconfig.options.yamlls 427 - local yamlls_opts = { 428 - settings = { 429 - yaml = { 430 - schemaStore = { 431 - enable = false, 432 - url = "", 433 - }, 434 - schemas = vim.tbl_extend("force", require("schemastore").yaml.schemas(), { 435 - kubernetes = { "manifests/*.yaml" }, 436 - }), 437 - }, 438 - validate = { enable = true }, 439 - }, 440 - } 441 - require("lspconfig").yamlls.setup(yamlls_opts) 442 - end, 443 - 444 - tailwindcss = function() 445 - ---@diagnostic disable: missing-fields 446 - ---@type lspconfig.options.tailwindcss 447 - local tailwindcss_opts = { 448 - settings = { 449 - tailwindCSS = { 450 - classAttributes = { 451 - "modifiersClassNames", 452 - }, 453 - experimental = { 454 - classRegex = { 455 - { "cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]" }, 456 - { "cx\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)" }, 457 - { "cn\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)" }, 458 - }, 459 - }, 460 - }, 461 - }, 462 - } 463 - require("lspconfig").tailwindcss.setup(tailwindcss_opts) 464 - end, 465 - 466 - vtsls = function() 467 - ---@diagnostic disable: missing-fields 468 - ---@type lspconfig.options.vtsls 469 - local vtsls_opts = { 470 - settings = { 471 - javascript = { 472 - updateImportsOnFileMove = { enabled = "always" }, 473 - }, 474 - typescript = { 475 - updateImportsOnFileMove = { enabled = "always" }, 476 - tsserver = { 477 - experimental = { 478 - enableProjectDiagnostics = true, 479 - }, 480 - }, 481 - }, 482 - vtsls = { 483 - enableMoveToFileCodeAction = true, 484 - }, 485 - }, 486 - -- handlers = { 487 - -- ---@diagnostic disable: redundant-parameter 488 - -- ---@param err lsp.ResponseError? 489 - -- ---@param result lsp.PublishDiagnosticsParams 490 - -- ---@param ctx lsp.HandlerContext 491 - -- ---@param config? vim.diagnostic.Opts Configuration table (see |vim.diagnostic.config()|). 492 - -- ["textDocument/publishDiagnostics"] = function(err, result, ctx, config) 493 - -- if not result.diagnostics then 494 - -- return 495 - -- end 496 - -- 497 - -- for _, diagnostic in ipairs(result.diagnostics) do 498 - -- local json = vim.fn.json_encode({ 499 - -- range = diagnostic.range, 500 - -- message = diagnostic.message, 501 - -- code = diagnostic.code, 502 - -- severity = diagnostic.severity, 503 - -- source = diagnostic.source, 504 - -- }) 505 - -- local proc = vim.system( 506 - -- { "pretty-ts-errors-markdown" }, 507 - -- { text = true, stdin = true }, 508 - -- function(obj) 509 - -- diagnostic.message = obj.stdout 510 - -- vim.lsp.diagnostic.on_publish_diagnostics(err, result, ctx, config) 511 - -- end 512 - -- ) 513 - -- proc:write(json) 514 - -- proc:write(nil) 515 - -- end 516 - -- end, 517 - -- }, 518 - } 519 - require("lspconfig").vtsls.setup(vtsls_opts) 520 - end, 521 - }, 522 - }) 523 - end, 524 - }, 525 - 526 - { 527 - "hrsh7th/nvim-cmp", 528 - event = "InsertEnter", 529 - dependencies = { 530 - "L3MON4D3/LuaSnip", 531 - }, 532 - config = function() 533 - local cmp = require("cmp") 534 - 535 - cmp.setup({ 536 - sources = { 537 - -- { name = "copilot" }, 538 - { 539 - name = "nvim_lsp", 540 - ---@param entry cmp.Entry 541 - entry_filter = function(entry) 542 - return entry:get_kind() ~= cmp.lsp.CompletionItemKind.Text 543 - end, 544 - }, 545 - { name = "lazydev", group_index = 0 }, 546 - }, 547 - snippet = { 548 - expand = function(args) 549 - require("luasnip").lsp_expand(args.body) 550 - end, 551 - }, 552 - mapping = cmp.mapping.preset.insert({ 553 - ["<C-Space>"] = cmp.mapping.complete(), 554 - }), 555 - formatting = { 556 - fields = { "abbr", "kind", "menu" }, 557 - format = function(entry, item) 558 - local color_item = require("nvim-highlight-colors").format(entry, { kind = item.kind }) 559 - item = require("lspkind").cmp_format({ 560 - -- before = require("tailwind-tools.cmp").lspkind_format, 561 - })(entry, item) 562 - if color_item.abbr_hl_group then 563 - item.kind_hl_group = color_item.abbr_hl_group 564 - item.kind = color_item.abbr 565 - end 566 - return item 567 - end, 568 - expandable_indicator = true, 569 - }, 570 - window = { 571 - completion = cmp.config.window.bordered(), 572 - documentation = cmp.config.window.bordered(), 573 - }, 574 - }) 575 - end, 576 - }, 577 - 578 - { 579 - "antosha417/nvim-lsp-file-operations", 580 - requires = { 581 - "nvim-lua/plenary.nvim", 582 - "nvim-neo-tree/neo-tree.nvim", 583 - }, 584 - config = true, 585 - }, 586 - 587 - { 588 - "luckasRanarison/tailwind-tools.nvim", 589 - enabled = false, 590 - config = true, 591 - }, 592 - 593 - { 594 - "stevearc/conform.nvim", 595 - event = { "BufWritePre" }, 596 - cmd = { "ConformInfo", "Format", "FormatDisable", "FormatEnable", "FormatToggle" }, 597 - init = function() 598 - vim.o.formatexpr = "v:lua.require'conform'.formatexpr()" 599 - end, 600 - config = function() 601 - require("conform").setup({ 602 - formatters_by_ft = { 603 - lua = { "stylua" }, 604 - yaml = { "yamlfmt" }, 605 - javascript = { "prettierd", "prettier", stop_after_first = true }, 606 - javascriptreact = { "prettierd", "prettier", stop_after_first = true }, 607 - typescript = { "prettierd", "prettier", stop_after_first = true }, 608 - typescriptreact = { "prettierd", "prettier", stop_after_first = true }, 609 - html = { "prettierd", "prettier", stop_after_first = true }, 610 - css = { "prettierd", "prettier", stop_after_first = true }, 611 - graphql = { "prettierd", "prettier", stop_after_first = true }, 612 - sh = { "shfmt" }, 613 - fish = { "fish_indent" }, 614 - }, 615 - format_on_save = function(bufnr) 616 - if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then 617 - return 618 - end 619 - 620 - return { lsp_format = "fallback" } 621 - end, 622 - format_after_save = function(bufnr) 623 - if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then 624 - return 625 - end 626 - 627 - return { lsp_format = "fallback" } 628 - end, 629 - }) 630 - 631 - vim.api.nvim_create_user_command("Format", function(args) 632 - local range = nil 633 - if args.count ~= -1 then 634 - local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1] 635 - range = { 636 - start = { args.line1, 0 }, 637 - ["end"] = { args.line2, end_line:len() }, 638 - } 639 - end 640 - 641 - require("conform").format({ async = true, lsp_format = "fallback", range = range }) 642 - end, {}) 643 - 644 - vim.api.nvim_create_user_command("FormatDisable", function(args) 645 - if args.bang then 646 - vim.b.disable_autoformat = true 647 - else 648 - vim.g.disable_autoformat = true 649 - end 650 - end, { 651 - bang = true, 652 - desc = "Disable autoformat on save (bang to disable for current buffer only)", 653 - }) 654 - 655 - vim.api.nvim_create_user_command("FormatEnable", function() 656 - vim.b.disable_autoformat = false 657 - vim.g.disable_autoformat = false 658 - end, { 659 - desc = "Re-enable autoformat on save", 660 - }) 661 - 662 - vim.api.nvim_create_user_command("FormatToggle", function() 663 - if vim.g.disable_autoformat then 664 - vim.g.disable_autoformat = false 665 - else 666 - vim.g.disable_autoformat = true 667 - end 668 - end, { 669 - desc = "Toggle autoformat on save", 670 - }) 671 - end, 672 - }, 673 - 674 - { 675 - "folke/lazydev.nvim", 676 - ft = "lua", 677 - config = function() 678 - require("lazydev").setup({ 679 - ---@type lazydev.Library.spec[] 680 - library = { 681 - { path = "luvit-meta/library" }, 682 - }, 683 - }) 684 - end, 685 - }, 686 - 687 - { 688 - "Bilal2453/luvit-meta", 689 - lazy = true, 690 - }, 691 - 692 - --TODO: configure 693 - { 694 - "folke/trouble.nvim", 695 - dependencies = { 696 - "nvim-tree/nvim-web-devicons", 697 - }, 698 - cmd = { "Trouble" }, 699 - keys = { 700 - { "<leader>t", "<Cmd>Trouble<CR>" }, 701 - }, 702 - config = true, 703 - }, 704 - 705 - { 706 - "nvim-telescope/telescope.nvim", 707 - lazy = false, 708 - version = "*", 709 - dependencies = { 710 - "nvim-lua/plenary.nvim", 711 - "nvim-tree/nvim-web-devicons", 712 - }, 713 - keys = { 714 - { "<C-t><C-r>", "<cmd>Telescope resume<CR>", desc = "Telescope resume" }, 715 - { "<C-t><C-p>", "<cmd>Telescope find_files<CR>", desc = "Telescope find files" }, 716 - { "<C-t><C-f>", "<cmd>Telescope buffers<CR>", desc = "Telescope buffers" }, 717 - { "<C-t><C-g>", "<cmd>Telescope live_grep<CR>", desc = "Telescope grep" }, 718 - { "<C-t><C-c>", "<cmd>Telescope help_tags<CR>", desc = "Telescope help" }, 719 - { "<C-t><C-m>", "<cmd>Telescope man_pages<CR>", desc = "Telescope man" }, 720 - --{ 'gd', '<cmd>Telescope lsp_definitions<CR>', desc = 'Telescope definitions' }, 721 - --{ 'gi', '<cmd>Telescope implementations<CR>', desc = 'Telescope implementations' }, 722 - { "<C-t><C-d>", "<cmd>Telescope diagnostics<CR>", desc = "Telescope diagnostics" }, 723 - }, 724 - config = function() 725 - require("telescope").setup({ 726 - defaults = { 727 - sorting_strategy = "ascending", 728 - layout_config = { 729 - prompt_position = "top", 730 - }, 731 - file_ignore_patterns = { ".git/" }, 732 - }, 733 - pickers = { 734 - find_files = { 735 - theme = "dropdown", 736 - hidden = true, 737 - }, 738 - buffers = { 739 - theme = "dropdown", 740 - }, 741 - live_grep = { 742 - theme = "dropdown", 743 - }, 744 - help_tags = { 745 - theme = "dropdown", 746 - }, 747 - man_pages = { 748 - theme = "dropdown", 749 - }, 750 - }, 751 - }) 752 - end, 753 - }, 754 - 755 - { 756 - "nvim-neo-tree/neo-tree.nvim", 757 - event = { "BufEnter" }, 758 - branch = "v3.x", 759 - dependencies = { 760 - "nvim-lua/plenary.nvim", 761 - "nvim-tree/nvim-web-devicons", 762 - "muniftanjim/nui.nvim", 763 - }, 764 - keys = { 765 - { "<C-h>", "<cmd>Neotree toggle<CR>", desc = "Toggle Neotree" }, 766 - { "<leader>fh", "<cmd>Neotree reveal<CR>", desc = "Reveal file in Neotree" }, 767 - }, 768 - config = function() 769 - require("neo-tree").setup({ 770 - close_if_last_window = true, 771 - filesystem = { 772 - follow_current_file = { 773 - enabled = true, 774 - leave_dirs_open = true, 775 - }, 776 - filtered_items = { 777 - visible = true, 778 - never_show = { 779 - "..", 780 - "node_modules", 781 - }, 782 - }, 783 - find_command = "fd", 784 - find_args = { 785 - fd = { 786 - "--exclude", 787 - ".git", 788 - "--exclude", 789 - "node_modules", 790 - }, 791 - }, 792 - hijack_netrw_behavior = "disabled", 793 - use_libuv_file_watcher = true, 794 - }, 795 - event_handlers = { 796 - -- { 797 - -- event = "file_opened", 798 - -- handler = function() 799 - -- require("neo-tree.command").execute({ action = "close" }) 800 - -- end, 801 - -- }, 802 - }, 803 - window = { 804 - mappings = { 805 - ["P"] = { "toggle_preview", config = { use_float = false } }, 806 - }, 807 - }, 808 - }) 809 - end, 810 - }, 811 - 812 - { 813 - "echasnovski/mini.files", 814 - enabled = false, 815 - keys = { 816 - { "<C-h>", "<cmd>lua if not MiniFiles.close() then MiniFiles.open() end<CR>", desc = "Toggle MiniFiles" }, 817 - }, 818 - config = function() 819 - require("mini.files").setup({ 820 - mappings = { 821 - close = "<Esc>", 822 - }, 823 - }) 824 - end, 825 - }, 826 - 827 - { 828 - "stevearc/oil.nvim", 829 - config = function() 830 - require("oil").setup({ 831 - skip_confirm_for_simple_edits = true, 832 - prompt_save_on_select_new_entry = false, 833 - watch_for_changes = true, 834 - }) 835 - end, 836 - }, 837 - 838 - { 839 - "rcarriga/nvim-notify", 840 - priority = 500, 841 - config = function() 842 - require("notify").setup({ 843 - stages = "static", 844 - max_height = function() 845 - return math.floor(vim.o.lines * 0.75) 846 - end, 847 - max_width = function() 848 - return math.floor(vim.o.columns * 0.75) 849 - end, 850 - on_open = function(win) 851 - vim.api.nvim_win_set_config(win, { zindex = 100 }) 852 - end, 853 - }) 854 - end, 855 - }, 856 - 857 - { 858 - "folke/noice.nvim", 859 - dependencies = { 860 - "muniftanjim/nui.nvim", 861 - "rcarriga/nvim-notify", 862 - "smjonas/inc-rename.nvim", 863 - }, 864 - config = function() 865 - require("noice").setup({ 866 - lsp = { 867 - override = { 868 - ["vim.lsp.util.convert_input_to_markdown_lines"] = true, 869 - ["vim.lsp.util.stylize_markdown"] = true, 870 - ["cmp.entry.get_documentation"] = true, 871 - }, 872 - progress = { 873 - enabled = false, 874 - }, 875 - hover = { 876 - silent = true, 877 - }, 878 - }, 879 - presets = { 880 - bottom_search = true, 881 - long_message_to_split = true, 882 - inc_rename = true, 883 - lsp_doc_border = true, 884 - }, 885 - popupmenu = { 886 - backend = "nui", -- cmp seems broken? 887 - }, 888 - }) 889 - end, 890 - }, 891 - 892 - { "stevearc/dressing.nvim" }, 893 - 894 - { 895 - "andweeb/presence.nvim", 896 - -- enabled = false, 897 - config = function() 898 - require("presence").setup({ 899 - show_time = false, 900 - neovim_image_text = "Neovim", 901 - -- log_level = "debug", 902 - }) 903 - end, 904 - }, 905 - 906 - { 907 - "stevearc/qf_helper.nvim", 908 - keys = { 909 - { "<C-n>", "<Cmd>QNext<CR>" }, 910 - { "<C-p>", "<Cmd>QPrev<CR>" }, 911 - { "<leader>q", "<Cmd>QFToggle!<CR>" }, 912 - { "<leader>l", "<Cmd>LLToggle!<CR>" }, 913 - }, 914 - config = true, 915 - }, 916 - 917 - { 918 - "yorickpeterse/nvim-pqf", 919 - config = true, 920 - }, 921 - 922 - { 923 - "petertriho/nvim-scrollbar", 924 - dependencies = { 925 - "kevinhwang91/nvim-hlslens", 926 - }, 927 - config = function() 928 - require("scrollbar").setup({ 929 - handle = { 930 - color = require("nord.colors").palette.polar_night.brighter, 931 - }, 932 - handlers = { 933 - -- search = true, 934 - }, 935 - }) 936 - end, 937 - }, 938 - 939 - { 940 - "kevinhwang91/nvim-hlslens", 941 - enabled = false, 942 - keys = { 943 - { "n", "<Cmd>execute('normal! ' . v:count1 . 'n')<CR><Cmd>lua require('hlslens').start()<CR>" }, 944 - { "N", "<Cmd>execute('normal! ' . v:count1 . 'N')<CR><Cmd>lua require('hlslens').start()<CR>" }, 945 - { "*", "*<Cmd>lua require('hlslens').start()<CR>" }, 946 - { "#", "#<Cmd>lua require('hlslens').start()<CR>" }, 947 - { "g*", "g*<Cmd>lua require('hlslens').start()<CR>" }, 948 - { "g#", "g#<Cmd>lua require('hlslens').start()<CR>" }, 949 - }, 950 - config = true, 951 - }, 952 - 953 - { 954 - "akinsho/toggleterm.nvim", 955 - version = "*", 956 - keys = { 957 - { "<C-q>", desc = "Toggle terminal" }, 958 - }, 959 - config = function() 960 - require("toggleterm").setup({ 961 - open_mapping = "<C-q>", 962 - shading_factor = "0", 963 - winbar = { 964 - enabled = true, 965 - }, 966 - }) 967 - end, 968 - }, 969 - 970 - { 971 - "ethanholz/nvim-lastplace", 972 - config = true, 973 - }, 974 - 975 - { 976 - "kylechui/nvim-surround", 977 - config = true, 978 - }, 979 - 980 - { 981 - "numtostr/comment.nvim", 982 - config = true, 983 - }, 984 - 985 - { 986 - "monaqa/dial.nvim", 987 - keys = { 988 - { "<C-a>", "<Cmd>lua require('dial.map').manipulate('increment', 'normal')<CR>", mode = { "n", "v" } }, 989 - { "<C-x>", "<Cmd>lua require('dial.map').manipulate('decrement', 'normal')<CR>", mode = { "n", "v" } }, 990 - { "g<C-a>", "<Cmd>lua require('dial.map').manipulate('increment', 'gnormal')<CR>", mode = { "n", "v" } }, 991 - { "g<C-x>", "<Cmd>lua require('dial.map').manipulate('decrement', 'gnormal')<CR>", mode = { "n", "v" } }, 992 - }, 993 - config = function() 994 - local augend = require("dial.augend") 995 - 996 - require("dial.config").augends:register_group({ 997 - default = { 998 - augend.integer.alias.decimal, 999 - augend.integer.alias.hex, 1000 - augend.date.alias["%Y/%m/%d"], 1001 - augend.date.alias["%Y-%m-%d"], 1002 - augend.constant.alias.bool, 1003 - }, 1004 - }) 1005 - end, 1006 - }, 1007 - 1008 - { 1009 - "j-hui/fidget.nvim", 1010 - config = true, 1011 - }, 1012 - 1013 - { 1014 - "lewis6991/gitsigns.nvim", 1015 - config = true, 1016 - }, 1017 - 1018 - { 1019 - "karb94/neoscroll.nvim", 1020 - config = function() 1021 - require("neoscroll").setup({ 1022 - easing_function = "quadratic", 1023 - }) 1024 - end, 1025 - }, 1026 - 1027 - { "JopjeKnopje/42header_codam" }, 1028 - 1029 - { "cacharle/c_formatter_42.vim" }, 1030 - 1031 - { 1032 - "altermo/ultimate-autopair.nvim", 1033 - event = { "InsertEnter", "CmdlineEnter" }, 1034 - config = function() 1035 - require("ultimate-autopair").setup({ 1036 - fastwarp = { 1037 - faster = true, 1038 - }, 1039 - }) 1040 - end, 1041 - }, 1042 - 1043 - { 1044 - "TimUntersberger/neogit", 1045 - config = function() 1046 - require("neogit").setup({ 1047 - commit_popup = { 1048 - kind = "floating", 1049 - }, 1050 - popup = { 1051 - kind = "floating", 1052 - }, 1053 - }) 1054 - end, 1055 - }, 1056 - 1057 - { 1058 - "sindrets/diffview.nvim", 1059 - dependencies = { 1060 - "nvim-lua/plenary.nvim", 1061 - }, 1062 - config = true, 1063 - }, 1064 - 1065 - { 1066 - "abecodes/tabout.nvim", 1067 - config = true, 1068 - }, 1069 - 1070 - { 1071 - "NMAC427/guess-indent.nvim", 1072 - config = true, 1073 - }, 1074 - 1075 - { 1076 - "NvChad/nvim-colorizer.lua", 1077 - enabled = false, 1078 - main = "colorizer", 1079 - config = function() 1080 - require("colorizer").setup({ 1081 - filetypes = { "*", "!lazy" }, 1082 - user_default_options = { 1083 - RGB = true, -- #RGB hex codes 1084 - RRGGBB = true, -- #RRGGBB hex codes 1085 - names = false, -- "Name" codes like Blue or blue 1086 - RRGGBBAA = false, -- #RRGGBBAA hex codes 1087 - AARRGGBB = false, -- 0xAARRGGBB hex codes 1088 - rgb_fn = true, -- CSS rgb() and rgba() functions 1089 - hsl_fn = true, -- CSS hsl() and hsla() functions 1090 - css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB 1091 - css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn 1092 - -- Available modes for `mode`: foreground, background, virtualtext 1093 - mode = "background", 1094 - -- Available methods are false / true / "normal" / "lsp" / "both" 1095 - -- True is same as normal 1096 - tailwind = "both", 1097 - sass = { 1098 - enable = true, 1099 - parsers = { "css" }, 1100 - }, 1101 - virtualtext = "■", 1102 - -- update color values even if buffer is not focused 1103 - -- example use: cmp_menu, cmp_docs 1104 - always_update = true, 1105 - }, 1106 - }) 1107 - end, 1108 - }, 1109 - 1110 - { 1111 - "brenoprata10/nvim-highlight-colors", 1112 - enabled = true, 1113 - config = function() 1114 - require("nvim-highlight-colors").setup({ 1115 - render = "virtual", 1116 - enable_tailwind = true, 1117 - exclude_filetypes = { "gitcommit", "lazy", "help" }, 1118 - }) 1119 - end, 1120 - }, 1121 - 1122 - { 1123 - "xorid/swap-split.nvim", 1124 - config = function() 1125 - require("swap-split").setup({ 1126 - ignore_filetypes = { "NvimTree", "neo-tree", "notify", "toggleterm", "Trouble", "qf" }, 1127 - }) 1128 - end, 1129 - }, 1130 - 1131 - { 1132 - "lambdalisue/suda.vim", 1133 - init = function() 1134 - vim.g.suda_smart_edit = true 1135 - end, 1136 - }, 1137 - 1138 - { 1139 - "mfussenegger/nvim-dap", 1140 - dependencies = { 1141 - "rcarriga/nvim-dap-ui", 1142 - "nvim-neotest/nvim-nio", 1143 - "theHamsta/nvim-dap-virtual-text", 1144 - { 1145 - "ldelossa/nvim-dap-projects", 1146 - config = function() 1147 - require("nvim-dap-projects").search_project_config() 1148 - end, 1149 - }, 1150 - }, 1151 - config = function() 1152 - local dap = require("dap") 1153 - local dapui = require("dapui") 1154 - 1155 - dap.listeners.after.event_initialized["dapui_config"] = function() 1156 - dapui.open({}) 1157 - end 1158 - 1159 - dap.listeners.before.event_terminated["dapui_config"] = function() 1160 - dapui.close({}) 1161 - end 1162 - 1163 - dap.listeners.before.event_exited["dapui_config"] = function() 1164 - dapui.close({}) 1165 - end 1166 - end, 1167 - }, 1168 - 1169 - { 1170 - "Shatur/neovim-session-manager", 1171 - dependencies = { 1172 - "nvim-lua/plenary.nvim", 1173 - }, 1174 - main = "session_manager", 1175 - opts = function() 1176 - local config = require("session_manager.config") 1177 - ---@module "plenary" 1178 - ---@class SessionManager.Settings 1179 - ---@field sessions_dir Path The directory where the session files will be saved. 1180 - ---@field session_filename_to_dir function(string): Path Function that replaces symbols into separators and colons to transform filename into a session directory. 1181 - ---@field dir_to_session_filename function(string): Path Function that replaces separators and colons into special symbols to transform session directory into a filename. Should use `vim.uv.cwd()` if the passed `dir` is `nil`. 1182 - ---@field autoload_mode ('Disabled'|'CurrentDir'|'LastSession'|'GitSession')[] Define what to do when Neovim is started without arguments. See "Autoload mode" section below. 1183 - ---@field autosave_last_session boolean Automatically save last session on exit and on session switch. 1184 - ---@field autosave_ignore_not_normal boolean Plugin will not save a session when no buffers are opened, or all of them aren't writable or listed. 1185 - ---@field autosave_ignore_dirs string[] A list of directories where the session will not be autosaved. 1186 - ---@field autosave_ignore_filetypes string[] All buffers of these file types will be closed before the session is saved. 1187 - ---@field autosave_ignore_buftypes string[] All buffers of these bufer types will be closed before the session is saved. 1188 - ---@field autosave_only_in_session boolean Always autosaves session. If true, only autosaves after a session is active. 1189 - ---@field max_path_length number Shorten the display path if length exceeds this threshold. Use 0 if don't want to shorten the path at all. 1190 - return { 1191 - autoload_mode = { config.AutoloadMode.GitSession, config.AutoloadMode.CurrentDir }, 1192 - autosave_ignore_dirs = { "~" }, 1193 - } 1194 - end, 1195 - }, 1196 - 1197 - { 1198 - "chentoast/marks.nvim", 1199 - config = true, 1200 - }, 1201 - 1202 - { 1203 - "jinh0/eyeliner.nvim", 1204 - config = function() 1205 - require("eyeliner").setup({ 1206 - highlight_on_key = true, 1207 - dim = true, 1208 - }) 1209 - end, 1210 - }, 1211 - 1212 - { 1213 - "bfredl/nvim-luadev", 1214 - cmd = { "Luadev" }, 1215 - keys = { 1216 - { mode = "n", "<leader>rl", "<Plug>(Luadev-RunLine)", desc = "Execute line" }, 1217 - { mode = { "n", "v" }, "<leader>rr", "<Plug>(Luadev-Run)", desc = "Execute movement/object" }, 1218 - { mode = "n", "<leader>rw", "<Plug>(Luadev-RunWord)", desc = "Execute word" }, 1219 - }, 1220 - }, 1221 - 1222 - { 1223 - "aserowy/tmux.nvim", 1224 - keys = { 1225 - { "<M-h>", "<Cmd>lua require('tmux').move_left()<CR>", desc = "Move left", mode = { "n", "t" } }, 1226 - { "<M-j>", "<Cmd>lua require('tmux').move_bottom()<CR>", desc = "Move bottom", mode = { "n", "t" } }, 1227 - { "<M-k>", "<Cmd>lua require('tmux').move_top()<CR>", desc = "Move top", mode = { "n", "t" } }, 1228 - { "<M-l>", "<Cmd>lua require('tmux').move_right()<CR>", desc = "Move right", mode = { "n", "t" } }, 1229 - { "<M-H>", "<Cmd>lua require('tmux').resize_left()<CR>", desc = "Resize left", mode = { "n", "t" } }, 1230 - { "<M-J>", "<Cmd>lua require('tmux').resize_bottom()<CR>", desc = "Resize bottom", mode = { "n", "t" } }, 1231 - { "<M-K>", "<Cmd>lua require('tmux').resize_top()<CR>", desc = "Resize top", mode = { "n", "t" } }, 1232 - { "<M-L>", "<Cmd>lua require('tmux').resize_right()<CR>", desc = "Resize right", mode = { "n", "t" } }, 1233 - }, 1234 - config = function() 1235 - require("tmux").setup({ 1236 - navigation = { 1237 - enable_default_keybindings = false, 1238 - }, 1239 - resize = { 1240 - enable_custom_bindings = false, 1241 - resize_step_x = 5, 1242 - resize_step_y = 5, 1243 - }, 1244 - }) 1245 - end, 1246 - }, 1247 - 1248 - { 1249 - "Bekaboo/dropbar.nvim", 1250 - dependencies = { 1251 - "nvim-telescope/telescope-fzf-native.nvim", 1252 - }, 1253 - init = function() 1254 - vim.cmd.highlight("WinBar guibg=none") 1255 - vim.cmd.highlight("WinBarNC guibg=none") 1256 - end, 1257 - config = true, 1258 - }, 1259 - 1260 - { 1261 - "romgrk/barbar.nvim", 1262 - lazy = false, 1263 - dependencies = { 1264 - "lewis6991/gitsigns.nvim", 1265 - "nvim-tree/nvim-web-devicons", 1266 - }, 1267 - keys = { 1268 - { "<M-.>", "<Cmd>BufferNext<CR>", desc = "Buffer next" }, 1269 - { "<M-,>", "<Cmd>BufferPrevious<CR>", desc = "Buffer previous" }, 1270 - { "<M-d>", "<Cmd>BufferClose<CR>", desc = "Buffer close" }, 1271 - { "<M-<>", "<Cmd>BufferMovePrevious<CR>", desc = "Buffer move previous" }, 1272 - { "<M->>", "<Cmd>BufferMoveNext<CR>", desc = "Buffer move next" }, 1273 - { "<M-p", "<Cmd>BufferPin<CR>", desc = "Buffer pin" }, 1274 - { "<C-p>", "<Cmd>BufferPick<CR>", desc = "Buffer pick" }, 1275 - { "<M-1>", "<Cmd>BufferGoto 1<CR>", desc = "Buffer goto 1" }, 1276 - { "<M-2>", "<Cmd>BufferGoto 2<CR>", desc = "Buffer goto 2" }, 1277 - { "<M-3>", "<Cmd>BufferGoto 3<CR>", desc = "Buffer goto 3" }, 1278 - { "<M-4>", "<Cmd>BufferGoto 4<CR>", desc = "Buffer goto 4" }, 1279 - { "<M-5>", "<Cmd>BufferGoto 5<CR>", desc = "Buffer goto 5" }, 1280 - { "<M-6>", "<Cmd>BufferGoto 6<CR>", desc = "Buffer goto 6" }, 1281 - { "<M-7>", "<Cmd>BufferGoto 7<CR>", desc = "Buffer goto 7" }, 1282 - { "<M-8>", "<Cmd>BufferGoto 8<CR>", desc = "Buffer goto 8" }, 1283 - { "<M-9>", "<Cmd>BufferGoto 9<CR>", desc = "Buffer goto 9" }, 1284 - { "<M-0>", "<Cmd>BufferLast<CR>", desc = "Buffer goto last" }, 1285 - }, 1286 - config = function() 1287 - require("barbar").setup({ 1288 - auto_hide = 1, 1289 - focus_on_close = "previous", 1290 - no_name_title = "new", 1291 - }) 1292 - end, 1293 - }, 1294 - 1295 - { 1296 - "tzachar/highlight-undo.nvim", 1297 - init = function() 1298 - local nord = require("nord.colors").palette 1299 - 1300 - vim.api.nvim_set_hl(0, "HighlightUndo", { 1301 - bg = nord.polar_night.brighter, 1302 - fg = nord.snow_storm.brightest, 1303 - }) 1304 - end, 1305 - config = true, 1306 - }, 1307 - 1308 - { 1309 - "dmmulroy/ts-error-translator.nvim", 1310 - enabled = false, 1311 - config = true, 1312 - }, 1313 - 1314 - { 1315 - "MeanderingProgrammer/render-markdown.nvim", 1316 - enabled = false, 1317 - dependencies = { 1318 - "nvim-treesitter/nvim-treesitter", 1319 - "nvim-tree/nvim-web-devicons", 1320 - }, -- if you prefer nvim-web-devicons 1321 - config = function() 1322 - require("render-markdown").setup({ 1323 - preset = "lazy", 1324 - overrides = { 1325 - buftype = { 1326 - nofile = { 1327 - code = { left_pad = 0, right_pad = 0 }, 1328 - }, 1329 - }, 1330 - }, 1331 - }) 1332 - end, 1333 - }, 1334 - 1335 - { 1336 - "nvimdev/indentmini.nvim", 1337 - init = function() 1338 - local nord = require("nord.colors").palette 1339 - 1340 - vim.cmd.highlight("IndentLine guifg=" .. nord.polar_night.brighter) 1341 - vim.cmd.highlight("IndentLineCurHide guifg=" .. nord.polar_night.brighter) 1342 - vim.cmd.highlight("IndentLineCurrent guifg=" .. nord.polar_night.light) 1343 - end, 1344 - config = function() 1345 - require("indentmini").setup({ 1346 - char = "▎", 1347 - exclude = { "gitcommit" }, 1348 - }) 1349 - end, 1350 - enabled = true, 1351 - }, 1352 - 1353 - { 1354 - "lukas-reineke/indent-blankline.nvim", 1355 - main = "ibl", 1356 - config = true, 1357 - enabled = false, 1358 - }, 1359 - 1360 - { 1361 - "sontungexpt/better-diagnostic-virtual-text", 1362 - event = "LspAttach", 1363 - config = function(_) 1364 - require("better-diagnostic-virtual-text").setup() 1365 - end, 1366 - }, 1367 - }
+38
nvim/.config/nvim/lua/plugins/barbar.lua
··· 1 + ---@diagnostic disable: missing-fields 2 + ---@type LazySpec 3 + return { 4 + "romgrk/barbar.nvim", 5 + lazy = false, 6 + dependencies = { 7 + "nvim-tree/nvim-web-devicons", 8 + }, 9 + init = function() 10 + vim.g.barbar_auto_setup = false 11 + end, 12 + keys = { 13 + { "<M-.>", "<Cmd>BufferNext<CR>", desc = "Buffer next" }, 14 + { "<M-,>", "<Cmd>BufferPrevious<CR>", desc = "Buffer previous" }, 15 + { "<M-d>", "<Cmd>BufferClose!<CR>", desc = "Buffer close" }, 16 + { "<M-s-d>", "<Cmd>BufferRestore<CR>", desc = "Buffer restore" }, 17 + { "<M-<>", "<Cmd>BufferMovePrevious<CR>", desc = "Buffer move previous" }, 18 + { "<M->>", "<Cmd>BufferMoveNext<CR>", desc = "Buffer move next" }, 19 + { "<M-p", "<Cmd>BufferPin<CR>", desc = "Buffer pin" }, 20 + { "<C-p>", "<Cmd>BufferPick<CR>", desc = "Buffer pick" }, 21 + { "<M-1>", "<Cmd>BufferGoto 1<CR>", desc = "Buffer goto 1" }, 22 + { "<M-2>", "<Cmd>BufferGoto 2<CR>", desc = "Buffer goto 2" }, 23 + { "<M-3>", "<Cmd>BufferGoto 3<CR>", desc = "Buffer goto 3" }, 24 + { "<M-4>", "<Cmd>BufferGoto 4<CR>", desc = "Buffer goto 4" }, 25 + { "<M-5>", "<Cmd>BufferGoto 5<CR>", desc = "Buffer goto 5" }, 26 + { "<M-6>", "<Cmd>BufferGoto 6<CR>", desc = "Buffer goto 6" }, 27 + { "<M-7>", "<Cmd>BufferGoto 7<CR>", desc = "Buffer goto 7" }, 28 + { "<M-8>", "<Cmd>BufferGoto 8<CR>", desc = "Buffer goto 8" }, 29 + { "<M-9>", "<Cmd>BufferGoto 9<CR>", desc = "Buffer goto 9" }, 30 + { "<M-0>", "<Cmd>BufferLast<CR>", desc = "Buffer goto last" }, 31 + }, 32 + ---@type barbar.config.options 33 + opts = { 34 + auto_hide = 1, 35 + focus_on_close = "previous", 36 + no_name_title = "new", 37 + }, 38 + }
+138
nvim/.config/nvim/lua/plugins/blink.lua
··· 1 + ---@type LazySpec 2 + return { 3 + "saghen/blink.cmp", 4 + -- version = "*", 5 + event = { "InsertEnter", "CmdlineEnter" }, 6 + build = "cargo build --release", 7 + dependencies = { 8 + "L3MON4D3/LuaSnip", 9 + dependencies = { "kmarius/jsregexp" }, 10 + config = function() 11 + require("luasnip.loaders.from_vscode").lazy_load() 12 + end, 13 + }, 14 + ---@type blink.cmp.Config 15 + opts = { 16 + -- 'default' (recommended) for mappings similar to built-in completions (C-y to accept) 17 + -- 'super-tab' for mappings similar to vscode (tab to accept) 18 + -- 'enter' for enter to accept 19 + -- 'none' for no mappings 20 + -- 21 + -- All presets have the following mappings: 22 + -- C-Space: Open menu or open docs if already open 23 + -- C-n/C-p or Up/Down: Select next/previous item 24 + -- C-e: Hide menu 25 + -- C-k: Toggle signature help (if signature.enabled = true) 26 + -- 27 + -- See :h blink-cmp-config-keymap for defining your own keymap 28 + keymap = { 29 + preset = "none", 30 + ["<C-Space>"] = { "show", "show_documentation", "hide_documentation" }, 31 + ["<C-e>"] = { "hide", "fallback" }, 32 + ["<C-y>"] = { "select_and_accept", "fallback" }, 33 + 34 + ["<Up>"] = { "select_prev", "fallback" }, 35 + ["<Down>"] = { "select_next", "fallback" }, 36 + ["<C-p>"] = { "select_prev", "fallback_to_mappings" }, 37 + ["<C-n>"] = { "select_next", "fallback_to_mappings" }, 38 + 39 + ["<C-d>"] = { "scroll_documentation_up", "fallback" }, 40 + ["<C-u>"] = { "scroll_documentation_down", "fallback" }, 41 + 42 + ["<Tab>"] = { "snippet_forward", "fallback" }, 43 + ["<S-Tab>"] = { "snippet_backward", "fallback" }, 44 + 45 + ["<C-k>"] = { "show_signature", "hide_signature", "fallback" }, 46 + }, 47 + 48 + ---@diagnostic disable-next-line: missing-fields 49 + sources = { 50 + default = { "lsp", "path", "snippets" }, 51 + }, 52 + 53 + ---@diagnostic disable-next-line: missing-fields 54 + appearance = {}, 55 + 56 + -- (Default) Rust fuzzy matcher for typo resistance and significantly better performance 57 + -- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation, 58 + -- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"` 59 + -- 60 + -- See the fuzzy documentation for more information 61 + ---@diagnostic disable-next-line: missing-fields 62 + fuzzy = { 63 + implementation = "prefer_rust_with_warning", 64 + }, 65 + 66 + ---@diagnostic disable-next-line: missing-fields 67 + snippets = { 68 + preset = "luasnip", 69 + expand = function(snippet) 70 + require("luasnip").lsp_expand(snippet) 71 + end, 72 + }, 73 + 74 + signature = { 75 + enabled = false, 76 + }, 77 + 78 + completion = { 79 + ---@diagnostic disable-next-line: missing-fields 80 + list = { 81 + selection = { 82 + preselect = false, 83 + auto_insert = false, 84 + }, 85 + }, 86 + ---@diagnostic disable-next-line: missing-fields 87 + documentation = { 88 + auto_show = true, 89 + auto_show_delay_ms = 0, 90 + ---@diagnostic disable-next-line: missing-fields 91 + window = { 92 + border = "bold", 93 + }, 94 + }, 95 + ---@diagnostic disable-next-line: missing-fields 96 + menu = { 97 + border = "none", 98 + draw = { 99 + padding = 0, 100 + gap = 1, 101 + components = { 102 + kind_icon = { 103 + text = function(ctx) 104 + local icon = ctx.kind_icon 105 + if vim.tbl_contains({ "Path" }, ctx.source_name) then 106 + local dev_icon, _ = require("nvim-web-devicons").get_icon(ctx.label) 107 + if dev_icon then 108 + icon = dev_icon 109 + end 110 + elseif ctx.kind == "Color" then 111 + icon = "██" 112 + else 113 + icon = require("lspkind").symbol_map[ctx.kind] or "" 114 + end 115 + 116 + return icon .. ctx.icon_gap 117 + end, 118 + 119 + -- Optionally, use the highlight groups from nvim-web-devicons 120 + -- You can also add the same function for `kind.highlight` if you want to 121 + -- keep the highlight groups in sync with the icons. 122 + highlight = function(ctx) 123 + local hl = ctx.kind_hl 124 + if vim.tbl_contains({ "Path" }, ctx.source_name) then 125 + local dev_icon, dev_hl = require("nvim-web-devicons").get_icon(ctx.label) 126 + if dev_icon then 127 + hl = dev_hl 128 + end 129 + end 130 + return hl 131 + end, 132 + }, 133 + }, 134 + }, 135 + }, 136 + }, 137 + }, 138 + }
+23
nvim/.config/nvim/lua/plugins/colorscheme.lua
··· 1 + ---@type LazySpec 2 + return { 3 + "gbprod/nord.nvim", 4 + lazy = false, 5 + priority = 1000, 6 + config = function() 7 + require("nord").setup({ 8 + diff = { 9 + mode = "fg", 10 + }, 11 + errors = { 12 + mode = "none", -- doesn't seem to do anything? 13 + }, 14 + on_highlights = function(hi, c) 15 + -- hi.DiffAdd = vim.tbl_extend("force", hi.DiffAdd, { bg = "" }) 16 + -- hi.DiffDelete = vim.tbl_extend("force", hi.DiffDelete, { bg = "" }) 17 + -- hi.DiffChange = vim.tbl_extend("force", hi.DiffChange, { bg = "" }) 18 + -- hi.DiffText = vim.tbl_extend("force", hi.DiffText, { bg = "" }) 19 + end, 20 + }) 21 + vim.cmd.colorscheme("nord") 22 + end, 23 + }
+91
nvim/.config/nvim/lua/plugins/formatting.lua
··· 1 + ---@type LazySpec 2 + return { 3 + "stevearc/conform.nvim", 4 + event = { "BufWritePre" }, 5 + cmd = { "ConformInfo", "Format", "FormatDisable", "FormatEnable", "FormatToggle" }, 6 + init = function() 7 + vim.o.formatexpr = "v:lua.require'conform'.formatexpr()" 8 + 9 + vim.api.nvim_create_user_command("Format", function(args) 10 + local range = nil 11 + 12 + if args.count ~= -1 then 13 + local end_line = assert(vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1]) 14 + 15 + range = { 16 + start = { args.line1, 0 }, 17 + ["end"] = { args.line2, end_line:len() }, 18 + } 19 + end 20 + 21 + require("conform").format({ async = true, lsp_format = "fallback", range = range }) 22 + end, {}) 23 + 24 + vim.api.nvim_create_user_command("FormatDisable", function(args) 25 + if args.bang then 26 + vim.b.disable_autoformat = true 27 + else 28 + vim.g.disable_autoformat = true 29 + end 30 + end, { 31 + bang = true, 32 + desc = "Disable autoformat on save (bang to disable for current buffer only)", 33 + }) 34 + 35 + vim.api.nvim_create_user_command("FormatEnable", function() 36 + vim.b.disable_autoformat = false 37 + vim.g.disable_autoformat = false 38 + end, { 39 + desc = "Re-enable autoformat on save", 40 + }) 41 + 42 + vim.api.nvim_create_user_command("FormatToggle", function() 43 + if vim.g.disable_autoformat then 44 + vim.g.disable_autoformat = false 45 + else 46 + vim.g.disable_autoformat = true 47 + end 48 + end, { 49 + desc = "Toggle autoformat on save", 50 + }) 51 + end, 52 + opts = { 53 + formatters_by_ft = { 54 + lua = { "stylua" }, 55 + yaml = { "yamlfmt" }, 56 + javascript = { "oxfmt", "prettier" }, 57 + javascriptreact = { "oxfmt", "prettier" }, 58 + typescript = { "oxfmt", "prettier" }, 59 + typescriptreact = { "oxfmt", "prettier" }, 60 + html = { "oxfmt", "prettier" }, 61 + css = { "oxfmt", "prettier" }, 62 + graphql = { "oxfmt", "prettier" }, 63 + sh = { "shfmt" }, 64 + fish = { "fish_indent" }, 65 + go = { "gofmt" }, 66 + json = { "oxfmt", "prettier" }, 67 + jsonc = { "oxfmt", "prettier" }, 68 + xml = { "xmllint" }, 69 + -- systemd = {"systemdlinter"} -- TODO: setup 70 + ["*"] = { "trim_newlines", "trim_whitespace" }, 71 + }, 72 + log_level = vim.log.levels.DEBUG, 73 + default_format_opts = { 74 + stop_after_first = true, 75 + timeout_ms = 2000, 76 + }, 77 + -- format_on_save = function(bufnr) 78 + format_after_save = function(bufnr) 79 + if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then 80 + return 81 + end 82 + 83 + -- local bufname = vim.api.nvim_buf_get_name(bufnr) 84 + -- if bufname:match("/node_modules/") then 85 + -- return 86 + -- end 87 + 88 + return { lsp_format = "fallback" } 89 + end, 90 + }, 91 + }
+7
nvim/.config/nvim/lua/plugins/init.lua
··· 1 + require("config.options") 2 + 3 + return { 4 + { 5 + "folke/lazy.nvim", 6 + }, 7 + }
+649
nvim/.config/nvim/lua/plugins/lsp.lua
··· 1 + ---@type LazySpec 2 + return { 3 + { 4 + "yioneko/nvim-vtsls", 5 + enabled = true, 6 + }, 7 + 8 + { 9 + "brw/tsc.nvim", 10 + enabled = false, -- enable once tsgo watch mode performance improves 11 + opts = { 12 + bin_name = "tsgo", 13 + auto_start_watch_mode = true, 14 + use_diagnostics = true, 15 + auto_open_qflist = false, 16 + enable_progress_notifications = false, 17 + enable_error_notifications = false, 18 + flags = { 19 + watch = true, 20 + }, 21 + }, 22 + }, 23 + 24 + -- { 25 + -- "folke/lazydev.nvim", 26 + -- ft = "lua", 27 + -- enabled = false, 28 + -- config = function() 29 + -- require("lazydev").setup({ 30 + -- ---@type lazydev.Library.spec[] 31 + -- library = { 32 + -- { path = "luvit-types/library" }, 33 + -- -- { path = "neoconf.nvim/types/lua" }, 34 + -- -- { path = "neoconf.nvim/types/lsp.lua" }, 35 + -- }, 36 + -- }) 37 + -- end, 38 + -- }, 39 + 40 + { 41 + "mrjones2014/codesettings.nvim", 42 + opts = {}, 43 + lazy = true, 44 + -- ft = { "json", "jsonc", "lua" }, 45 + -- ---@type CodesettingsOverridableConfig 46 + -- ---@diagnostic disable-next-line: missing-fields 47 + -- opts = { 48 + -- lua_ls_integration = true, 49 + -- }, 50 + }, 51 + 52 + { 53 + "Bilal2453/luvit-meta", 54 + ft = "lua", 55 + }, 56 + 57 + { 58 + "neovim/nvim-lspconfig", 59 + dependencies = { 60 + "onsails/lspkind.nvim", 61 + "b0o/schemastore.nvim", 62 + -- "folke/neoconf.nvim", 63 + { 64 + "artemave/workspace-diagnostics.nvim", 65 + }, 66 + }, 67 + config = function() 68 + -- -- add tmux lsp 69 + -- vim.api.nvim_create_autocmd("FileType", { 70 + -- pattern = "tmux", 71 + -- callback = function() 72 + -- vim.lsp.start({ 73 + -- name = "tmux", 74 + -- cmd = { "tmux-language-server" }, 75 + -- }) 76 + -- end, 77 + -- }) 78 + 79 + -- -- old lsp-zero on_attach stuff 80 + -- local on_attach = function(client, bufnr) 81 + -- lsp_zero.highlight_symbol(client, bufnr) 82 + -- 83 + -- -- :h lsp-zero-keybindings 84 + -- lsp_zero.default_keymaps({ 85 + -- buffer = bufnr, 86 + -- preserve_mappings = false, 87 + -- exclude = { "gs" }, 88 + -- }) 89 + -- 90 + -- vim.keymap.set("n", "gl", function() 91 + -- vim.diagnostic.open_float() 92 + -- end, { desc = "Show diagnostics", silent = true, buffer = bufnr }) 93 + -- 94 + -- vim.keymap.set( 95 + -- "n", 96 + -- "<M-i>", 97 + -- "<cmd>LspToggleInlayHints<cr>", 98 + -- { desc = "Toggle inlay hints", silent = true, buffer = bufnr } 99 + -- ) 100 + -- 101 + -- vim.keymap.set( 102 + -- "n", 103 + -- "gk", 104 + -- "<cmd>lua vim.lsp.buf.signature_help()<cr>", 105 + -- { desc = "Show function signature", silent = true, buffer = bufnr } 106 + -- ) 107 + -- end 108 + 109 + -- lsp_zero.extend_lspconfig({ 110 + -- capabilities = require("blink.cmp").get_lsp_capabilities(), 111 + -- -- capabilities = require("cmp_nvim_lsp").default_capabilities(), 112 + -- lsp_attach = on_attach, 113 + -- sign_text = true, 114 + -- float_border = "rounded", 115 + -- }) 116 + 117 + -- local orig_util_open_floating_preview = vim.lsp.util.open_floating_preview 118 + -- 119 + -- ---@diagnostic disable-next-line: duplicate-set-field 120 + -- function vim.lsp.util.open_floating_preview(contents, syntax, opts, ...) 121 + -- local bufnr, winnr = orig_util_open_floating_preview(contents, syntax, opts, ...) 122 + -- -- vim.api.nvim_set_option_value("signcolumn", "no", { win = winnr }) 123 + -- vim.api.nvim_set_option_value("filetype", "markdown", { buf = bufnr }) 124 + -- return bufnr, winnr 125 + -- end 126 + 127 + -- -- pretty-ts-errors 128 + -- handlers = { 129 + -- ---@diagnostic disable: redundant-parameter 130 + -- ---@param err lsp.ResponseError? 131 + -- ---@param result lsp.PublishDiagnosticsParams 132 + -- ---@param ctx lsp.HandlerContext 133 + -- ---@param config? vim.diagnostic.Opts Configuration table (see |vim.diagnostic.config()|). 134 + -- ["textDocument/publishDiagnostics"] = function(err, result, ctx, config) 135 + -- if not result.diagnostics then 136 + -- return 137 + -- end 138 + -- 139 + -- for _, diagnostic in ipairs(result.diagnostics) do 140 + -- local json = vim.fn.json_encode({ 141 + -- range = diagnostic.range, 142 + -- message = diagnostic.message, 143 + -- code = diagnostic.code, 144 + -- severity = diagnostic.severity, 145 + -- source = diagnostic.source, 146 + -- }) 147 + -- local proc = vim.system( 148 + -- { "pretty-ts-errors-markdown" }, 149 + -- { text = true, stdin = true }, 150 + -- function(obj) 151 + -- diagnostic.message = obj.stdout 152 + -- vim.lsp.diagnostic.on_publish_diagnostics(err, result, ctx, config) 153 + -- end 154 + -- ) 155 + -- proc:write(json) 156 + -- proc:write(nil) 157 + -- end 158 + -- end, 159 + -- }, 160 + 161 + vim.diagnostic.config({ 162 + update_in_insert = false, 163 + severity_sort = true, 164 + signs = { 165 + text = { 166 + -- [vim.diagnostic.severity.HINT] = "", 167 + [vim.diagnostic.severity.HINT] = "", 168 + [vim.diagnostic.severity.INFO] = "", 169 + [vim.diagnostic.severity.WARN] = "", 170 + [vim.diagnostic.severity.ERROR] = "󰅙", 171 + }, 172 + }, 173 + underline = { 174 + severity = { 175 + vim.diagnostic.severity.ERROR, 176 + vim.diagnostic.severity.WARN, 177 + vim.diagnostic.severity.INFO, 178 + vim.diagnostic.severity.HINT, 179 + }, 180 + }, 181 + -- virtual_text = { 182 + -- virt_text_hide = true, 183 + -- severity = { 184 + -- vim.diagnostic.severity.ERROR, 185 + -- vim.diagnostic.severity.WARN, 186 + -- }, 187 + -- }, 188 + virtual_text = false, 189 + float = { 190 + source = true, 191 + }, 192 + }) 193 + 194 + local lsp_group = vim.api.nvim_create_augroup("bas.lsp", {}) 195 + 196 + vim.api.nvim_create_autocmd("LspAttach", { 197 + group = lsp_group, 198 + desc = "Register LSP keymaps and commands", 199 + callback = function(event) 200 + local client = assert(vim.lsp.get_client_by_id(event.data.client_id)) 201 + 202 + if not client then 203 + return 204 + end 205 + 206 + vim.keymap.set("n", "gl", vim.diagnostic.open_float, { 207 + desc = "Show diagnostics under the cursor", 208 + silent = true, 209 + buffer = event.buf, 210 + }) 211 + 212 + vim.keymap.set("n", "gd", vim.lsp.buf.definition, { 213 + desc = "Go to definition", 214 + silent = true, 215 + buffer = event.buf, 216 + }) 217 + 218 + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { 219 + desc = "Go to declaration", 220 + silent = true, 221 + buffer = event.buf, 222 + }) 223 + 224 + vim.keymap.set("n", "<F2>", vim.lsp.buf.rename, { 225 + desc = "Renames all references to the symbol under the cursor", 226 + silent = true, 227 + buffer = event.buf, 228 + }) 229 + 230 + vim.keymap.set("n", "<F4>", vim.lsp.buf.code_action, { 231 + desc = "Select a code action at cursor position", 232 + silent = true, 233 + buffer = event.buf, 234 + }) 235 + 236 + vim.api.nvim_buf_create_user_command(event.buf, "LspToggleInlayHints", function() 237 + vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({ bufnr = event.buf }), { bufnr = event.buf }) 238 + end, { 239 + desc = "Toggle inlay hints", 240 + }) 241 + 242 + if client.name == "vtsls" then 243 + vim.keymap.set("n", "gs", "<cmd>VtsExec goto_source_definition<cr>", { 244 + desc = "Go to source definition", 245 + silent = true, 246 + buffer = event.buf, 247 + }) 248 + 249 + vim.api.nvim_buf_create_user_command(event.buf, "OrganizeImports", function() 250 + vim.lsp.buf.code_action({ 251 + context = { 252 + only = { 253 + "source.organizeImports", 254 + }, 255 + }, 256 + apply = true, 257 + }) 258 + end, { 259 + desc = "Organize imports using vtsls", 260 + }) 261 + elseif client.name == "jsonls" then 262 + -- local orig_handler = vim.lsp.handlers["textDocument/publishDiagnostics"] 263 + -- 264 + -- vim.lsp.handlers["textDocument/publishDiagnostics"] = function(err, result, ctx, config) 265 + -- if result and result.uri:match("%.jsonc$") and result.diagnostics then 266 + -- -- Iterate backward so table.remove is safe 267 + -- for i = #result.diagnostics, 1, -1 do 268 + -- if result.diagnostics[i].code == 519 then 269 + -- table.remove(result.diagnostics, i) 270 + -- end 271 + -- end 272 + -- end 273 + -- -- Pass the filtered diagnostics back to Neovim 274 + -- orig_handler(err, result, ctx, config) 275 + -- end 276 + end 277 + end, 278 + }) 279 + 280 + local serversWithoutWorkspaceDiagnostics = { "oxlint", "tsgo" } 281 + 282 + vim.api.nvim_create_autocmd("LspAttach", { 283 + group = lsp_group, 284 + desc = "Populate workspace diagnostics", 285 + callback = function(event) 286 + local client = vim.lsp.get_client_by_id(event.data.client_id) 287 + 288 + if not client then 289 + return 290 + end 291 + 292 + if vim.list_contains(serversWithoutWorkspaceDiagnostics, client.name) then 293 + -- vim.notify("called workspace diagnostics for " .. client.id) 294 + -- client.notify is deprecated 295 + vim.deprecate = function() end 296 + require("workspace-diagnostics").populate_workspace_diagnostics(client, event.buf) 297 + else 298 + vim.lsp.buf.workspace_diagnostics({ client_id = client.id }) 299 + end 300 + end, 301 + }) 302 + 303 + local installedPacks = require("mason-registry").get_installed_packages() 304 + local lspConfigNames = vim.iter(installedPacks):fold({}, function(acc, pack) 305 + table.insert(acc, pack.spec.neovim and pack.spec.neovim.lspconfig) 306 + return acc 307 + end) 308 + vim.lsp.enable(lspConfigNames) 309 + vim.lsp.enable("oxlint") 310 + end, 311 + }, 312 + 313 + { 314 + "Myzel394/config-lsp.nvim", 315 + event = "VeryLazy", 316 + opts = { 317 + inject_lsp = true, 318 + add_filetypes = true, 319 + }, 320 + }, 321 + 322 + { 323 + "nvimtools/none-ls.nvim", 324 + dependencies = { 325 + "nvimtools/none-ls-extras.nvim", 326 + }, 327 + config = function() 328 + require("null-ls").setup({ 329 + sources = { 330 + require("null-ls.builtins.code_actions.gitrebase"), 331 + require("null-ls.builtins.code_actions.gitsigns"), 332 + }, 333 + }) 334 + end, 335 + }, 336 + 337 + { 338 + "altermo/ultimate-autopair.nvim", 339 + enabled = true, 340 + event = { "InsertEnter", "CmdlineEnter" }, 341 + config = function() 342 + require("ultimate-autopair").setup({ 343 + fastwarp = { 344 + faster = true, 345 + }, 346 + }) 347 + end, 348 + }, 349 + 350 + { 351 + "windwp/nvim-ts-autotag", 352 + enabled = true, 353 + config = function() 354 + require("nvim-ts-autotag").setup({ 355 + opts = { 356 + enable_close_on_slash = true, 357 + }, 358 + }) 359 + end, 360 + }, 361 + 362 + { 363 + "saghen/blink.pairs", 364 + version = "*", 365 + enabled = false, 366 + dependencies = { "saghen/blink.download" }, 367 + ---@diagnostic disable-next-line: type-not-found 368 + ---@type blink.pairs.Config 369 + ---@diagnostic disable-next-line: missing-fields 370 + opts = { 371 + ---@diagnostic disable-next-line: missing-fields 372 + mappings = { 373 + cmdline = false, 374 + }, 375 + ---@diagnostic disable-next-line: missing-fields 376 + highlights = { 377 + enabled = false, 378 + }, 379 + }, 380 + }, 381 + 382 + { 383 + "windwp/nvim-autopairs", 384 + enabled = false, 385 + event = "InsertEnter", 386 + config = function() 387 + require("nvim-autopairs").setup({ 388 + fast_wrap = {}, 389 + }) 390 + end, 391 + }, 392 + 393 + { 394 + "tronikelis/ts-autotag.nvim", 395 + enabled = false, 396 + config = function() 397 + require("ts-autotag").setup({ 398 + auto_rename = { 399 + enabled = true, 400 + }, 401 + }) 402 + end, 403 + }, 404 + 405 + { 406 + "wansmer/treesj", 407 + keys = { 408 + { 409 + "<leader>s", 410 + function() 411 + require("treesj").toggle({ split = { recursive = true } }) 412 + end, 413 + desc = "Toggle node (split/join)", 414 + }, 415 + }, 416 + ---@class TreeSJ.Settings 417 + ---@field use_default_keymaps boolean Use default keymaps (<space>m - toggle, <space>j - join, <space>s - split) 418 + ---@field check_syntax_error boolean Node with syntax error will not be formatted 419 + ---@field max_join_length number If line after join will be longer than max value, node will not be formatted 420 + ---Cursor behavior: 421 + ---hold - cursor follows the node/place on which it was called 422 + ---start - cursor jumps to the first symbol of the node being formatted 423 + ---end - cursor jumps to the last symbol of the node being formatted 424 + ---@field cursor_behavior 'hold'|'start'|'end' 425 + ---@field notify boolean Notify about possible problems or not 426 + ---@field langs table Presets for languages 427 + ---@field dot_repeat boolean Use `dot` for repeat action 428 + ---@field on_error nil|function Callback for treesj error handler. func (err_text, level, ...) 429 + opts = { 430 + use_default_keymaps = false, 431 + -- max_join_length = 600, 432 + }, 433 + }, 434 + 435 + { 436 + "antosha417/nvim-lsp-file-operations", 437 + requires = { 438 + "nvim-neo-tree/neo-tree.nvim", 439 + }, 440 + config = true, 441 + }, 442 + 443 + { 444 + "luckasRanarison/tailwind-tools.nvim", 445 + enabled = false, 446 + config = true, 447 + }, 448 + 449 + { 450 + "chrisgrieser/nvim-rulebook", 451 + config = true, 452 + }, 453 + 454 + { 455 + "rachartier/tiny-inline-diagnostic.nvim", 456 + opts = { 457 + preset = "modern", 458 + options = { 459 + -- Display the source of diagnostics (e.g., "lua_ls", "pyright") 460 + show_source = { 461 + enabled = true, -- Enable showing source names 462 + if_many = true, -- Only show source if multiple sources exist for the same diagnostic 463 + }, 464 + 465 + -- Use icons from vim.diagnostic.config instead of preset icons 466 + use_icons_from_diagnostic = false, 467 + 468 + -- Color the arrow to match the severity of the first diagnostic 469 + set_arrow_to_diag_color = true, 470 + 471 + -- Throttle update frequency in milliseconds to improve performance 472 + -- Higher values reduce CPU usage but may feel less responsive 473 + -- Set to 0 for immediate updates (may cause lag on slow systems) 474 + throttle = 20, 475 + 476 + -- Minimum number of characters before wrapping long messages 477 + softwrap = 30, 478 + 479 + -- Control how diagnostic messages are displayed 480 + -- NOTE: When using display_count = true, you need to enable multiline diagnostics with multilines.enabled = true 481 + -- If you want them to always be displayed, you can also set multilines.always_show = true. 482 + add_messages = { 483 + messages = true, -- Show full diagnostic messages 484 + display_count = true, -- Show diagnostic count instead of messages when cursor not on line 485 + use_max_severity = true, -- When counting, only show the most severe diagnostic 486 + show_multiple_glyphs = true, -- Show multiple icons for multiple diagnostics of same severity 487 + }, 488 + 489 + -- Settings for multiline diagnostics 490 + multilines = { 491 + enabled = true, -- Enable support for multiline diagnostic messages 492 + always_show = true, -- Always show messages on all lines of multiline diagnostics 493 + trim_whitespaces = false, -- Remove leading/trailing whitespace from each line 494 + tabstop = 4, -- Number of spaces per tab when expanding tabs 495 + severity = { 496 + vim.diagnostic.severity.ERROR, 497 + vim.diagnostic.severity.WARN, 498 + vim.diagnostic.severity.INFO, 499 + }, -- Filter multiline diagnostics by severity (e.g., { vim.diagnostic.severity.ERROR }) 500 + }, 501 + 502 + -- Show all diagnostics on the current cursor line, not just those under the cursor 503 + show_all_diags_on_cursorline = true, 504 + 505 + -- Only show diagnostics when the cursor is directly over them, no fallback to line diagnostics 506 + show_diags_only_under_cursor = false, 507 + 508 + -- Display related diagnostics from LSP relatedInformation 509 + show_related = { 510 + enabled = true, -- Enable displaying related diagnostics 511 + max_count = 3, -- Maximum number of related diagnostics to show per diagnostic 512 + }, 513 + 514 + -- Enable diagnostics display in insert mode 515 + -- May cause visual artifacts; consider setting throttle to 0 if enabled 516 + enable_on_insert = false, 517 + 518 + -- Enable diagnostics display in select mode (e.g., during auto-completion) 519 + enable_on_select = false, 520 + 521 + -- Handle messages that exceed the window width 522 + overflow = { 523 + mode = "wrap", -- "wrap": split into lines, "none": no truncation, "oneline": keep single line 524 + padding = 0, -- Extra characters to trigger wrapping earlier 525 + }, 526 + 527 + -- Break long messages into separate lines 528 + break_line = { 529 + enabled = false, -- Enable automatic line breaking 530 + after = 30, -- Number of characters before inserting a line break 531 + }, 532 + 533 + -- Custom function to format diagnostic messages 534 + -- Receives diagnostic object, returns formatted string 535 + -- Example: function(diag) return diag.message .. " [" .. diag.source .. "]" end 536 + format = nil, 537 + 538 + -- Virtual text display priority 539 + -- Higher values appear above other plugins (e.g., GitBlame) 540 + virt_texts = { 541 + priority = 2048, 542 + }, 543 + 544 + -- Filter diagnostics by severity levels 545 + -- Remove severities you don't want to display 546 + severity = { 547 + vim.diagnostic.severity.ERROR, 548 + vim.diagnostic.severity.WARN, 549 + vim.diagnostic.severity.INFO, 550 + }, 551 + 552 + -- Events that trigger attaching diagnostics to buffers 553 + -- Default is {"LspAttach"}; change only if plugin doesn't work with your LSP setup 554 + overwrite_events = nil, 555 + 556 + -- Automatically disable diagnostics when opening diagnostic float windows 557 + override_open_float = true, -- doesn't seem to work? 558 + }, 559 + }, 560 + }, 561 + 562 + { 563 + "dmmulroy/ts-error-translator.nvim", 564 + enabled = false, 565 + config = true, 566 + }, 567 + 568 + { 569 + "MeanderingProgrammer/render-markdown.nvim", 570 + enabled = false, 571 + config = function() 572 + require("render-markdown").setup({ 573 + preset = "lazy", 574 + overrides = { 575 + buftype = { 576 + nofile = { 577 + code = { left_pad = 0, right_pad = 0 }, 578 + }, 579 + }, 580 + }, 581 + }) 582 + end, 583 + }, 584 + 585 + { 586 + "OXY2DEV/markview.nvim", 587 + enabled = false, 588 + ---@type markview.config 589 + opts = { 590 + preview = { 591 + icon_provider = "devicons", 592 + }, 593 + }, 594 + }, 595 + 596 + { 597 + "nvimdev/indentmini.nvim", 598 + enabled = false, 599 + init = function() 600 + local nord = require("nord.colors").palette 601 + 602 + vim.cmd.highlight("IndentLine guifg=" .. nord.polar_night.brighter) 603 + vim.cmd.highlight("IndentLineCurHide guifg=" .. nord.polar_night.brighter) 604 + vim.cmd.highlight("IndentLineCurrent guifg=" .. nord.polar_night.light) 605 + end, 606 + config = function() 607 + require("indentmini").setup({ 608 + char = "▎", 609 + exclude = { "gitcommit" }, 610 + }) 611 + end, 612 + }, 613 + 614 + { 615 + "lukas-reineke/indent-blankline.nvim", 616 + enabled = false, 617 + main = "ibl", 618 + config = true, 619 + }, 620 + 621 + { 622 + "sontungexpt/better-diagnostic-virtual-text", 623 + enabled = false, 624 + event = "LspAttach", 625 + config = function(_) 626 + require("better-diagnostic-virtual-text").setup() 627 + end, 628 + }, 629 + 630 + { 631 + "ThePrimeagen/refactoring.nvim", 632 + lazy = false, 633 + opts = {}, 634 + }, 635 + 636 + { 637 + "wasabeef/bufferin.nvim", 638 + opts = { 639 + show_window_layout = true, 640 + }, 641 + }, 642 + 643 + { 644 + "marilari88/twoslash-queries.nvim", 645 + opts = { 646 + multi_line = true, 647 + }, 648 + }, 649 + }
+70
nvim/.config/nvim/lua/plugins/mason.lua
··· 1 + ---@type LazySpec 2 + return { 3 + { 4 + "mason-org/mason.nvim", 5 + opts = {}, 6 + }, 7 + 8 + { 9 + "mason-org/mason-lspconfig.nvim", 10 + }, 11 + 12 + { 13 + "jay-babu/mason-nvim-dap.nvim", 14 + opts = { 15 + handlers = { 16 + function(config) 17 + require("mason-nvim-dap").default_setup(config) 18 + end, 19 + }, 20 + }, 21 + }, 22 + 23 + { 24 + "WhoIsSethDaniel/mason-tool-installer.nvim", 25 + opts = { 26 + ensure_installed = { 27 + -- lsp/linters 28 + "emmylua_ls", 29 + "clangd", 30 + "jsonls", 31 + "yamlls", 32 + "bashls", 33 + "ruff", 34 + "tailwindcss", 35 + "terraformls", 36 + "vtsls", 37 + -- "tsgo", 38 + -- "oxlint", 39 + "css-lsp", 40 + "html-lsp", 41 + "gopls", 42 + "tombi", 43 + "gh-actions-language-server", 44 + "jdtls", 45 + "rust-analyzer", 46 + "jsonnet-language-server", 47 + "lemminx", 48 + "stylua", 49 + "systemd-lsp", 50 + "shellcheck", 51 + "actionlint", 52 + "systemdlint", 53 + "tflint", 54 + "fish-lsp", 55 + "svelte-language-server", 56 + 57 + -- formatters 58 + "stylua", 59 + "yamlfmt", 60 + "prettier", 61 + "shfmt", 62 + 63 + -- debuggers 64 + "js-debug-adapter", 65 + }, 66 + auto_update = true, 67 + -- debounce_hours = 1, 68 + }, 69 + }, 70 + }
+61
nvim/.config/nvim/lua/plugins/nvim-cmp.lua
··· 1 + ---@diagnostic disable 2 + ---@type LazySpec 3 + return { 4 + -- "hrsh7th/nvim-cmp", 5 + "iguanacucumber/magazine.nvim", 6 + enabled = false, 7 + name = "nvim-cmp", 8 + event = "InsertEnter", 9 + dependencies = { 10 + -- "hrsh7th/cmp-nvim-lsp", 11 + -- "hrsh7th/cmp-path", 12 + { "iguanacucumber/mag-nvim-lsp", name = "cmp-nvim-lsp" }, 13 + { "https://codeberg.org/FelipeLema/cmp-async-path", name = "cmp-path" }, 14 + { "L3MON4D3/LuaSnip", build = "make install_jsregexp" }, 15 + }, 16 + config = function() 17 + local cmp = require("cmp") 18 + 19 + cmp.setup({ 20 + sources = { 21 + -- { name = "copilot" }, 22 + { 23 + name = "nvim_lsp", 24 + ---@param entry cmp.Entry 25 + entry_filter = function(entry) 26 + return entry:get_kind() ~= cmp.lsp.CompletionItemKind.Text 27 + end, 28 + }, 29 + { name = "lazydev", group_index = 0 }, 30 + { name = "path" }, 31 + }, 32 + snippet = { 33 + expand = function(args) 34 + require("luasnip").lsp_expand(args.body) 35 + end, 36 + }, 37 + mapping = cmp.mapping.preset.insert({ 38 + ["<C-Space>"] = cmp.mapping.complete(), 39 + }), 40 + formatting = { 41 + fields = { "abbr", "kind", "menu" }, 42 + format = function(entry, item) 43 + local color_item = require("nvim-highlight-colors").format(entry, { kind = item.kind }) 44 + item = require("lspkind").cmp_format({ 45 + -- before = require("tailwind-tools.cmp").lspkind_format, 46 + })(entry, item) 47 + if color_item.abbr_hl_group then 48 + item.kind_hl_group = color_item.abbr_hl_group 49 + item.kind = color_item.abbr 50 + end 51 + return item 52 + end, 53 + expandable_indicator = true, 54 + }, 55 + window = { 56 + completion = cmp.config.window.bordered(), 57 + documentation = cmp.config.window.bordered(), 58 + }, 59 + }) 60 + end, 61 + }
+24
nvim/.config/nvim/lua/plugins/package-info.lua
··· 1 + ---@type LazySpec 2 + return { 3 + "vuki656/package-info.nvim", 4 + enabled = false, 5 + dependencies = { 6 + "MunifTanjim/nui.nvim", 7 + }, 8 + config = function() 9 + local nord = require("nord.colors").palette 10 + 11 + require("package-info").setup({ 12 + colors = { 13 + up_to_date = nord.polar_night.origin, 14 + outdated = nord.aurora.orange, 15 + error = nord.aurora.error, 16 + }, 17 + }) 18 + 19 + -- https://github.com/vuki656/package-info.nvim/issues/155 20 + vim.api.nvim_set_hl(0, "PackageInfoUpToDate", { fg = nord.polar_night.origin }) 21 + vim.api.nvim_set_hl(0, "PackageInfoOutdated", { fg = nord.aurora.orange }) 22 + vim.api.nvim_set_hl(0, "PackageInfoError", { fg = nord.aurora.error }) 23 + end, 24 + }
+829
nvim/.config/nvim/lua/plugins/plugins.lua
··· 1 + ---@type LazySpec 2 + return { 3 + { 4 + "nvim-lua/plenary.nvim", 5 + }, 6 + 7 + { 8 + "folke/which-key.nvim", 9 + event = "VeryLazy", 10 + config = function() 11 + require("which-key").setup({ 12 + preset = "modern", 13 + }) 14 + end, 15 + }, 16 + 17 + { 18 + "nvim-lualine/lualine.nvim", 19 + dependencies = { 20 + "nvim-tree/nvim-web-devicons", 21 + "yavorski/lualine-macro-recording.nvim", 22 + }, 23 + config = function() 24 + local lualine = require("lualine") 25 + local startuptime_visible = true 26 + -- hide startup time after 3 seconds 27 + vim.defer_fn(function() 28 + startuptime_visible = false 29 + end, 3000) 30 + 31 + lualine.setup({ 32 + options = { 33 + theme = "nord", 34 + component_separators = "|", 35 + section_separators = { left = "", right = "" }, 36 + }, 37 + sections = { 38 + lualine_a = { 39 + { 40 + function() 41 + return " " 42 + end, 43 + padding_left = 1, 44 + color = "Normal", 45 + }, 46 + { "mode", separator = { left = "" } }, 47 + }, 48 + lualine_b = { 49 + { "filename" }, 50 + { "branch" }, 51 + { "diff" }, 52 + { "diagnostics" }, 53 + }, 54 + lualine_c = { 55 + "macro_recording", 56 + }, 57 + lualine_x = { 58 + { 59 + function() 60 + return math.floor(require("lazy").stats().startuptime) .. "ms" 61 + end, 62 + icon = "󱎫", 63 + cond = function() 64 + return startuptime_visible 65 + end, 66 + }, 67 + }, 68 + lualine_y = { 69 + { "filetype" }, 70 + { "fileformat", icons_enabled = false }, 71 + { "progress" }, 72 + }, 73 + lualine_z = { 74 + { "location", separator = { right = "" } }, 75 + { 76 + function() 77 + return " " 78 + end, 79 + padding_right = 1, 80 + color = "Normal", 81 + }, 82 + }, 83 + }, 84 + }) 85 + end, 86 + }, 87 + 88 + { 89 + "zbirenbaum/copilot.lua", 90 + enabled = false, 91 + config = function() 92 + require("copilot").setup({ 93 + filetypes = { 94 + gitcommit = true, 95 + markdown = true, 96 + yaml = true, 97 + }, 98 + panel = { 99 + enabled = false, 100 + }, 101 + suggestion = { 102 + auto_trigger = true, 103 + keymap = { 104 + accept = "<M-CR>", 105 + accept_word = "<M-.>", 106 + accept_line = "<M-.>", 107 + next = "<M-j>", 108 + prev = "<M-d>", 109 + dismiss = "<M-]>", 110 + }, 111 + }, 112 + }) 113 + end, 114 + }, 115 + 116 + { 117 + "supermaven-inc/supermaven-nvim", 118 + enabled = true, 119 + config = function() 120 + require("supermaven-nvim").setup({ 121 + keymaps = { 122 + accept_suggestion = "<M-CR>", 123 + accept_word = "<M-.>", 124 + clear_suggestion = "<M-]>", 125 + }, 126 + ignore_filetypes = { "grug-far" }, 127 + }) 128 + end, 129 + }, 130 + 131 + --TODO: configure 132 + { 133 + "folke/trouble.nvim", 134 + dependencies = { 135 + "nvim-tree/nvim-web-devicons", 136 + }, 137 + cmd = { "Trouble" }, 138 + keys = { 139 + { "<leader>t", "<Cmd>Trouble<CR>" }, 140 + }, 141 + config = true, 142 + }, 143 + 144 + { 145 + "nvim-neo-tree/neo-tree.nvim", 146 + event = { "BufEnter" }, 147 + branch = "v3.x", 148 + dependencies = { 149 + "nvim-tree/nvim-web-devicons", 150 + "muniftanjim/nui.nvim", 151 + }, 152 + keys = { 153 + { "<C-h>", "<cmd>Neotree toggle<CR>", desc = "Toggle Neotree" }, 154 + { "<leader>fh", "<cmd>Neotree reveal<CR>", desc = "Reveal file in Neotree" }, 155 + }, 156 + config = function() 157 + require("neo-tree").setup({ 158 + close_if_last_window = true, 159 + filesystem = { 160 + follow_current_file = { 161 + enabled = true, 162 + leave_dirs_open = true, 163 + }, 164 + filtered_items = { 165 + visible = true, 166 + never_show = { 167 + "..", 168 + "node_modules", 169 + }, 170 + }, 171 + find_command = "fd", 172 + find_args = { 173 + fd = { 174 + "--exclude", 175 + ".git", 176 + "--exclude", 177 + "node_modules", 178 + }, 179 + }, 180 + hijack_netrw_behavior = "disabled", 181 + use_libuv_file_watcher = true, 182 + }, 183 + event_handlers = { 184 + -- { 185 + -- event = "file_opened", 186 + -- handler = function() 187 + -- require("neo-tree.command").execute({ action = "close" }) 188 + -- end, 189 + -- }, 190 + }, 191 + window = { 192 + mappings = { 193 + ["P"] = { "toggle_preview", config = { use_float = false } }, 194 + }, 195 + }, 196 + renderers = { 197 + directory = { 198 + { "indent" }, 199 + { "icon" }, 200 + { "current_filter" }, 201 + { 202 + "container", 203 + content = { 204 + { "name", zindex = 10 }, 205 + { 206 + "symlink_target", 207 + zindex = 10, 208 + highlight = "NeoTreeSymbolicLinkTarget", 209 + }, 210 + { "clipboard", zindex = 10 }, 211 + { "diagnostics", errors_only = false, zindex = 20, align = "right", hide_when_expanded = true }, 212 + { "git_status", zindex = 10, align = "right", hide_when_expanded = true }, 213 + { "file_size", zindex = 10, align = "right" }, 214 + { "type", zindex = 10, align = "right" }, 215 + { "last_modified", zindex = 10, align = "right" }, 216 + { "created", zindex = 10, align = "right" }, 217 + }, 218 + }, 219 + }, 220 + }, 221 + }) 222 + end, 223 + }, 224 + 225 + { 226 + "echasnovski/mini.files", 227 + enabled = false, 228 + keys = { 229 + { "<C-h>", "<cmd>lua if not MiniFiles.close() then MiniFiles.open() end<CR>", desc = "Toggle MiniFiles" }, 230 + }, 231 + config = function() 232 + require("mini.files").setup({ 233 + mappings = { 234 + close = "<Esc>", 235 + }, 236 + }) 237 + end, 238 + }, 239 + 240 + { 241 + "stevearc/oil.nvim", 242 + event = "VeryLazy", 243 + config = function() 244 + require("oil").setup({ 245 + skip_confirm_for_simple_edits = true, 246 + prompt_save_on_select_new_entry = false, 247 + watch_for_changes = true, 248 + }) 249 + end, 250 + }, 251 + 252 + { 253 + "rcarriga/nvim-notify", 254 + enabled = false, 255 + config = function() 256 + require("notify").setup({ 257 + stages = "static", 258 + max_height = function() 259 + return math.floor(vim.o.lines * 0.75) 260 + end, 261 + max_width = function() 262 + return math.floor(vim.o.columns * 0.75) 263 + end, 264 + on_open = function(win) 265 + vim.api.nvim_win_set_config(win, { zindex = 100 }) 266 + vim.api.nvim_set_option_value("wrap", true, { scope = "local", win = win }) 267 + end, 268 + merge_duplicates = false, 269 + }) 270 + end, 271 + }, 272 + 273 + { 274 + "folke/noice.nvim", 275 + enabled = true, 276 + dependencies = { 277 + "muniftanjim/nui.nvim", 278 + "smjonas/inc-rename.nvim", 279 + }, 280 + ---@type NoiceConfig 281 + ---@diagnostic disable-next-line: missing-fields 282 + opts = { 283 + routes = { 284 + { 285 + view = "notify", 286 + filter = { 287 + event = "msg_show", 288 + kind = { "", "echo", "echomsg", "lua_print", "list_cmd" }, 289 + }, 290 + }, 291 + }, 292 + lsp = { 293 + override = { 294 + ["vim.lsp.util.convert_input_to_markdown_lines"] = true, 295 + ["vim.lsp.util.stylize_markdown"] = true, 296 + ["cmp.entry.get_documentation"] = true, 297 + }, 298 + progress = { 299 + enabled = false, 300 + }, 301 + hover = { 302 + silent = true, 303 + }, 304 + }, 305 + ---@diagnostic disable-next-line: missing-fields 306 + presets = { 307 + bottom_search = true, 308 + long_message_to_split = true, 309 + inc_rename = true, 310 + lsp_doc_border = true, 311 + }, 312 + popupmenu = { 313 + backend = "nui", -- cmp seems broken? 314 + }, 315 + }, 316 + }, 317 + 318 + { "stevearc/dressing.nvim" }, 319 + 320 + { 321 + -- "andweeb/presence.nvim", 322 + "jiriks74/presence.nvim", 323 + enabled = true, 324 + config = function() 325 + require("presence").setup({ 326 + show_time = true, 327 + neovim_image_text = "Neovim", 328 + -- log_level = "debug", 329 + }) 330 + end, 331 + }, 332 + 333 + { 334 + "stevearc/qf_helper.nvim", 335 + keys = { 336 + { "<C-n>", "<Cmd>QNext<CR>" }, 337 + { "<C-p>", "<Cmd>QPrev<CR>" }, 338 + { "<leader>q", "<Cmd>QFToggle!<CR>" }, 339 + { "<leader>l", "<Cmd>LLToggle!<CR>" }, 340 + }, 341 + config = true, 342 + }, 343 + 344 + { 345 + "yorickpeterse/nvim-pqf", 346 + config = true, 347 + }, 348 + 349 + { 350 + "mrcjkb/nvim-lastplace", 351 + }, 352 + 353 + { 354 + "kylechui/nvim-surround", 355 + ---@type user_options 356 + opts = { 357 + surrounds = { 358 + ["k"] = { 359 + find = function() 360 + return require("nvim-surround.config").get_selection({ motion = "af" }) 361 + end, 362 + }, 363 + }, 364 + }, 365 + }, 366 + 367 + { 368 + "numtostr/comment.nvim", 369 + config = true, 370 + }, 371 + 372 + { 373 + "monaqa/dial.nvim", 374 + keys = { 375 + { "<C-a>", "<Cmd>lua require('dial.map').manipulate('increment', 'normal')<CR>", mode = { "n", "v" } }, 376 + { "<C-x>", "<Cmd>lua require('dial.map').manipulate('decrement', 'normal')<CR>", mode = { "n", "v" } }, 377 + { "g<C-a>", "<Cmd>lua require('dial.map').manipulate('increment', 'gnormal')<CR>", mode = { "n", "v" } }, 378 + { "g<C-x>", "<Cmd>lua require('dial.map').manipulate('decrement', 'gnormal')<CR>", mode = { "n", "v" } }, 379 + }, 380 + config = function() 381 + local augend = require("dial.augend") 382 + 383 + require("dial.config").augends:register_group({ 384 + default = { 385 + augend.integer.alias.decimal, 386 + augend.integer.alias.hex, 387 + augend.date.alias["%Y/%m/%d"], 388 + augend.date.alias["%Y-%m-%d"], 389 + augend.constant.alias.bool, 390 + }, 391 + }) 392 + end, 393 + }, 394 + 395 + { 396 + "j-hui/fidget.nvim", 397 + config = true, 398 + }, 399 + 400 + { 401 + "lewis6991/gitsigns.nvim", 402 + event = "VeryLazy", 403 + config = true, 404 + }, 405 + 406 + { 407 + "JopjeKnopje/42header_codam", 408 + enabled = false, 409 + cmd = { "Stdheader" }, 410 + keys = { 411 + { "<F1>", "<Cmd>Stdheader<CR>", desc = "Insert Codam header" }, 412 + }, 413 + }, 414 + 415 + { 416 + "cacharle/c_formatter_42.vim", 417 + enabled = false, 418 + cmd = { "CFormatter42" }, 419 + keys = { 420 + { "<F2>", "<Cmd>CFormatter42<CR>", desc = "Format C code" }, 421 + }, 422 + }, 423 + 424 + { 425 + "TimUntersberger/neogit", 426 + config = function() 427 + require("neogit").setup({ 428 + commit_popup = { 429 + kind = "floating", 430 + }, 431 + popup = { 432 + kind = "floating", 433 + }, 434 + }) 435 + end, 436 + }, 437 + 438 + { 439 + "sindrets/diffview.nvim", 440 + config = true, 441 + }, 442 + 443 + { 444 + "abecodes/tabout.nvim", 445 + config = true, 446 + }, 447 + 448 + { 449 + "NMAC427/guess-indent.nvim", 450 + config = true, 451 + }, 452 + 453 + { 454 + "NvChad/nvim-colorizer.lua", 455 + enabled = false, 456 + main = "colorizer", 457 + config = function() 458 + require("colorizer").setup({ 459 + filetypes = { "*", "!lazy" }, 460 + user_default_options = { 461 + RGB = true, -- #RGB hex codes 462 + RRGGBB = true, -- #RRGGBB hex codes 463 + names = false, -- "Name" codes like Blue or blue 464 + RRGGBBAA = false, -- #RRGGBBAA hex codes 465 + AARRGGBB = false, -- 0xAARRGGBB hex codes 466 + rgb_fn = true, -- CSS rgb() and rgba() functions 467 + hsl_fn = true, -- CSS hsl() and hsla() functions 468 + css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB 469 + css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn 470 + -- Available modes for `mode`: foreground, background, virtualtext 471 + mode = "background", 472 + -- Available methods are false / true / "normal" / "lsp" / "both" 473 + -- True is same as normal 474 + tailwind = "both", 475 + sass = { 476 + enable = true, 477 + parsers = { "css" }, 478 + }, 479 + virtualtext = "■", 480 + -- update color values even if buffer is not focused 481 + -- example use: cmp_menu, cmp_docs 482 + always_update = true, 483 + }, 484 + }) 485 + end, 486 + }, 487 + 488 + { 489 + "brenoprata10/nvim-highlight-colors", 490 + enabled = true, 491 + config = function() 492 + require("nvim-highlight-colors").setup({ 493 + render = "virtual", 494 + enable_tailwind = false, 495 + exclude_filetypes = { "gitcommit", "lazy", "help" }, 496 + }) 497 + end, 498 + }, 499 + 500 + { 501 + "xorid/swap-split.nvim", 502 + config = function() 503 + require("swap-split").setup({ 504 + ignore_filetypes = { "NvimTree", "neo-tree", "notify", "snacks_notif", "toggleterm", "Trouble", "qf" }, 505 + }) 506 + end, 507 + }, 508 + 509 + { 510 + "lambdalisue/vim-suda", 511 + init = function() 512 + vim.g.suda_smart_edit = true 513 + vim.g.suda_nopass = true 514 + end, 515 + }, 516 + 517 + { 518 + "mfussenegger/nvim-dap", 519 + dependencies = { 520 + "rcarriga/nvim-dap-ui", 521 + "nvim-neotest/nvim-nio", 522 + "theHamsta/nvim-dap-virtual-text", 523 + { 524 + "ldelossa/nvim-dap-projects", 525 + config = function() 526 + require("nvim-dap-projects").search_project_config() 527 + end, 528 + }, 529 + }, 530 + config = function() 531 + local dap = require("dap") 532 + local dapui = require("dapui") 533 + 534 + dap.listeners.after.event_initialized["dapui_config"] = function() 535 + dapui.open({}) 536 + end 537 + 538 + dap.listeners.before.event_terminated["dapui_config"] = function() 539 + dapui.close({}) 540 + end 541 + 542 + dap.listeners.before.event_exited["dapui_config"] = function() 543 + dapui.close({}) 544 + end 545 + end, 546 + }, 547 + 548 + { 549 + "Shatur/neovim-session-manager", 550 + enabled = false, 551 + main = "session_manager", 552 + opts = function() 553 + local config = require("session_manager.config") 554 + ---@class SessionManager.Settings 555 + ---@field sessions_dir Path The directory where the session files will be saved. 556 + ---@field session_filename_to_dir function(string): Path Function that replaces symbols into separators and colons to transform filename into a session directory. 557 + ---@field dir_to_session_filename function(string): Path Function that replaces separators and colons into special symbols to transform session directory into a filename. Should use `vim.uv.cwd()` if the passed `dir` is `nil`. 558 + ---@field autoload_mode ('Disabled'|'CurrentDir'|'LastSession'|'GitSession')[] Define what to do when Neovim is started without arguments. See "Autoload mode" section below. 559 + ---@field autosave_last_session boolean Automatically save last session on exit and on session switch. 560 + ---@field autosave_ignore_not_normal boolean Plugin will not save a session when no buffers are opened, or all of them aren't writable or listed. 561 + ---@field autosave_ignore_dirs string[] A list of directories where the session will not be autosaved. 562 + ---@field autosave_ignore_filetypes string[] All buffers of these file types will be closed before the session is saved. 563 + ---@field autosave_ignore_buftypes string[] All buffers of these bufer types will be closed before the session is saved. 564 + ---@field autosave_only_in_session boolean Always autosaves session. If true, only autosaves after a session is active. 565 + ---@field max_path_length number Shorten the display path if length exceeds this threshold. Use 0 if don't want to shorten the path at all. 566 + return { 567 + autoload_mode = { config.AutoloadMode.GitSession, config.AutoloadMode.CurrentDir }, 568 + autosave_ignore_dirs = { "~" }, 569 + } 570 + end, 571 + }, 572 + 573 + { 574 + "rmagatti/auto-session", 575 + dependencies = { 576 + "nvim-telescope/telescope.nvim", 577 + }, 578 + lazy = false, 579 + ---@type AutoSession.Config 580 + opts = { 581 + suppressed_dirs = { "~/", "~/downloads" }, 582 + args_allow_single_directory = false, 583 + session_lens = { 584 + previewer = "summary", 585 + picker = "telescope", 586 + picker_opts = { 587 + preview = true, 588 + }, 589 + }, 590 + }, 591 + }, 592 + 593 + { 594 + "chentoast/marks.nvim", 595 + config = true, 596 + }, 597 + 598 + { 599 + "jinh0/eyeliner.nvim", 600 + config = function() 601 + require("eyeliner").setup({ 602 + highlight_on_key = true, 603 + dim = true, 604 + }) 605 + end, 606 + }, 607 + 608 + { 609 + "bfredl/nvim-luadev", 610 + cmd = { "Luadev" }, 611 + keys = { 612 + { mode = "n", "<leader>rl", "<Plug>(Luadev-RunLine)", desc = "Execute line" }, 613 + { mode = { "n", "v" }, "<leader>rr", "<Plug>(Luadev-Run)", desc = "Execute movement/object" }, 614 + { mode = "n", "<leader>rw", "<Plug>(Luadev-RunWord)", desc = "Execute word" }, 615 + }, 616 + }, 617 + 618 + { 619 + "aserowy/tmux.nvim", 620 + keys = { 621 + { "<M-h>", "<Cmd>lua require('tmux').move_left()<CR>", desc = "Move left", mode = { "n", "t" } }, 622 + { "<M-j>", "<Cmd>lua require('tmux').move_bottom()<CR>", desc = "Move bottom", mode = { "n", "t" } }, 623 + { "<M-k>", "<Cmd>lua require('tmux').move_top()<CR>", desc = "Move top", mode = { "n", "t" } }, 624 + { "<M-l>", "<Cmd>lua require('tmux').move_right()<CR>", desc = "Move right", mode = { "n", "t" } }, 625 + { "<M-H>", "<Cmd>lua require('tmux').resize_left()<CR>", desc = "Resize left", mode = { "n", "t" } }, 626 + { "<M-J>", "<Cmd>lua require('tmux').resize_bottom()<CR>", desc = "Resize bottom", mode = { "n", "t" } }, 627 + { "<M-K>", "<Cmd>lua require('tmux').resize_top()<CR>", desc = "Resize top", mode = { "n", "t" } }, 628 + { "<M-L>", "<Cmd>lua require('tmux').resize_right()<CR>", desc = "Resize right", mode = { "n", "t" } }, 629 + }, 630 + config = function() 631 + require("tmux").setup({ 632 + navigation = { 633 + enable_default_keybindings = false, 634 + }, 635 + resize = { 636 + enable_custom_bindings = false, 637 + resize_step_x = 5, 638 + resize_step_y = 5, 639 + }, 640 + copy_sync = { 641 + sync_clipboard = false, 642 + }, 643 + }) 644 + end, 645 + }, 646 + 647 + { 648 + "Bekaboo/dropbar.nvim", 649 + dependencies = { 650 + "nvim-telescope/telescope-fzf-native.nvim", 651 + }, 652 + init = function() 653 + vim.cmd.highlight("WinBar guibg=none") 654 + vim.cmd.highlight("WinBarNC guibg=none") 655 + end, 656 + config = true, 657 + }, 658 + 659 + { 660 + "nanozuki/tabby.nvim", 661 + enabled = false, 662 + event = "VeryLazy", 663 + dependencies = { 664 + "nvim-tree/nvim-web-devicons", 665 + }, 666 + config = function() 667 + require("tabby").setup({}) 668 + end, 669 + }, 670 + 671 + { 672 + "tzachar/highlight-undo.nvim", 673 + keys = { "u", "<C-r>", "p", "P" }, 674 + init = function() 675 + local nord = require("nord.colors").palette 676 + 677 + vim.api.nvim_set_hl(0, "HighlightUndo", { 678 + bg = nord.polar_night.brighter, 679 + fg = nord.snow_storm.brightest, 680 + }) 681 + end, 682 + config = true, 683 + }, 684 + 685 + { 686 + "OXY2DEV/helpview.nvim", 687 + enabled = false, 688 + ft = "help", 689 + }, 690 + 691 + { 692 + "mbbill/undotree", 693 + cmd = { "UndotreeToggle" }, 694 + keys = { 695 + { "<leader>u", "<cmd>UndotreeToggle<CR>", desc = "Toggle undotree" }, 696 + }, 697 + init = function() 698 + vim.g.undotree_WindowLayout = 2 699 + vim.g.undotree_SplitWidth = 38 700 + vim.g.undotree_DiffpanelHeight = 14 701 + vim.g.undotree_SetFocusWhenToggle = 1 702 + vim.g.undotree_DiffCommand = "diff" 703 + end, 704 + }, 705 + 706 + { 707 + "akinsho/git-conflict.nvim", 708 + opts = { 709 + debug = false, 710 + default_mappings = true, -- disable buffer local mapping created by this plugin 711 + default_commands = true, -- disable commands created by this plugin 712 + disable_diagnostics = true, -- This will disable the diagnostics in a buffer whilst it is conflicted 713 + list_opener = "copen", -- command or function to open the conflicts list 714 + highlights = { -- They must have background color, otherwise the default color will be used 715 + incoming = "DiffAdd", 716 + current = "DiffText", 717 + ancestor = "DiffChange", 718 + }, 719 + }, 720 + }, 721 + 722 + { 723 + "MagicDuck/grug-far.nvim", 724 + ---@type grug.far.OptionsOverride 725 + opts = { 726 + windowCreationCommand = "split", 727 + transient = true, 728 + }, 729 + }, 730 + 731 + { 732 + "kristijanhusak/vim-dadbod-ui", 733 + dependencies = { 734 + { "tpope/vim-dadbod", lazy = true }, 735 + { "kristijanhusak/vim-dadbod-completion", ft = { "sql", "mysql", "plsql" }, lazy = true }, 736 + }, 737 + cmd = { 738 + "DBUI", 739 + "DBUIToggle", 740 + "DBUIAddConnection", 741 + "DBUIFindBuffer", 742 + }, 743 + init = function() 744 + vim.g.db_ui_use_nerd_fonts = 1 745 + end, 746 + }, 747 + 748 + { 749 + "DNLHC/glance.nvim", 750 + config = true, 751 + }, 752 + 753 + { 754 + "stevearc/aerial.nvim", 755 + config = true, 756 + }, 757 + 758 + { 759 + "isak102/ghostty.nvim", 760 + config = true, 761 + }, 762 + 763 + { 764 + "chrisgrieser/nvim-recorder", 765 + config = true, 766 + }, 767 + 768 + { 769 + "mcauley-penney/tidy.nvim", 770 + config = true, 771 + }, 772 + 773 + { 774 + "saghen/blink.indent", 775 + init = function() 776 + ---@type Nord.Palette 777 + local nord = require("nord.colors").palette 778 + 779 + vim.api.nvim_set_hl(0, "BlinkIndent", { fg = nord.polar_night.brighter }) 780 + vim.api.nvim_set_hl(0, "BlinkIndentScope", { fg = nord.polar_night.light }) 781 + end, 782 + opts = { 783 + static = { 784 + char = "▏", 785 + }, 786 + scope = { 787 + char = "▏", 788 + highlights = { "BlinkIndentScope" }, 789 + }, 790 + }, 791 + }, 792 + 793 + { 794 + "folke/snacks.nvim", 795 + priority = 1000, 796 + lazy = false, 797 + ---@type snacks.Config 798 + opts = { 799 + notifier = { 800 + enabled = true, 801 + timeout = 5000, 802 + keep = function(_notif) 803 + return vim.fn.getcmdpos() > 0 804 + end, 805 + }, 806 + styles = { 807 + notification = { 808 + wo = { wrap = true }, 809 + }, 810 + }, 811 + terminal = {}, 812 + }, 813 + }, 814 + 815 + { 816 + "HawkinsT/pathfinder.nvim", 817 + opts = {}, 818 + }, 819 + 820 + { 821 + "relf108/nvim-unstack", 822 + opts = {}, 823 + }, 824 + 825 + { 826 + "kokusenz/deltaview.nvim", 827 + opts = {}, 828 + }, 829 + }
+95
nvim/.config/nvim/lua/plugins/scroll.lua
··· 1 + ---@type LazySpec 2 + return { 3 + { 4 + "karb94/neoscroll.nvim", 5 + enabled = false, 6 + keys = { 7 + { 8 + "<C-u>", 9 + function() 10 + require("neoscroll").ctrl_u({ duration = 150 }) 11 + end, 12 + desc = "Scroll up", 13 + mode = { "n", "v", "x" }, 14 + }, 15 + { 16 + "<C-d>", 17 + function() 18 + require("neoscroll").ctrl_d({ duration = 150 }) 19 + end, 20 + desc = "Scroll down", 21 + mode = { "n", "v", "x" }, 22 + }, 23 + { 24 + "<C-y>", 25 + function() 26 + require("neoscroll").scroll(-0.1, { duration = 50 }) 27 + end, 28 + desc = "Scroll up slightly", 29 + mode = { "n", "v", "x" }, 30 + }, 31 + { 32 + "<C-e>", 33 + function() 34 + require("neoscroll").scroll(0.1, { duration = 50 }) 35 + end, 36 + desc = "Scroll down slightly", 37 + mode = { "n", "v", "x" }, 38 + }, 39 + }, 40 + config = function() 41 + require("neoscroll").setup({ 42 + easing_function = "quadratic", 43 + mappings = {}, 44 + ignored_events = {}, 45 + }) 46 + end, 47 + }, 48 + 49 + { 50 + "lewis6991/satellite.nvim", 51 + enabled = false, 52 + }, 53 + 54 + -- { 55 + -- "petertriho/nvim-scrollbar", 56 + -- dependencies = { 57 + -- "kevinhwang91/nvim-hlslens", 58 + -- }, 59 + -- config = function() 60 + -- require("scrollbar").setup({ 61 + -- folds = false, 62 + -- handle = { 63 + -- color = require("nord.colors").palette.polar_night.brighter, 64 + -- }, 65 + -- handlers = { 66 + -- -- search = true, 67 + -- }, 68 + -- }) 69 + -- end, 70 + -- }, 71 + -- 72 + -- { 73 + -- "dstein64/nvim-scrollview", 74 + -- config = function() 75 + -- require("scrollview").setup({ 76 + -- winblend_gui = 20, 77 + -- excluded_filetypes = { "neo-tree" }, 78 + -- floating_windows = true, 79 + -- }) 80 + -- end, 81 + -- }, 82 + -- 83 + -- { 84 + -- "kevinhwang91/nvim-hlslens", 85 + -- keys = { 86 + -- { "n", "<Cmd>execute('normal! ' . v:count1 . 'n')<CR><Cmd>lua require('hlslens').start()<CR>" }, 87 + -- { "N", "<Cmd>execute('normal! ' . v:count1 . 'N')<CR><Cmd>lua require('hlslens').start()<CR>" }, 88 + -- { "*", "*<Cmd>lua require('hlslens').start()<CR>" }, 89 + -- { "#", "#<Cmd>lua require('hlslens').start()<CR>" }, 90 + -- { "g*", "g*<Cmd>lua require('hlslens').start()<CR>" }, 91 + -- { "g#", "g#<Cmd>lua require('hlslens').start()<CR>" }, 92 + -- }, 93 + -- config = true, 94 + -- }, 95 + }
+96
nvim/.config/nvim/lua/plugins/telescope.lua
··· 1 + ---@type LazySpec 2 + return { 3 + { 4 + "nvim-telescope/telescope.nvim", 5 + version = "*", 6 + dependencies = { 7 + "nvim-tree/nvim-web-devicons", 8 + "Myzel394/jsonfly.nvim", 9 + }, 10 + cmd = { "Telescope" }, 11 + keys = { 12 + { "<C-t><C-l>", "<cmd>Telescope resume<CR>", desc = "Telescope resume" }, 13 + { "<C-t><C-p>", "<cmd>Telescope find_files<CR>", desc = "Telescope find files" }, 14 + { "<C-t><C-t>", "<cmd>Telescope buffers<CR>", desc = "Telescope buffers" }, 15 + { "<C-t><C-g>", "<cmd>Telescope live_grep<CR>", desc = "Telescope grep" }, 16 + { "<C-t><C-k>", "<cmd>Telescope help_tags<CR>", desc = "Telescope help" }, 17 + { "<C-t><C-m>", "<cmd>Telescope man_pages<CR>", desc = "Telescope man" }, 18 + --{ 'gd', '<cmd>Telescope lsp_definitions<CR>', desc = 'Telescope definitions' }, 19 + --{ 'gi', '<cmd>Telescope implementations<CR>', desc = 'Telescope implementations' }, 20 + { "<C-t><C-d>", "<cmd>Telescope diagnostics<CR>", desc = "Telescope diagnostics" }, 21 + { "<C-t><C-f>", "<cmd>Telescope file_browser<CR>", desc = "Telescope file browser" }, 22 + }, 23 + config = function() 24 + require("telescope").setup({ 25 + defaults = { 26 + sorting_strategy = "ascending", 27 + layout_config = { 28 + prompt_position = "top", 29 + }, 30 + file_ignore_patterns = { "%.git/" }, 31 + mappings = { 32 + i = { 33 + ["<C-f>"] = require("telescope.actions").to_fuzzy_refine, 34 + }, 35 + }, 36 + }, 37 + pickers = { 38 + find_files = { 39 + theme = "dropdown", 40 + hidden = true, 41 + }, 42 + buffers = { 43 + theme = "dropdown", 44 + }, 45 + live_grep = { 46 + theme = "dropdown", 47 + }, 48 + help_tags = { 49 + theme = "dropdown", 50 + }, 51 + man_pages = { 52 + theme = "dropdown", 53 + }, 54 + }, 55 + }) 56 + end, 57 + }, 58 + 59 + { 60 + "debugloop/telescope-undo.nvim", 61 + dependencies = { 62 + "nvim-telescope/telescope.nvim", 63 + }, 64 + config = function() 65 + require("telescope").setup({ 66 + extensions = { 67 + undo = { 68 + layout_strategy = "vertical", 69 + layout_config = { 70 + preview_height = 0.6, 71 + }, 72 + mappings = { 73 + i = { 74 + ["<CR>"] = require("telescope-undo.actions").restore, 75 + ["C-y"] = require("telescope-undo.actions").yank_additions, 76 + ["C-s"] = require("telescope-undo.actions").yank_deletions, 77 + }, 78 + }, 79 + }, 80 + }, 81 + }) 82 + 83 + require("telescope").load_extension("undo") 84 + end, 85 + }, 86 + 87 + { 88 + "nvim-telescope/telescope-file-browser.nvim", 89 + dependencies = { 90 + "nvim-telescope/telescope.nvim", 91 + }, 92 + config = function() 93 + require("telescope").load_extension("file_browser") 94 + end, 95 + }, 96 + }
+112
nvim/.config/nvim/lua/plugins/treesitter.lua
··· 1 + local augroup = vim.api.nvim_create_augroup("treesitter", { clear = true }) 2 + 3 + return { 4 + { 5 + "nvim-treesitter/nvim-treesitter", 6 + lazy = false, 7 + branch = "main", 8 + build = ":TSUpdate", 9 + config = function() 10 + require("nvim-treesitter").install({ 11 + "lua", 12 + "vim", 13 + "vimdoc", 14 + "bash", 15 + "fish", 16 + "javascript", 17 + "typescript", 18 + "tsx", 19 + "html", 20 + "css", 21 + "diff", 22 + "json", 23 + "markdown", 24 + "markdown_inline", 25 + "latex", 26 + "typst", 27 + "regex", 28 + "python", 29 + "ruby", 30 + "c", 31 + "go", 32 + "elixir", 33 + "rust", 34 + "toml", 35 + }) 36 + 37 + vim.api.nvim_create_autocmd("FileType", { 38 + pattern = { "*" }, 39 + group = augroup, 40 + callback = function(event) 41 + function treesitter_install() 42 + -- local filetype = vim.api.nvim_get_option_value("filetype", { buf = event.buf }) 43 + local filetype = event.match 44 + 45 + local ok, treesitter = pcall(require, "nvim-treesitter") 46 + if not ok then 47 + vim.defer_fn(treesitter_install, 1000) 48 + return 49 + end 50 + 51 + ---@diagnostic disable-next-line: redefined-local 52 + local ok, parsers = pcall(require, "nvim-treesitter.parsers") 53 + if not ok or not parsers[filetype] then 54 + return 55 + end 56 + 57 + ---@diagnostic disable-next-line: param-type-mismatch, redefined-local 58 + if not pcall(treesitter.install, filetype) then 59 + vim.defer_fn(treesitter_install, 1000) 60 + return 61 + end 62 + 63 + if filetype == "" or not vim.treesitter.language.add(filetype) then 64 + return 65 + end 66 + 67 + vim.treesitter.start() 68 + end 69 + 70 + treesitter_install() 71 + end, 72 + }) 73 + end, 74 + }, 75 + 76 + { 77 + "nvim-treesitter/nvim-treesitter-textobjects", 78 + branch = "main", 79 + config = function() 80 + ---@diagnostic disable-next-line: need-check-nil 81 + require("nvim-treesitter-textobjects").setup({ 82 + select = { 83 + enable = true, 84 + lookahead = true, 85 + }, 86 + move = { 87 + enable = true, 88 + set_jumps = true, 89 + }, 90 + }) 91 + 92 + local keymaps = { 93 + ["af"] = "@function.outer", 94 + ["if"] = "@function.inner", 95 + ["ac"] = "@comment.outer", 96 + ["ic"] = "@comment.outer", 97 + ["aa"] = "@parameter.outer", 98 + ["ia"] = "@parameter.inner", 99 + } 100 + 101 + for keys, selector in pairs(keymaps) do 102 + vim.keymap.set({ "x", "o" }, keys, function() 103 + require("nvim-treesitter-textobjects.select").select_textobject(selector, "textobjects") 104 + end) 105 + end 106 + end, 107 + }, 108 + 109 + { 110 + "RRethy/nvim-treesitter-endwise", 111 + }, 112 + }
+9
plex/.local/share/applications/tv.plex.PlexDesktop.desktop
··· 1 + [Desktop Entry] 2 + Type=Application 3 + Name=Plex 4 + Comment=Plex client for desktop computers 5 + Exec=env QT_QPA_PLATFORM=wayland Plex 6 + Icon=tv.plex.PlexDesktop 7 + Terminal=false 8 + Categories=AudioVideo;Player;X-Media; 9 + X-Flatpak=tv.plex.PlexDesktop
+2
python/.config/python_keyring/keyringrc.cfg
··· 1 + [backend] 2 + default-keyring=keyring.backends.libsecret.Keyring
+1
shellcheck/.shellcheckrc
··· 1 + disable=SC2034
+1
spotify-player/.config/spotify-player/app.toml
··· 1 + client_id = "53dbc95696b346409b08e0954f483419"
+8
starship/.config/starship.toml
··· 19 19 style = "bold dimmed white" 20 20 ssh_symbol = " " 21 21 22 + [custom.jj] 23 + command = "prompt" 24 + format = "$output" 25 + ignore_timeout = true 26 + shell = ["starship-jj", "--ignore-working-copy", "starship"] 27 + use_stdin = false 28 + when = true 29 + 22 30 [aws] 23 31 symbol = " " 24 32
+4 -4
sysctl/etc/sysctld.d/99-sysctl.conf
··· 1 - net.core.wmem_max = 4194304 2 - net.core.rmem_max = 12582912 3 - net.ipv4.tcp_rmem = 4096 87380 4194304 4 - net.ipv4.tcp_wmem = 4096 87380 4194304 1 + #net.core.wmem_max = 4194304 2 + #net.core.rmem_max = 12582912 3 + #net.ipv4.tcp_rmem = 4096 87380 4194304 4 + #net.ipv4.tcp_wmem = 4096 87380 4194304 5 5 6 6 net.core.default_qdisc=fq 7 7 net.ipv4.tcp_congestion_control=bbr
systemd/.config/systemd/user/imwheel.service imwheel/.config/systemd/user/imwheel.service
+1 -1
systemd/.config/systemd/user/plex-rich-presence.service plex-rich-presence/.config/systemd/user/plex-rich-presence.service
··· 3 3 4 4 [Service] 5 5 Type=simple 6 - ExecStart=sh -c '%h/plex-rich-presence_linux_amd64-*' 6 + ExecStart=sh -c '%h/plex-rich*' 7 7 Restart=on-failure 8 8 RestartSec=15s 9 9 StartLimitInterval=0
systemd/etc/systemd/system/reload-cpu-modules.service etc/systemd/system/reload-cpu-modules.service
+23 -5
terminator/.config/terminator/config
··· 1 1 [global_config] 2 2 inactive_color_offset = 1.0 3 - enabled_plugins = ActivityWatch, InactivityWatch, LaunchpadBugURLHandler, LaunchpadCodeURLHandler, APTURLHandler, SaveLastSessionLayout 4 - suppress_multiple_term_dialog = True 3 + enabled_plugins = ActivityWatch, InactivityWatch, LaunchpadBugURLHandler, LaunchpadCodeURLHandler, APTURLHandler 5 4 disable_mouse_paste = True 6 5 clear_select_on_copy = True 7 6 invert_search = True ··· 10 9 cycle_prev = "" 11 10 go_next = <Alt>bracketright 12 11 go_prev = <Alt>bracketleft 13 - split_auto = <Primary>Return 14 - split_horiz = <Primary><Shift>Return 12 + split_auto = <Primary><Shift>Return 13 + split_horiz = "" 15 14 split_vert = "" 16 15 next_tab = <Primary>Tab 17 16 prev_tab = <Primary><Shift>Tab ··· 20 19 [profiles] 21 20 [[default]] 22 21 background_color = "#2E3440" 23 - font = Hack Nerd Font 10 22 + font = Hack Nerd Font 10.5 24 23 foreground_color = "#D8DEE9" 25 24 show_titlebar = False 26 25 scrollback_infinite = True ··· 36 35 type = Terminal 37 36 parent = window0 38 37 profile = default 38 + [[SaveLastSessionLayout]] 39 + [[[child0]]] 40 + type = Window 41 + parent = "" 42 + order = 0 43 + position = 0:0 44 + maximised = True 45 + fullscreen = False 46 + size = 2560, 1403 47 + title = ~ 48 + last_active_term = 3463da18-cdfa-4dcf-9bec-34b402b91ed0 49 + last_active_window = True 50 + [[[terminal1]]] 51 + type = Terminal 52 + parent = child0 53 + order = 0 54 + profile = default 55 + uuid = 3463da18-cdfa-4dcf-9bec-34b402b91ed0 56 + directory = /home/bas 39 57 [plugins]
+6 -6
throttled/etc/throttled.conf
··· 50 50 # All voltage values are expressed in mV and *MUST* be negative (i.e. undervolt)! 51 51 [UNDERVOLT.BATTERY] 52 52 # CPU core voltage offset (mV) 53 - CORE: -100 53 + CORE: -125 54 54 # Integrated GPU voltage offset (mV) 55 55 GPU: 0 56 56 # CPU cache voltage offset (mV) 57 - CACHE: -100 57 + CACHE: -125 58 58 # System Agent voltage offset (mV) 59 59 UNCORE: 0 60 60 # Analog I/O voltage offset (mV) ··· 63 63 # All voltage values are expressed in mV and *MUST* be negative (i.e. undervolt)! 64 64 [UNDERVOLT.AC] 65 65 # CPU core voltage offset (mV) 66 - CORE: -100 66 + CORE: -125 67 67 # Integrated GPU voltage offset (mV) 68 - GPU: 0 68 + GPU: -10 69 69 # CPU cache voltage offset (mV) 70 - CACHE: -100 70 + CACHE: -125 71 71 # System Agent voltage offset (mV) 72 - UNCORE: 0 72 + UNCORE: -10 73 73 # Analog I/O voltage offset (mV) 74 74 ANALOGIO: 0 75 75
+162
tmux/.config/tmux/tmux.conf
··· 1 + # change the default shell to be non-login 2 + # set -g default-command "${SHELL}" 3 + # set -g default-command "fish" 4 + 5 + # color support 6 + set -g default-terminal 'tmux-256color' 7 + # additionally hold shift to disable mouse mode and allow clicking on hyperlinks 8 + set -ga terminal-features ",*:RGB,*:usstyle,*:hyperlinks" 9 + # set -ga terminal-overrides ',alacritty:RGB,xterm-256color:RGB' 10 + # set -ga terminal-overrides ',alacritty:Tc,xterm-256color:Tc' 11 + 12 + # get rid of esc delay 13 + set -s escape-time 0 14 + 15 + # start window index at 1 16 + set -g base-index 1 17 + 18 + # teehee 19 + set -g mouse on 20 + bind-key -n MouseDrag1Status swap-window -d -t= 21 + 22 + # show tmux messages for 3 seconds 23 + set -g display-time 3000 24 + 25 + # place status bar at the top 26 + set -g status-position top 27 + 28 + # increase scrollback buffer size 29 + set -g history-limit 20000 30 + 31 + # change terminal title 32 + set -g set-titles on 33 + 34 + # forward focus events from terminal to applications 35 + set -g focus-events on 36 + 37 + # automatically renumber windows on close 38 + set -g renumber-windows on 39 + 40 + # use emacs keybinds in command prompt 41 + set -g status-keys emacs 42 + 43 + # allow programs to always bypass tmux using escape sequence 44 + set -g allow-passthrough all 45 + 46 + # allow programs to set clipboard through OSC 52 47 + set -g set-clipboard on 48 + 49 + # enable CSI u extended keys (kitty keyboard protocol support when) 50 + set -g extended-keys off # breaks bracketed paste in 3.5a, turn back on after next update 51 + 52 + # navigation 53 + bind C-n next-window 54 + bind C-p previous-window 55 + 56 + # use vim keybinds in copy mode 57 + setw -g mode-keys vi 58 + 59 + # below is handled by tmux-yank 60 + # bind -T copy-mode-vi v send-keys -X begin-selection 61 + # bind -T copy-mode-vi C-v send-keys -X rectangle-toggle 62 + # bind -T copy-mode-vi y send-keys -X copy-pipe "wl-copy" 63 + # bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X other-end \; send-keys -X copy-pipe "wl-copy" 64 + # # bind -T copy-mode-vi MouseDown1Pane send -X copy-mode 65 + # bind -T copy-mode-vi i send-keys -X cancel 66 + # bind -T copy-mode-vi Escape send-keys -X cancel 67 + 68 + set -g @yank_selection_mouse 'clipboard' 69 + set -g @yank_action 'copy-pipe' 70 + 71 + # fix tmux within upterm session 72 + set -ga update-environment "UPTERM_ADMIN_SOCKET" 73 + 74 + # toggle synchronize-panes 75 + bind C-x setw synchronize-panes 76 + 77 + # additional zoom keybind 78 + bind -n M-z resize-pane -Z 79 + 80 + # open new panes in the same directory as the current pane 81 + # (braces to appease the tmux tree-sitter parser) 82 + bind % { split-window -h -c "#{pane_current_path}" } 83 + bind '"' { split-window -v -c "#{pane_current_path}" } 84 + bind v { new-window -c "#{pane_current_path}" } 85 + 86 + # I have tmux-matryoshka for nested sessions, but usually I only have one nesting 87 + # level, so it's nice to have a simple shortcut to toggle it 88 + bind -n M-q { 89 + # set environment "NESTED_LAYER" 1 90 + set prefix None 91 + set key-table off 92 + set status-style fg=colour245,bg=colour238 93 + # send-keys S-F12 94 + } 95 + 96 + bind -T off -n M-q { 97 + set -u prefix 98 + set -u key-table 99 + set -u status-style 100 + # send-keys S-F11 101 + } 102 + 103 + # disable nord status bar 104 + set -g @nord_tmux_show_status_content '0' 105 + 106 + set -g @tmux-nvim-navigation true 107 + set -g @tmux-nvim-navigation-cycle true 108 + set -g @tmux-nvim-navigation-keybinding-left 'M-h' 109 + set -g @tmux-nvim-navigation-keybinding-down 'M-j' 110 + set -g @tmux-nvim-navigation-keybinding-up 'M-k' 111 + set -g @tmux-nvim-navigation-keybinding-right 'M-l' 112 + 113 + set -g @tmux-nvim-resize true 114 + set -g @tmux-nvim-resize-step-x 5 115 + set -g @tmux-nvim-resize-step-y 5 116 + set -g @tmux-nvim-resize-keybinding-left 'M-H' 117 + set -g @tmux-nvim-resize-keybinding-down 'M-J' 118 + set -g @tmux-nvim-resize-keybinding-up 'M-K' 119 + set -g @tmux-nvim-resize-keybinding-right 'M-L' 120 + 121 + set -g @resurrect-capture-pane-contents 'on' 122 + set -g @resurrect-processes ' 123 + "ssh" 124 + ' 125 + # ":->fish -c \"printf \e\[7A \"""DC" 126 + # "~fish->printf \e\[DC6A" 127 + 128 + set -g @resurrect-hook-pre-restore-all '/usr/bin/fish -c "set -U did_tmux_restore true && echo pre: (date +%s%3N) $did_tmux_restore | systemd-cat"' 129 + set -g @resurrect-hook-post-restore-all 'fish -c "set -e did_tmux_restore && echo post: (date +%s%3N) $did_tmux_restore | systemd-cat"' 130 + 131 + # keybind to disable outer-most active tmux 132 + set -g @matryoshka_down_keybind 'S-F12' 133 + # keybind to enable inner-most inactive tmux 134 + set -g @matryoshka_up_keybind 'S-F11' 135 + # keybind to recursively enable all tmux instances 136 + set -g @matryoshka_up_recursive_keybind 'S-F10' 137 + 138 + set -g @plugin 'nordtheme/tmux' 139 + set -g @plugin 'aserowy/tmux.nvim' 140 + set -g @plugin 'b0o/tmux-autoreload' 141 + set -g @plugin 'tmux-plugins/tmux-resurrect' 142 + set -g @plugin 'tmux-plugins/tmux-sessionist' 143 + set -g @plugin 'tmux-plugins/tmux-logging' 144 + set -g @plugin 'wfxr/tmux-fzf-url' 145 + # set -g @plugin 'niqodea/tmux-matryoshka' 146 + # set -g @plugin 'IdoKendo/tmux-lazy' 147 + set -g @plugin 'alexwforsythe/tmux-which-key' 148 + set -g @plugin 'tmux-plugins/tmux-cowboy' 149 + set -g @plugin 'tmux-plugins/tmux-yank' 150 + # set -g @plugin 'tmux-plugins/tpm' 151 + set -g @plugin 'RyanMacG/tpm-redux' 152 + 153 + if "test ! -d ~/.config/tmux/plugins/tpm-redux" { 154 + set-hook -g session-created { 155 + set-hook -gu session-created 156 + run 'git clone https://github.com/RyanMacG/tpm-redux ~/.config/tmux/plugins/tpm-redux' 157 + display-popup -E -w 80% -h 75% "~/.config/tmux/plugins/tpm-redux/bindings/install_plugins" 158 + run "~/.config/tmux/plugins/tpm-redux/tpm" 159 + } 160 + } 161 + 162 + run "~/.config/tmux/plugins/tpm-redux/tpm"
-87
tmux/.tmux.conf
··· 1 - # change the default shell to be non-login 2 - set -g default-command "${SHELL}" 3 - 4 - # color support 5 - set -g default-terminal 'tmux-256color' 6 - set -ga terminal-overrides ',xterm-256color:RGB' 7 - set -ga terminal-overrides ',xterm-256color:Tc' 8 - 9 - # get rid of esc delay 10 - set -s escape-time 0 11 - 12 - # start window index at 1 13 - set -g base-index 1 14 - 15 - # quicker navigation 16 - bind C-n next-window 17 - bind C-p previous-window 18 - 19 - # sorry 20 - set -g mouse on 21 - 22 - # show tmux messages for 3 seconds 23 - set -g display-time 3000 24 - 25 - # self-explanatory 26 - set -g status-position top 27 - set -g history-limit 10000 28 - 29 - # change terminal title 30 - set -g set-titles on 31 - 32 - # forward focus events from terminal to applications 33 - set -g focus-events on 34 - 35 - # use vim keybinds in copy mode 36 - setw -g mode-keys vi 37 - bind -T copy-mode-vi v send-keys -X begin-selection 38 - bind -T copy-mode-vi C-v send-keys -X rectangle-toggle 39 - bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy" 40 - bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy" 41 - bind -T copy-mode-vi i send-keys -X cancel 42 - bind -T copy-mode-vi Escape send-keys -X cancel 43 - 44 - # toggle synchronize-panes 45 - bind C-x setw synchronize-panes 46 - 47 - # open new panes in the same directory as the current pane 48 - # (braces to appease the tmux tree-sitter parser) 49 - bind % { split-window -h -c "#{pane_current_path}" } 50 - bind '"' { split-window -v -c "#{pane_current_path}" } 51 - # bind c { new-window -c "#{pane_current_path}" } 52 - 53 - # plugins 54 - 55 - set -g @plugin 'tmux-plugins/tpm' 56 - 57 - set -g @plugin 'nordtheme/tmux' 58 - set -g @nord_tmux_show_status_content '0' 59 - 60 - set -g @plugin 'aserowy/tmux.nvim' 61 - # navigation 62 - set -g @tmux-nvim-navigation true 63 - set -g @tmux-nvim-navigation-cycle true 64 - set -g @tmux-nvim-navigation-keybinding-left 'M-h' 65 - set -g @tmux-nvim-navigation-keybinding-down 'M-j' 66 - set -g @tmux-nvim-navigation-keybinding-up 'M-k' 67 - set -g @tmux-nvim-navigation-keybinding-right 'M-l' 68 - # resize 69 - set -g @tmux-nvim-resize true 70 - set -g @tmux-nvim-resize-step-x 5 71 - set -g @tmux-nvim-resize-step-y 5 72 - set -g @tmux-nvim-resize-keybinding-left 'M-H' 73 - set -g @tmux-nvim-resize-keybinding-down 'M-J' 74 - set -g @tmux-nvim-resize-keybinding-up 'M-K' 75 - set -g @tmux-nvim-resize-keybinding-right 'M-L' 76 - 77 - set -g @plugin 'b0o/tmux-autoreload' 78 - 79 - set -g @plugin 'tmux-plugins/tmux-resurrect' 80 - set -g @resurrect-capture-pane-contents 'on' 81 - set -g @resurrect-processes 'ssh' 82 - 83 - set -g @plugin 'wfxr/tmux-fzf-url' 84 - 85 - if "test ! -d ~/.tmux/plugins/tpm" \ 86 - "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'" 87 - run "~/.tmux/plugins/tpm/tpm"
+16 -3
wayland/.config/chrome-flags.conf
··· 1 - -enable-features=VaapiVideoDecodeLinuxGL,TouchpadOverscrollHistoryNavigation 2 - --use-gl=angle 3 - --use-angle=gl 4 1 --ozone-platform-hint=auto 2 + --enable-features=AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder,TouchpadOverscrollHistoryNavigation 3 + --disable-features=ExtensionManifestV2Unsupported,ExtensionManifestV2Disabled 4 + # --disable-smooth-scrolling 5 + # --enable-gpu-compositing 6 + # --enable-gpu-rasterization 7 + # --enable-native-gpu-memory-buffers 8 + # --enable-oop-rasterization 9 + # --canvas-oop-rasterization 10 + # --enable-raw-draw 11 + # --enable-zero-copy 12 + # --ignore-gpu-blocklist 13 + # --disable-gpu-driver-bug-workarounds 14 + 15 + # --enable-spatial-navigation 16 + # --gtk-version=4 17 + # --use-vulkan
+15 -5
wayland/.config/electron-flags.conf
··· 1 - --enable-features=WaylandWindowDecorations 2 1 --ozone-platform-hint=auto 3 - --enable-webrtc-pipewire-capturer 4 - --enable-blink-features=MiddleClickAutoscroll 5 - --ignore-gpu-blocklist 6 - --enable-features=VaapiVideoDecoder 2 + # --enable-features=WaylandWindowDecorations,AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder,TouchpadOverscrollHistoryNavigation,PlatformHEVCDecoderSupport,CanvasOopRasterization 3 + --enable-features=WaylandWindowDecorations,AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder,TouchpadOverscrollHistoryNavigation,PlatformHEVCDecoderSupport 4 + # --disable-smooth-scrolling 5 + 6 + # --enable-gpu-compositing 7 + # --enable-gpu-rasterization 8 + # --enable-native-gpu-memory-buffers 9 + # --enable-oop-rasterization 10 + # --canvas-oop-rasterization 11 + # --enable-raw-draw 12 + # --enable-zero-copy 13 + # --ignore-gpu-blocklist 14 + # --disable-gpu-driver-bug-workarounds 15 + 16 + --gtk-version=4
+1
wayland/.config/vivaldi-snapshot.conf
··· 1 + vivaldi-stable.conf
+1
wayland/.config/vivaldi-stable.conf
··· 1 + chrome-flags.conf
+18
wezterm/.config/wezterm/wezterm.lua
··· 1 + local wezterm = require("wezterm") 2 + local config = {} 3 + 4 + config.default_prog = { "/usr/bin/fish" } 5 + config.color_scheme = "nord" 6 + config.font = wezterm.font("Hack") 7 + config.font_size = 11 8 + config.hide_tab_bar_if_only_one_tab = true 9 + 10 + config.keys = { 11 + { 12 + key = "Enter", 13 + mods = "ALT", 14 + action = wezterm.action.DisableDefaultAssignment, 15 + }, 16 + } 17 + 18 + return config
+15
wireplumber/.config/wireplumber/wireplumber.conf.d/10-bluez.conf
··· 1 + monitor.bluez.rules = [ 2 + { 3 + matches = [ 4 + { 5 + device.name = "~bluez_card.*" 6 + } 7 + ] 8 + actions = { 9 + update-props = { 10 + # bluez5.a2dp.ldac.quality = "hq" 11 + bluez5.a2dp.ldac.quality = "auto" 12 + } 13 + } 14 + } 15 + ]
+41
wireplumber/.config/wireplumber/wireplumber.conf.d/20-priority.conf
··· 1 + monitor.alsa.rules = [ 2 + { 3 + matches = [ 4 + { 5 + node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo" 6 + } 7 + ], 8 + actions = { 9 + update-props = { 10 + priority.driver = 1010 11 + priority.session = 1010 12 + } 13 + } 14 + }, 15 + { 16 + matches = [ 17 + { 18 + node.name = "alsa_output.usb-MOTU_M2_M20000023407-00.Direct__Direct__sink" 19 + } 20 + ], 21 + actions = { 22 + update-props = { 23 + priority.driver = 1020 24 + priority.session = 1020 25 + } 26 + } 27 + }, 28 + { 29 + matches = [ 30 + { 31 + node.name = "bluez_output.AC_80_0A_E8_27_9A.1" 32 + } 33 + ], 34 + actions = { 35 + update-props = { 36 + priority.driver = 1030 37 + priority.session = 1030 38 + } 39 + } 40 + } 41 + ]
+2
yamlfmt/.config/yamlfmt/yamlfmt.yml
··· 1 + formatter: 2 + retain_line_breaks_single: true
+48 -48
yay/.config/yay/config.json
··· 1 1 { 2 - "aururl": "https://aur.archlinux.org", 3 - "aurrpcurl": "https://aur.archlinux.org/rpc?", 4 - "buildDir": "/home/bas/.cache/yay", 5 - "editor": "", 6 - "editorflags": "", 7 - "makepkgbin": "/home/bas/bin/makepkg", 8 - "makepkgconf": "", 9 - "pacmanbin": "pacman", 10 - "pacmanconf": "/home/bas/.config/pacman/pacman.conf", 11 - "redownload": "no", 12 - "answerclean": "", 13 - "answerdiff": "All", 14 - "answeredit": "", 15 - "answerupgrade": "", 16 - "gitbin": "git", 17 - "gpgbin": "gpg", 18 - "gpgflags": "", 19 - "mflags": "", 20 - "sortby": "votes", 21 - "searchby": "name-desc", 22 - "gitflags": "", 23 - "removemake": "ask", 24 - "sudobin": "sudo", 25 - "sudoflags": "", 26 - "version": "12.3.0", 27 - "requestsplitn": 150, 28 - "completionrefreshtime": 7, 29 - "maxconcurrentdownloads": 1, 30 - "bottomup": true, 31 - "sudoloop": true, 32 - "timeupdate": false, 33 - "devel": true, 34 - "cleanAfter": false, 35 - "keepSrc": false, 36 - "provides": true, 37 - "pgpfetch": true, 38 - "cleanmenu": true, 39 - "diffmenu": true, 40 - "editmenu": true, 41 - "combinedupgrade": true, 42 - "useask": false, 43 - "batchinstall": false, 44 - "singlelineresults": false, 45 - "separatesources": true, 46 - "debug": false, 47 - "rpc": true, 48 - "doubleconfirm": true, 49 - "rebuild": "no" 2 + "aururl": "https://aur.archlinux.org", 3 + "aurrpcurl": "https://aur.archlinux.org/rpc?", 4 + "buildDir": "/home/bas/.cache/yay", 5 + "editor": "", 6 + "editorflags": "", 7 + "makepkgbin": "makepkg", 8 + "makepkgconf": "", 9 + "pacmanbin": "pacman", 10 + "pacmanconf": "/etc/pacman.conf", 11 + "redownload": "no", 12 + "answerclean": "", 13 + "answerdiff": "Installed", 14 + "answeredit": "", 15 + "answerupgrade": "", 16 + "gitbin": "git", 17 + "gpgbin": "gpg", 18 + "gpgflags": "", 19 + "mflags": "", 20 + "sortby": "votes", 21 + "searchby": "name-desc", 22 + "gitflags": "", 23 + "removemake": "no", 24 + "sudobin": "sudo", 25 + "sudoflags": "", 26 + "version": "12.5.0", 27 + "requestsplitn": 150, 28 + "completionrefreshtime": 7, 29 + "maxconcurrentdownloads": 8, 30 + "bottomup": true, 31 + "sudoloop": true, 32 + "timeupdate": false, 33 + "devel": true, 34 + "cleanAfter": false, 35 + "keepSrc": false, 36 + "provides": true, 37 + "pgpfetch": true, 38 + "cleanmenu": true, 39 + "diffmenu": false, 40 + "editmenu": false, 41 + "combinedupgrade": true, 42 + "useask": false, 43 + "batchinstall": false, 44 + "singlelineresults": false, 45 + "separatesources": true, 46 + "debug": false, 47 + "rpc": true, 48 + "doubleconfirm": false, 49 + "rebuild": "no" 50 50 }
+5 -2
zram/etc/systemd/zram-generator.conf
··· 1 - [zram0] 2 - zram-size = ram * 1.5 1 + [zram0] 2 + compression-algorithm = zstd lz4 (type=huge) 3 + zram-size = ram * 2 4 + swap-priority = 100 5 + fs-type = swap