mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-03-19 09:02:16 +00:00
feat: migrate to mise for unified tool management (#309)
This commit is contained in:
@@ -33,6 +33,8 @@ alias .c='cd $HOME/Code'
|
||||
alias .d='cd $DOTFILES'
|
||||
alias .l='cd $HOME/.local'
|
||||
alias .o='cd $HOME/Code/ivuorinen/obsidian/'
|
||||
alias .s='cd $HOME/Code/s'
|
||||
alias .p='cd $HOME/Code/ivuorinen'
|
||||
|
||||
# Shortcuts for listing
|
||||
alias ll="ls -la"
|
||||
|
||||
5
config/exports
Normal file → Executable file
5
config/exports
Normal file → Executable file
@@ -347,8 +347,7 @@ export AWS_CONFIGURE_SESSION_MFA=true
|
||||
msg "Setting up Mason configuration"
|
||||
export MASON_HOME="$XDG_DATA_HOME/nvim/mason"
|
||||
|
||||
# Neovim environment variables — optional overrides for external tools.
|
||||
# Neovim itself uses vim.fn.stdpath() and does not read these.
|
||||
# Neovim environment variables
|
||||
msg "Setting up Neovim configuration"
|
||||
[ -z "${NVIM_STATE:-}" ] && export NVIM_STATE="$XDG_STATE_HOME/nvim"
|
||||
[ -z "${NVIM_CONFIG_HOME:-}" ] && export NVIM_CONFIG_HOME="$XDG_CONFIG_HOME/nvim"
|
||||
@@ -512,4 +511,4 @@ if [ -f "$XDG_CONFIG_HOME/exports-local" ]; then source "$XDG_CONFIG_HOME/export
|
||||
# shellcheck source=./exports-lakka
|
||||
if [ -f "$XDG_CONFIG_HOME/exports-$(hostname)" ]; then source "$XDG_CONFIG_HOME/exports-$(hostname)"; fi
|
||||
# shellcheck source=./exports-lakka-secret
|
||||
if [ -f "$XDG_CONFIG_HOME/exports-$(hostname)-secret" ]; then source "$XDG_CONFIG_HOME/exports-$(hostname)-secret"; fi
|
||||
if [ -f "$XDG_CONFIG_HOME/exports-$(hostname)-secret" ]; then source "$XDG_CONFIG_HOME/exports-$(hostname)-secret"; fi
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Set aliases for fish shell
|
||||
|
||||
alias vim='vim -u "$XDG_CONFIG_HOME/vim/vimrc"'
|
||||
alias vim='nvim'
|
||||
alias vi='nvim'
|
||||
|
||||
# eza aliases if eza is installed
|
||||
if type -q eza >/dev/null
|
||||
@@ -92,5 +93,41 @@ function configure_tide \
|
||||
--transient=Yes
|
||||
end
|
||||
|
||||
# Navigation aliases
|
||||
abbr --add .. 'cd ..'
|
||||
abbr --add ... 'cd ../..'
|
||||
abbr --add .... 'cd ../../..'
|
||||
|
||||
# Interesting folders
|
||||
function .b --wraps='cd $XDG_BIN_HOME' --description 'cd $XDG_BIN_HOME'
|
||||
cd $XDG_BIN_HOME $argv
|
||||
end
|
||||
|
||||
function .l --wraps='cd ~/.local' --description 'cd ~/.local'
|
||||
cd ~/.local $argv
|
||||
end
|
||||
|
||||
function .o --wraps='cd ~/Code/ivuorinen/obsidian/' --description 'cd ~/Code/ivuorinen/obsidian/'
|
||||
cd ~/Code/ivuorinen/obsidian/ $argv
|
||||
end
|
||||
|
||||
# cd to git root directory
|
||||
function cdgr --description 'cd to git root'
|
||||
if git rev-parse --is-inside-work-tree &>/dev/null
|
||||
cd (git rev-parse --show-toplevel); or return $status
|
||||
else
|
||||
echo >&2 "Not in a git repository"
|
||||
return 1
|
||||
end
|
||||
end
|
||||
|
||||
# Colored grep
|
||||
abbr --add grep 'grep --color'
|
||||
|
||||
# Date helpers
|
||||
alias isodate="date +'%Y-%m-%d'"
|
||||
alias x-datetime="date +'%Y-%m-%d %H:%M:%S'"
|
||||
alias x-timestamp="date +'%s'"
|
||||
|
||||
# Random abbreviations
|
||||
abbr --add stats onefetch --nerd-fonts --true-color never
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
source "/home/ivuorinen/.local/share/cargo/env.fish"
|
||||
@@ -22,20 +22,17 @@ if status is-interactive
|
||||
type -q op; and test -e "$HOME/.config/op/plugins.sh" &&
|
||||
source "$HOME/.config/op/plugins.sh"
|
||||
|
||||
# version manager initializers
|
||||
type -q mise; and source (mise activate fish|psub)
|
||||
type -q rbenv; and source (rbenv init -|psub)
|
||||
type -q pyenv; and source (pyenv init -|psub)
|
||||
type -q pyenv; and source (pyenv virtualenv-init -|psub)
|
||||
type -q goenv; and source (goenv init -|psub)
|
||||
# type -q fnm; and fnm env --use-on-cd --shell fish | source
|
||||
type -q load_nvm; and load_nvm >/dev/stderr
|
||||
# mise version manager
|
||||
type -q mise; and mise activate fish | source
|
||||
|
||||
# Initialize other tools if available
|
||||
type -q zoxide; and zoxide init fish | source
|
||||
|
||||
# Start tmux if not already running and not in SSH
|
||||
#.t # defined in functions/.t.fish
|
||||
else
|
||||
# Non-interactive shells (IDE subprocesses) use shims for tool discovery
|
||||
type -q mise; and mise activate fish --shims | source
|
||||
end
|
||||
|
||||
# Added by LM Studio CLI (lms)
|
||||
|
||||
@@ -23,11 +23,6 @@ fish_add_path "$XDG_DATA_HOME/mise/shims"
|
||||
# Add cargo bin to path
|
||||
fish_add_path "$XDG_DATA_HOME/cargo/bin"
|
||||
|
||||
# NPM/NVM configuration
|
||||
set -q NVM_DIR; or set -x NVM_DIR "$XDG_DATA_HOME/nvm"
|
||||
fish_add_path "$NVM_DIR/bin"
|
||||
fish_add_path "$XDG_CONFIG_HOME/nvm"
|
||||
|
||||
# Yarn configuration
|
||||
set -q YARN_GLOBAL_FOLDER; or set -x YARN_GLOBAL_FOLDER "$XDG_DATA_HOME/yarn"
|
||||
fish_add_path "$YARN_GLOBAL_FOLDER/bin"
|
||||
@@ -36,6 +31,9 @@ fish_add_path "$YARN_GLOBAL_FOLDER/bin"
|
||||
set -q MASON_HOME; or set -x MASON_HOME "$XDG_DATA_HOME/nvim/mason"
|
||||
fish_add_path "$MASON_HOME/bin"
|
||||
|
||||
# Add dotnet tools to path
|
||||
fish_add_path "$HOME/.dotnet/tools/"
|
||||
|
||||
# Set Neovim environment variables
|
||||
test -z "$NVIM_STATE" && set -x NVIM_STATE "$XDG_STATE_HOME/nvim"
|
||||
test -z "$NVIM_CONFIG_HOME" && set -x NVIM_CONFIG_HOME "$XDG_CONFIG_HOME/nvim"
|
||||
@@ -58,11 +56,14 @@ set -q AWS_CONFIG_FILE; or set -x AWS_CONFIG_FILE "$XDG_STATE_HOME/aws/config"
|
||||
set -q AWS_SHARED_CREDENTIALS_FILE; or set -x AWS_SHARED_CREDENTIALS_FILE "$XDG_STATE_HOME/aws/credentials"
|
||||
set -q AWS_SESSION_TOKEN; or set -x AWS_SESSION_TOKEN "$XDG_STATE_HOME/aws/session_token"
|
||||
set -q AWS_DATA_PATH; or set -x AWS_DATA_PATH "$XDG_DATA_HOME/aws"
|
||||
set -q AWS_DEFAULT_REGION; or set -x AWS_DEFAULT_REGION eu-west-1
|
||||
set -q AWS_DEFAULT_OUTPUT; or set -x AWS_DEFAULT_OUTPUT table
|
||||
set -q AWS_CONFIGURE_KEYS; or set -x AWS_CONFIGURE_KEYS true
|
||||
set -q AWS_CONFIGURE_SESSION; or set -x AWS_CONFIGURE_SESSION true
|
||||
set -q AWS_CONFIGURE_SESSION_DURATION; or set -x AWS_CONFIGURE_SESSION_DURATION 7200
|
||||
set -q AWS_CONFIGURE_SESSION_MFA; or set -x AWS_CONFIGURE_SESSION_MFA true
|
||||
set -q AWS_CONFIGURE_REGION; or set -x AWS_CONFIGURE_REGION true
|
||||
set -q AWS_CONFIGURE_OUTPUT; or set -x AWS_CONFIGURE_OUTPUT true
|
||||
set -q AWS_CONFIGURE_PROFILE; or set -x AWS_CONFIGURE_PROFILE true
|
||||
set -q AWS_CONFIGURE_PROMPT; or set -x AWS_CONFIGURE_PROMPT true
|
||||
set -q AWS_CONFIGURE_PROMPT_DEFAULT; or set -x AWS_CONFIGURE_PROMPT_DEFAULT true
|
||||
@@ -87,14 +88,6 @@ x-dc "$DOCKER_CONFIG"
|
||||
set -q DOCKER_HIDE_LEGACY_COMMANDS; or set -x DOCKER_HIDE_LEGACY_COMMANDS true
|
||||
set -q DOCKER_SCAN_SUGGEST; or set -x DOCKER_SCAN_SUGGEST false
|
||||
|
||||
# FNM / Node.js configuration
|
||||
set -q FNM_DIR; or set -x FNM_DIR "$XDG_DATA_HOME/fnm"
|
||||
fish_add_path "$FNM_DIR"
|
||||
set -q FNM_VERSION_FILE_STRATEGY; or set -x FNM_VERSION_FILE_STRATEGY recursive
|
||||
set -q FNM_USE_ON_CD; or set -x FNM_USE_ON_CD true
|
||||
set -q FNM_COREPACK_ENABLED; or set -x FNM_COREPACK_ENABLED true
|
||||
set -q FNM_RESOLVE_ENGINES; or set -x FNM_RESOLVE_ENGINES true
|
||||
|
||||
# fzf configuration
|
||||
set -q FZF_BASE; or set -x FZF_BASE "$XDG_CONFIG_HOME/fzf"
|
||||
set -q FZF_DEFAULT_OPTS; or set -x FZF_DEFAULT_OPTS \
|
||||
@@ -104,19 +97,14 @@ set -q FZF_DEFAULT_OPTS; or set -x FZF_DEFAULT_OPTS \
|
||||
set -q GNUPGHOME; or set -x GNUPGHOME "$XDG_DATA_HOME/gnupg"
|
||||
|
||||
# Go configuration
|
||||
# set -q GOPATH; or set -x GOPATH "$XDG_DATA_HOME/go"
|
||||
set -q GOPATH; or set -x GOPATH "$XDG_DATA_HOME/go"
|
||||
set -q GOBIN; or set -x GOBIN "$XDG_BIN_HOME"
|
||||
|
||||
set -q GOENV_ROOT; or set -x GOENV_ROOT "$XDG_DATA_HOME/goenv"
|
||||
set -q GOENV_RC_FILE; or set -x GOENV_RC_FILE "$XDG_CONFIG_HOME/goenv/goenvrc.fish"
|
||||
|
||||
# 1Password configuration
|
||||
set -q OP_CACHE; or set -x OP_CACHE "$XDG_STATE_HOME/1password"
|
||||
|
||||
# Python configuration
|
||||
set -q WORKON_HOME; or set -x WORKON_HOME "$XDG_DATA_HOME/virtualenvs"
|
||||
set -q PYENV_ROOT; or set -x PYENV_ROOT "$XDG_DATA_HOME/pyenv"
|
||||
fish_add_path "$PYENV_ROOT/bin"
|
||||
|
||||
# Poetry configuration
|
||||
set -q POETRY_HOME; or set -x POETRY_HOME "$XDG_DATA_HOME/poetry"
|
||||
@@ -128,7 +116,6 @@ set -q CARGO_BIN_HOME; or set -x CARGO_BIN_HOME "$XDG_BIN_HOME"
|
||||
set -q RUSTUP_HOME; or set -x RUSTUP_HOME "$XDG_DATA_HOME/rustup"
|
||||
set -x RUST_WITHOUT "clippy,docs,rls"
|
||||
fish_add_path "$CARGO_HOME/bin"
|
||||
fish_add_path "$XDG_DATA_HOME/bob/nvim-bin"
|
||||
|
||||
# screen configuration
|
||||
set -q SCREENRC; or set -x SCREENRC "$XDG_CONFIG_HOME/misc/screenrc"
|
||||
@@ -166,6 +153,15 @@ x-dc "$WAKATIME_HOME"
|
||||
set -q _ZO_DATA_DIR; or set -x _ZO_DATA_DIR "$XDG_DATA_HOME/zoxide"
|
||||
set -q _ZO_EXCLUDE_DIRS; or set -x _ZO_EXCLUDE_DIRS "$XDG_DATA_HOME"
|
||||
|
||||
# bkt (shell command caching tool) configuration
|
||||
set -q BKT_TTL; or set -x BKT_TTL 1m
|
||||
|
||||
# Manpager
|
||||
set -q MANPAGER; or set -x MANPAGER "less -X"
|
||||
|
||||
# Lando
|
||||
fish_add_path "$HOME/.lando/bin"
|
||||
|
||||
# Miscellaneous configuration
|
||||
set -q CHEAT_USE_FZF; or set -x CHEAT_USE_FZF true
|
||||
set -q SQLITE_HISTORY; or set -x SQLITE_HISTORY "$XDG_CACHE_HOME/sqlite/sqlite_history"
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
function load_nvm --on-variable="PWD"
|
||||
set -l default_node_version (nvm version default)
|
||||
set -l node_version (nvm version)
|
||||
set -l nvmrc_path (nvm_find_nvmrc)
|
||||
if test -n "$nvmrc_path"
|
||||
set -l nvmrc_node_version (nvm version (cat $nvmrc_path))
|
||||
if test "$nvmrc_node_version" = N/A
|
||||
nvm install (cat $nvmrc_path)
|
||||
else if test "$nvmrc_node_version" != "$node_version"
|
||||
nvm use $nvmrc_node_version
|
||||
end
|
||||
else if test "$node_version" != "$default_node_version"
|
||||
echo "Reverting to default Node version"
|
||||
nvm use default
|
||||
end
|
||||
end
|
||||
@@ -1,3 +0,0 @@
|
||||
function nvm
|
||||
bass source $NVM_DIR/nvm.sh --no-use ';' nvm $argv
|
||||
end
|
||||
@@ -1,3 +0,0 @@
|
||||
function nvm_find_nvmrc
|
||||
bass source $NVM_DIR/nvm.sh --no-use ';' nvm_find_nvmrc
|
||||
end
|
||||
@@ -58,3 +58,32 @@ fish_pager_color_progress 737994
|
||||
fish_pager_color_prefix f4b8e4
|
||||
fish_pager_color_completion c6d0f5
|
||||
fish_pager_color_description 737994
|
||||
|
||||
[unknown]
|
||||
# preferred_background: 303446
|
||||
fish_color_normal c6d0f5
|
||||
fish_color_command 8caaee
|
||||
fish_color_param eebebe
|
||||
fish_color_keyword ca9ee6
|
||||
fish_color_quote a6d189
|
||||
fish_color_redirection f4b8e4
|
||||
fish_color_end ef9f76
|
||||
fish_color_comment 838ba7
|
||||
fish_color_error e78284
|
||||
fish_color_gray 737994
|
||||
fish_color_selection --background=414559
|
||||
fish_color_search_match --background=414559
|
||||
fish_color_option a6d189
|
||||
fish_color_operator f4b8e4
|
||||
fish_color_escape ea999c
|
||||
fish_color_autosuggestion 737994
|
||||
fish_color_cancel e78284
|
||||
fish_color_cwd e5c890
|
||||
fish_color_user 81c8be
|
||||
fish_color_host 8caaee
|
||||
fish_color_host_remote a6d189
|
||||
fish_color_status e78284
|
||||
fish_pager_color_progress 737994
|
||||
fish_pager_color_prefix f4b8e4
|
||||
fish_pager_color_completion c6d0f5
|
||||
fish_pager_color_description 737994
|
||||
|
||||
@@ -58,3 +58,32 @@ fish_pager_color_progress 6e738d
|
||||
fish_pager_color_prefix f5bde6
|
||||
fish_pager_color_completion cad3f5
|
||||
fish_pager_color_description 6e738d
|
||||
|
||||
[unknown]
|
||||
# preferred_background: 24273a
|
||||
fish_color_normal cad3f5
|
||||
fish_color_command 8aadf4
|
||||
fish_color_param f0c6c6
|
||||
fish_color_keyword c6a0f6
|
||||
fish_color_quote a6da95
|
||||
fish_color_redirection f5bde6
|
||||
fish_color_end f5a97f
|
||||
fish_color_comment 8087a2
|
||||
fish_color_error ed8796
|
||||
fish_color_gray 6e738d
|
||||
fish_color_selection --background=363a4f
|
||||
fish_color_search_match --background=363a4f
|
||||
fish_color_option a6da95
|
||||
fish_color_operator f5bde6
|
||||
fish_color_escape ee99a0
|
||||
fish_color_autosuggestion 6e738d
|
||||
fish_color_cancel ed8796
|
||||
fish_color_cwd eed49f
|
||||
fish_color_user 8bd5ca
|
||||
fish_color_host 8aadf4
|
||||
fish_color_host_remote a6da95
|
||||
fish_color_status ed8796
|
||||
fish_pager_color_progress 6e738d
|
||||
fish_pager_color_prefix f5bde6
|
||||
fish_pager_color_completion cad3f5
|
||||
fish_pager_color_description 6e738d
|
||||
|
||||
@@ -58,3 +58,32 @@ fish_pager_color_progress 6c7086
|
||||
fish_pager_color_prefix f5c2e7
|
||||
fish_pager_color_completion cdd6f4
|
||||
fish_pager_color_description 6c7086
|
||||
|
||||
[unknown]
|
||||
# preferred_background: 1e1e2e
|
||||
fish_color_normal cdd6f4
|
||||
fish_color_command 89b4fa
|
||||
fish_color_param f2cdcd
|
||||
fish_color_keyword cba6f7
|
||||
fish_color_quote a6e3a1
|
||||
fish_color_redirection f5c2e7
|
||||
fish_color_end fab387
|
||||
fish_color_comment 7f849c
|
||||
fish_color_error f38ba8
|
||||
fish_color_gray 6c7086
|
||||
fish_color_selection --background=313244
|
||||
fish_color_search_match --background=313244
|
||||
fish_color_option a6e3a1
|
||||
fish_color_operator f5c2e7
|
||||
fish_color_escape eba0ac
|
||||
fish_color_autosuggestion 6c7086
|
||||
fish_color_cancel f38ba8
|
||||
fish_color_cwd f9e2af
|
||||
fish_color_user 94e2d5
|
||||
fish_color_host 89b4fa
|
||||
fish_color_host_remote a6e3a1
|
||||
fish_color_status f38ba8
|
||||
fish_pager_color_progress 6c7086
|
||||
fish_pager_color_prefix f5c2e7
|
||||
fish_pager_color_completion cdd6f4
|
||||
fish_pager_color_description 6c7086
|
||||
|
||||
1
config/git/overrides/.gitignore
vendored
1
config/git/overrides/.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
!.gitkeep
|
||||
config
|
||||
ignore
|
||||
|
||||
@@ -1,17 +1,13 @@
|
||||
tap "1password/tap"
|
||||
tap "anchore/grype"
|
||||
tap "cormacrelf/tap"
|
||||
tap "ddosify/tap"
|
||||
tap "dm3ch/tap"
|
||||
tap "doron-cohen/tap"
|
||||
tap "gesquive/tap"
|
||||
tap "github/gh"
|
||||
tap "golangci/tap"
|
||||
tap "homebrew/autoupdate"
|
||||
tap "homebrew/bundle"
|
||||
tap "homebrew/services"
|
||||
tap "jesseduffield/lazygit"
|
||||
tap "k8sgpt-ai/k8sgpt"
|
||||
tap "keith/formulae"
|
||||
tap "koekeishiya/formulae"
|
||||
tap "mongodb/brew"
|
||||
@@ -20,14 +16,9 @@ tap "pantheon-systems/external"
|
||||
tap "reviewdog/tap"
|
||||
tap "shivammathur/extensions"
|
||||
tap "shivammathur/php"
|
||||
tap "snyk/tap"
|
||||
tap "tabbyml/tabby"
|
||||
tap "teamookla/speedtest"
|
||||
tap "xwmx/taps"
|
||||
# Run your GitHub Actions locally
|
||||
brew "act"
|
||||
# Simple, modern, secure file encryption
|
||||
brew "age"
|
||||
# Mozilla CA certificate store
|
||||
brew "ca-certificates"
|
||||
# Mozilla CA bundle for Python
|
||||
@@ -40,10 +31,6 @@ brew "cryptography"
|
||||
brew "libyaml"
|
||||
# Display directories as trees (with optional color/HTML output)
|
||||
brew "tree"
|
||||
# Automate deployment, configuration, and upgrading
|
||||
brew "ansible"
|
||||
# Checks ansible playbooks for practices and behaviour
|
||||
brew "ansible-lint"
|
||||
# Generic-purpose lossless compression algorithm by Google
|
||||
brew "brotli"
|
||||
# Library and utilities for processing GIFs
|
||||
@@ -80,18 +67,12 @@ brew "pkgconf"
|
||||
brew "autogen"
|
||||
# Tool for generating GNU Standards-compliant Makefiles
|
||||
brew "automake"
|
||||
# Official Amazon AWS command-line interface
|
||||
brew "awscli"
|
||||
# GNU internationalization (i18n) and localization (l10n) library
|
||||
brew "gettext"
|
||||
# Bourne-Again SHell, a UNIX command interpreter
|
||||
brew "bash"
|
||||
# Clone of cat(1) with syntax highlighting and Git integration
|
||||
brew "bat"
|
||||
# GNU File, Shell, and Text utilities
|
||||
brew "coreutils"
|
||||
# Bash Automated Testing System
|
||||
brew "bats-core"
|
||||
# Parser generator
|
||||
brew "bison"
|
||||
# Freely available high-quality data compressor
|
||||
@@ -102,22 +83,12 @@ brew "freetype"
|
||||
brew "fontconfig"
|
||||
# Core application library for C
|
||||
brew "glib"
|
||||
# Binary installation for rust projects
|
||||
brew "cargo-binstall"
|
||||
# Multi-platform support library with a focus on asynchronous I/O
|
||||
brew "libuv"
|
||||
# Open-source, cross-platform JavaScript runtime environment
|
||||
brew "node", link: false
|
||||
# CLI tool for analyzing Claude Code usage from local JSONL files
|
||||
brew "ccusage"
|
||||
# JSON Schema CLI
|
||||
brew "check-jsonschema"
|
||||
# Prevent cloud misconfigurations during build-time for IaC tools
|
||||
brew "checkov"
|
||||
# Human-friendly and fast alternative to cut and (sometimes) awk
|
||||
brew "choose-rust"
|
||||
# Cross-platform make
|
||||
brew "cmake"
|
||||
# Get a file from an HTTP, HTTPS or FTP server
|
||||
brew "curl"
|
||||
# Network authentication protocol
|
||||
@@ -154,14 +125,8 @@ brew "flock"
|
||||
brew "freetds"
|
||||
# Monitor a directory for changes and run a shell command
|
||||
brew "fswatch"
|
||||
# Command-line fuzzy finder written in Go
|
||||
brew "fzf"
|
||||
# Graphics library to dynamically manipulate images
|
||||
brew "gd"
|
||||
# Disk usage analyzer with console interface written in Go
|
||||
brew "gdu"
|
||||
# GitHub command-line tool
|
||||
brew "gh"
|
||||
# Distributed revision control system
|
||||
brew "git"
|
||||
# Enable transparent encryption/decryption of files in a git repo
|
||||
@@ -170,14 +135,10 @@ brew "git-crypt"
|
||||
brew "git-extras"
|
||||
# Browse your latest git branches, formatted real fancy
|
||||
brew "git-recent"
|
||||
# Render markdown on the CLI
|
||||
brew "glow"
|
||||
# GNU implementation of the famous stream editor
|
||||
brew "gnu-sed"
|
||||
# GNU Pretty Good Privacy (PGP) package
|
||||
brew "gnupg"
|
||||
# Go version management
|
||||
brew "goenv"
|
||||
# Library access to GnuPG
|
||||
brew "gpgme"
|
||||
# Manage your GnuPG keys with ease!
|
||||
@@ -190,8 +151,6 @@ brew "librsvg"
|
||||
brew "graphviz"
|
||||
# GNU grep, egrep and fgrep
|
||||
brew "grep"
|
||||
# Vulnerability scanner for container images and filesystems
|
||||
brew "grype"
|
||||
# Popular GNU data compression program
|
||||
brew "gzip"
|
||||
# Improved top (interactive process viewer)
|
||||
@@ -206,8 +165,6 @@ brew "imagemagick"
|
||||
brew "irssi"
|
||||
# Image manipulation library
|
||||
brew "jpeg"
|
||||
# Lightweight and flexible command-line JSON processor
|
||||
brew "jq"
|
||||
# JSON parser for C
|
||||
brew "json-c"
|
||||
# Crawling and spidering framework
|
||||
@@ -244,8 +201,6 @@ brew "nginx"
|
||||
brew "nmap"
|
||||
# Libraries for security-enabled client and server applications
|
||||
brew "nss"
|
||||
# Command-line Git information tool
|
||||
brew "onefetch"
|
||||
# General-purpose speech recognition model
|
||||
brew "openai-whisper"
|
||||
# Open source suite of directory software
|
||||
@@ -258,46 +213,18 @@ brew "php", link: false
|
||||
brew "php@8.2", link: true
|
||||
# General-purpose scripting language
|
||||
brew "php@8.3"
|
||||
# Pins GitHub Actions to full hashes and versions
|
||||
brew "pinact"
|
||||
# Python version management
|
||||
brew "pyenv"
|
||||
# Migrate pip packages from one Python version to another
|
||||
brew "pyenv-pip-migrate"
|
||||
# Pyenv plugin to manage virtualenv
|
||||
brew "pyenv-virtualenv"
|
||||
# Interpreted, interactive, object-oriented programming language
|
||||
brew "python@3.11"
|
||||
# Install various Ruby versions and implementations
|
||||
brew "ruby-build"
|
||||
# Ruby version manager
|
||||
brew "rbenv"
|
||||
# Generate C-based recognizers from regular expressions
|
||||
brew "re2c"
|
||||
# Rust toolchain installer
|
||||
brew "rustup"
|
||||
# Static analysis and lint tool, for (ba)sh scripts
|
||||
brew "shellcheck"
|
||||
# User interface to the TELNET protocol
|
||||
brew "telnet"
|
||||
# Send macOS User Notifications from the command-line
|
||||
brew "terminal-notifier"
|
||||
# Tool which checks for the support of TLS/SSL ciphers and flaws
|
||||
brew "testssl"
|
||||
# Terraform version manager inspired by rbenv
|
||||
brew "tfenv"
|
||||
# Linter for Terraform files
|
||||
brew "tflint"
|
||||
# Static analysis security scanner for your terraform code
|
||||
brew "tfsec"
|
||||
# Terminal multiplexer
|
||||
brew "tmux"
|
||||
# Extremely fast Python package installer and resolver, written in Rust
|
||||
brew "uv"
|
||||
# Tool for creating isolated virtual python environments
|
||||
brew "virtualenv"
|
||||
# Command-line interface to the WakaTime api
|
||||
brew "wakatime-cli"
|
||||
# Executes a program periodically, showing output fullscreen
|
||||
brew "watch"
|
||||
# Internet file retriever
|
||||
@@ -336,8 +263,6 @@ brew "shivammathur/extensions/yaml@8.3"
|
||||
brew "shivammathur/php/php-debug"
|
||||
# General-purpose scripting language
|
||||
brew "shivammathur/php/php@8.2-debug"
|
||||
# Find & fix known vulnerabilities in open-source dependencies
|
||||
brew "snyk/tap/snyk"
|
||||
# Tabby: AI Coding Assistant
|
||||
brew "tabbyml/tabby/tabby"
|
||||
# Command-line interface for 1Password
|
||||
|
||||
@@ -1,4 +1,2 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
[[ -z "$NVM_DIR" ]] && export NVM_DIR="$HOME/.config/nvm"
|
||||
[[ -s "$NVM_DIR/nvm.sh" ]] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
eval "$(mise activate --shims)"
|
||||
|
||||
@@ -1,68 +1,68 @@
|
||||
{
|
||||
"profiles": [
|
||||
{
|
||||
"complex_modifications": {
|
||||
"rules": [
|
||||
{
|
||||
"description": "Change right_command+hjkl to arrow keys",
|
||||
"manipulators": [
|
||||
{
|
||||
"from": {
|
||||
"key_code": "h",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "left_arrow" }],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "j",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "down_arrow" }],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "k",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "up_arrow" }],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "l",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "right_arrow" }],
|
||||
"type": "basic"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "Default profile",
|
||||
"selected": true,
|
||||
"simple_modifications": [
|
||||
"profiles": [
|
||||
{
|
||||
"from": { "key_code": "caps_lock" },
|
||||
"to": [{ "key_code": "f18" }]
|
||||
"complex_modifications": {
|
||||
"rules": [
|
||||
{
|
||||
"description": "Change right_command+hjkl to arrow keys",
|
||||
"manipulators": [
|
||||
{
|
||||
"from": {
|
||||
"key_code": "h",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "left_arrow" }],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "j",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "down_arrow" }],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "k",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "up_arrow" }],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "l",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "right_arrow" }],
|
||||
"type": "basic"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "Default profile",
|
||||
"selected": true,
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "caps_lock" },
|
||||
"to": [{ "key_code": "f18" }]
|
||||
}
|
||||
],
|
||||
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
|
||||
}
|
||||
],
|
||||
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
|
||||
105
config/mise/config.toml
Normal file
105
config/mise/config.toml
Normal file
@@ -0,0 +1,105 @@
|
||||
[tools]
|
||||
# Language runtimes
|
||||
node = "lts"
|
||||
python = "3"
|
||||
go = "latest"
|
||||
rust = "stable"
|
||||
|
||||
# Pre-built binaries via ubi (fast — no compilation)
|
||||
"ubi:sharkdp/fd" = "latest"
|
||||
"ubi:BurntSushi/ripgrep" = "latest"
|
||||
"ubi:eza-community/eza" = "latest"
|
||||
"ubi:ClementTsang/bottom" = "latest"
|
||||
"ubi:ajeetdsouza/zoxide" = "latest"
|
||||
"ubi:tree-sitter/tree-sitter" = "latest"
|
||||
"ubi:neovim/neovim" = "latest" # Neovim editor binary
|
||||
"ubi:dandavison/delta" = "latest"
|
||||
|
||||
# Cargo-based tools (no pre-built binary available)
|
||||
"cargo:bkt" = "latest"
|
||||
"cargo:difftastic" = "latest"
|
||||
"cargo:tmux-sessionizer" = "latest"
|
||||
|
||||
# Go-based tools
|
||||
"go:github.com/google/yamlfmt/cmd/yamlfmt" = "latest"
|
||||
"go:github.com/cheat/cheat/cmd/cheat" = "latest"
|
||||
"go:github.com/charmbracelet/glow" = "latest"
|
||||
"go:github.com/junegunn/fzf" = "latest"
|
||||
"go:github.com/charmbracelet/gum" = "latest"
|
||||
"go:github.com/joshmedeski/sesh/v2" = "latest"
|
||||
"go:github.com/dotzero/git-profile" = "latest"
|
||||
|
||||
# npm-based tools
|
||||
"npm:editorconfig-checker" = "latest"
|
||||
"npm:github-release-notes" = "latest"
|
||||
"npm:neovim" = "latest" # Node.js client for Neovim's RPC API (required by plugins)
|
||||
"npm:corepack" = "latest"
|
||||
|
||||
# Python tools (via pipx backend)
|
||||
"pipx:ansible" = "latest"
|
||||
"pipx:ansible-lint" = "latest"
|
||||
"pipx:ruff" = "latest"
|
||||
"pipx:openapi-python-client" = "latest"
|
||||
|
||||
# .NET tools (via dotnet backend)
|
||||
"dotnet:coverlet.console" = "latest"
|
||||
"dotnet:csharp-ls" = "latest"
|
||||
"dotnet:csharpier" = "latest"
|
||||
"dotnet:ilspycmd" = "latest"
|
||||
"dotnet:dotnet-ef" = "latest"
|
||||
|
||||
# DevOps & security tools
|
||||
act = "latest"
|
||||
age = "latest"
|
||||
aws-cli = "latest"
|
||||
checkov = "latest"
|
||||
grype = "latest"
|
||||
pinact = "latest"
|
||||
snyk = "latest"
|
||||
|
||||
# Dev tools (pre-built binaries)
|
||||
lazygit = "latest"
|
||||
bat = "latest"
|
||||
bats = "latest"
|
||||
choose = "latest"
|
||||
cmake = "latest"
|
||||
gdu = "latest"
|
||||
github-cli = "latest"
|
||||
jq = "latest"
|
||||
shellcheck = "latest"
|
||||
shfmt = "latest"
|
||||
stylua = "latest"
|
||||
actionlint = "latest"
|
||||
"aqua:mpalmer/action-validator" = "latest"
|
||||
oh-my-posh = "latest"
|
||||
"ubi:o2sh/onefetch" = "latest"
|
||||
"ubi:wakatime/wakatime-cli" = "latest"
|
||||
|
||||
# Terraform (replaces tfenv)
|
||||
terraform = "latest"
|
||||
tflint = "latest"
|
||||
tfsec = "latest"
|
||||
|
||||
# Other useful tools
|
||||
uv = "latest"
|
||||
|
||||
[settings]
|
||||
trusted_config_paths = [
|
||||
"~/Code/ivuorinen",
|
||||
"~/Code/s",
|
||||
"~/Code/masf",
|
||||
]
|
||||
# Respect .nvmrc, .python-version, .ruby-version, etc. in other projects.
|
||||
# This repo uses .mise.toml at the repo root for pinned versions.
|
||||
idiomatic_version_file = true
|
||||
idiomatic_version_file_enable_tools = [
|
||||
"node", "python", "ruby", "go", "java",
|
||||
"terraform", "yarn", "bun", "deno", "dotnet",
|
||||
]
|
||||
|
||||
# Generate mise.lock for reproducible installs
|
||||
lockfile = true
|
||||
|
||||
# Save disk space — don't keep downloaded archives or failed installs
|
||||
always_keep_download = false
|
||||
always_keep_install = false
|
||||
@@ -27,8 +27,12 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- ── Add ~/.local/bin to the PATH ────────────────────────────────────
|
||||
vim.fn.setenv('PATH', vim.fn.expand '$HOME/.local/bin' .. ':' .. vim.fn.expand '$PATH')
|
||||
-- ── Add mise shims and ~/.local/bin to the PATH ───────────────────────
|
||||
vim.env.PATH = vim.env.HOME
|
||||
.. '/.local/share/mise/shims:'
|
||||
.. vim.env.HOME
|
||||
.. '/.local/bin:'
|
||||
.. vim.env.PATH
|
||||
|
||||
require 'options'
|
||||
require 'autogroups'
|
||||
|
||||
@@ -102,4 +102,4 @@ function GetIntelephenseLicense()
|
||||
f:close()
|
||||
local stripped = string.gsub(content, '%s+', '')
|
||||
return stripped == '' and nil or stripped
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
# $NVM_DIR/default-packages
|
||||
|
||||
yarn
|
||||
neovim
|
||||
corepack
|
||||
@@ -71,7 +71,6 @@ x-set-env XDG_BIN_HOME "$HOME/.local/bin"
|
||||
x-path-prepend "/usr/local/bin"
|
||||
x-path-prepend "/opt/homebrew/bin"
|
||||
x-path-prepend "$XDG_DATA_HOME/cargo/bin"
|
||||
x-path-prepend "$XDG_DATA_HOME/bob/nvim-bin"
|
||||
x-path-prepend "$DOTFILES/local/bin"
|
||||
x-path-prepend "$XDG_BIN_HOME"
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
# -u : Unset the specified option.
|
||||
|
||||
set -as terminal-features ",xterm-256color:RGB:clipboard:usstyle:strikethrough:overline"
|
||||
set -g allow-passthrough on # Let apps query outer terminal (OSC 11 for fish theme detection)
|
||||
|
||||
set -s escape-time 0 # Address vim mode switching delay
|
||||
set -s set-clipboard on # System clipboard via OSC 52
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
"
|
||||
" vim: ts=2 sw=2 expandtab
|
||||
" vint: +ProhibitAbbreviationOption +ProhibitSetNoCompatible
|
||||
|
||||
" mise — add shims to PATH for tool discovery
|
||||
let $PATH = $HOME . '/.local/bin:' . $HOME . '/.local/share/mise/shims:' . $PATH
|
||||
"*****************************************************************************
|
||||
"" Vim-Plug core
|
||||
"*****************************************************************************
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
# Plugin configurations
|
||||
zstyle ':antidote:bundle' use-friendly-names 'yes'
|
||||
zstyle ':omz:update' mode reminder
|
||||
zstyle ':omz:plugins:nvm' autoload yes
|
||||
|
||||
# Pure prompt settings
|
||||
export PURE_PROMPT_SYMBOL='➜'
|
||||
|
||||
@@ -24,14 +24,10 @@ ohmyzsh/ohmyzsh path:plugins/fzf
|
||||
ohmyzsh/ohmyzsh path:plugins/git
|
||||
ohmyzsh/ohmyzsh path:plugins/golang
|
||||
ohmyzsh/ohmyzsh path:plugins/gpg-agent
|
||||
ohmyzsh/ohmyzsh path:plugins/nvm
|
||||
ohmyzsh/ohmyzsh path:plugins/python
|
||||
# ohmyzsh/ohmyzsh path:plugins/tmux
|
||||
ohmyzsh/ohmyzsh path:plugins/z
|
||||
|
||||
# Automatically activate nvm if .nvmrc file is present
|
||||
ivuorinen/nvm-auto-use
|
||||
|
||||
# Add core plugins that make Zsh a bit more like Fish
|
||||
zdharma-continuum/fast-syntax-highlighting
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
vcs # git status
|
||||
# command_execution_time # previous command duration
|
||||
go
|
||||
nvm
|
||||
asdf
|
||||
aws
|
||||
# =========================[ Line #2 ]=========================
|
||||
newline # \n
|
||||
@@ -121,8 +121,8 @@
|
||||
# Don't show context unless root or in SSH.
|
||||
# typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_CONTENT_EXPANSION=
|
||||
|
||||
# aws, go and nvm versions colors.
|
||||
typeset -g POWERLEVEL9K_{AWS,GO,NVM}_FOREGROUND=$grey
|
||||
# aws, go and asdf versions colors.
|
||||
typeset -g POWERLEVEL9K_{AWS,GO,ASDF}_FOREGROUND=$grey
|
||||
|
||||
# Show previous command duration only if it's >= 86400s = 24h.
|
||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=86400
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
# shellcheck disable=SC1071,SC1103,SC2148
|
||||
# Source: https://github.com/nvm-sh/nvm#zsh
|
||||
# place this after nvm initialization!
|
||||
autoload -U add-zsh-hook
|
||||
|
||||
load-nvmrc() {
|
||||
local nvmrc_path
|
||||
nvmrc_path="$(nvm_find_nvmrc)"
|
||||
|
||||
if [ -n "$nvmrc_path" ]; then
|
||||
local nvmrc_node_version
|
||||
nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
|
||||
|
||||
if [ "$nvmrc_node_version" = "N/A" ]; then
|
||||
nvm install
|
||||
elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
|
||||
nvm use
|
||||
fi
|
||||
elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then
|
||||
echo "Reverting to nvm default version"
|
||||
nvm use default
|
||||
fi
|
||||
}
|
||||
|
||||
add-zsh-hook chpwd load-nvmrc
|
||||
load-nvmrc
|
||||
Reference in New Issue
Block a user