mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-27 20:45:31 +00:00
Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1df05ac0ba | |||
| e54e202281 | |||
| c226943aa9 | |||
| dda4b65458 | |||
| 7d564d0b4d | |||
| bc30e5f7a6 | |||
| 9e2f7e8f1b | |||
| 7b47e49804 | |||
| 1be7649122 | |||
| 453d54bc7f | |||
| 7ede7b9ac1 | |||
| a90743a09c | |||
| 185d28e587 | |||
|
|
37f023351d | ||
| 39523e9234 | |||
|
|
1f8fc0d289 | ||
| c083d2a20a | |||
| 75c6a0bccd | |||
| 5ce86b3229 | |||
| 885189e4ff | |||
| 8f3f4d7ed9 |
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -58,3 +58,6 @@
|
||||
[submodule "cheat-tldr"]
|
||||
path = config/cheat/cheatsheets/tldr
|
||||
url = https://github.com/ivuorinen/cheatsheet-tldr.git
|
||||
[submodule "nvim-kickstart"]
|
||||
path = config/nvim-kickstart
|
||||
url = https://github.com/ivuorinen/kickstart.nvim
|
||||
|
||||
@@ -10,6 +10,9 @@ git submodule add --name dotbot-include \
|
||||
git submodule add --name dotbot-pip \
|
||||
-f https://github.com/sobolevn/dotbot-pip.git tools/dotbot-pip
|
||||
|
||||
git submodule add --name nvim-kickstart \
|
||||
-f https://github.com/ivuorinen/kickstart.nvim config/nvim-kickstart
|
||||
|
||||
# other repos
|
||||
git submodule add --name cheat-community \
|
||||
-f https://github.com/cheat/cheatsheets.git config/cheat/cheatsheets/community
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/env bash
|
||||
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -z "$NVM_DIR" ] && export NVM_DIR="$HOME/.config/nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||
|
||||
|
||||
@@ -324,21 +324,26 @@ chars = "\u0002/"
|
||||
key = "F"
|
||||
mods = "Command"
|
||||
|
||||
[mouse]
|
||||
hide_when_typing = true
|
||||
|
||||
[[mouse.bindings]]
|
||||
action = "PasteSelection"
|
||||
mouse = "Middle"
|
||||
|
||||
[selection]
|
||||
semantic_escape_chars = ",│`|:\"' ()[]{}<>"
|
||||
save_to_clipboard = true
|
||||
|
||||
[window]
|
||||
decorations = "none"
|
||||
decorations = "Full"
|
||||
dynamic_title = true
|
||||
opacity = 0.98
|
||||
blur = true
|
||||
|
||||
[window.dimensions]
|
||||
columns = 200
|
||||
lines = 100
|
||||
lines = 75
|
||||
|
||||
[window.padding]
|
||||
x = 5
|
||||
|
||||
@@ -51,6 +51,10 @@ alias tmux='tmux new-session -A -s main'
|
||||
# tmux: attach or create new session
|
||||
alias ta='tmux attach || tmux'
|
||||
|
||||
# nvim
|
||||
alias nvim-ks='NVIM_APPNAME="nvim-kickstart" nvim'
|
||||
alias ks='NVIM_APPNAME="nvim-kickstart" nvim'
|
||||
|
||||
# watch with: differences, precise, beep and color
|
||||
alias watchx='watch -dpbc'
|
||||
# delete .DS_Store files
|
||||
|
||||
@@ -52,5 +52,9 @@ have_brew()
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ -f "$DOTFILES/config/exports-secret" ]]; then
|
||||
source "$DOTFILES/config/exports-secret"
|
||||
fi
|
||||
|
||||
source "$DOTFILES/config/exports-shell"
|
||||
source "$DOTFILES/config/exports-apps"
|
||||
|
||||
@@ -29,6 +29,8 @@ export BKT_TTL=1m
|
||||
|
||||
# brew, https://docs.brew.sh/Manpage
|
||||
export HOMEBREW_NO_ENV_HINTS=true
|
||||
export HOMEBREW_BUNDLE_MAS_SKIP=true
|
||||
export HOMEBREW_BUNDLE_FILE="$XDG_CONFIG_HOME/homebrew/Brewfile"
|
||||
|
||||
# composer, https://getcomposer.org/
|
||||
export COMPOSER_HOME="$XDG_STATE_HOME/composer"
|
||||
@@ -81,8 +83,8 @@ export OP_CACHE="$XDG_STATE_HOME/1password"
|
||||
# pyenv, python environments
|
||||
export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
|
||||
export PYENV_ROOT="$XDG_STATE_HOME/pyenv"
|
||||
export PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH"
|
||||
x-have pyenv && {
|
||||
export PATH="$PYENV_ROOT/shims:$PATH"
|
||||
eval "$(pyenv init -)"
|
||||
}
|
||||
|
||||
|
||||
@@ -35,10 +35,10 @@ brew "aom"
|
||||
brew "apr"
|
||||
# Mozilla CA certificate store
|
||||
brew "ca-certificates"
|
||||
# Cryptography and SSL/TLS Toolkit
|
||||
brew "openssl@3"
|
||||
# Companion library to apr, the Apache Portable Runtime library
|
||||
brew "apr-util"
|
||||
# Password hashing library and CLI utility
|
||||
brew "argon2"
|
||||
# Spell checker with better logic than ispell
|
||||
brew "aspell"
|
||||
# Automatic configure script builder
|
||||
@@ -47,8 +47,6 @@ brew "autoconf"
|
||||
brew "bash"
|
||||
# Clone of cat(1) with syntax highlighting and Git integration
|
||||
brew "bat"
|
||||
# C/C++ and Java libraries for Unicode and globalization
|
||||
brew "icu4c"
|
||||
# Yet another cross-platform graphical process/system monitor
|
||||
brew "bottom"
|
||||
# Software library to render fonts
|
||||
@@ -59,6 +57,8 @@ brew "fontconfig"
|
||||
brew "gettext"
|
||||
# Core application library for C
|
||||
brew "glib"
|
||||
# Mozilla CA bundle for Python
|
||||
brew "certifi"
|
||||
# Human-friendly and fast alternative to cut and (sometimes) awk
|
||||
brew "choose-rust"
|
||||
# Cross-platform make
|
||||
@@ -121,6 +121,8 @@ brew "gpgme"
|
||||
brew "gpg-tui"
|
||||
# Image manipulation
|
||||
brew "netpbm"
|
||||
# C/C++ and Java libraries for Unicode and globalization
|
||||
brew "icu4c"
|
||||
# OpenType text shaping engine
|
||||
brew "harfbuzz"
|
||||
# Framework for layout and rendering of i18n text
|
||||
@@ -149,14 +151,12 @@ brew "jq"
|
||||
brew "krb5"
|
||||
# Tool to detect/remediate misconfig and security risks of GitHub/GitLab assets
|
||||
brew "legitify"
|
||||
# Secure hashing function
|
||||
brew "libb2"
|
||||
# Postgres C API library
|
||||
brew "libpq"
|
||||
# Manage compile and link flags for libraries
|
||||
brew "pkg-config"
|
||||
# YAML Parser
|
||||
brew "libyaml"
|
||||
# Interpreted, interactive, object-oriented programming language
|
||||
brew "python@3.11"
|
||||
# Package manager for the Lua programming language
|
||||
brew "luarocks"
|
||||
# LZMA-based compression program similar to gzip or bzip2
|
||||
@@ -171,6 +171,8 @@ brew "ncdu"
|
||||
brew "nginx"
|
||||
# Port scanning utility for large networks
|
||||
brew "nmap"
|
||||
# Manage compile and link flags for libraries
|
||||
brew "pkg-config"
|
||||
# Coreutils progress viewer
|
||||
brew "progress"
|
||||
# Python version management
|
||||
@@ -179,6 +181,10 @@ brew "pyenv"
|
||||
brew "pyenv-pip-migrate"
|
||||
# Pyenv plugin to manage virtualenv
|
||||
brew "pyenv-virtualenv"
|
||||
# Cryptographic recipes and primitives for Python
|
||||
brew "python-cryptography"
|
||||
# Install various Ruby versions and implementations
|
||||
brew "ruby-build"
|
||||
# Ruby version manager
|
||||
brew "rbenv"
|
||||
# Search tool like grep and The Silver Searcher
|
||||
|
||||
1
config/nvim-kickstart
Submodule
1
config/nvim-kickstart
Submodule
Submodule config/nvim-kickstart added at 4eed1621f5
@@ -2,11 +2,12 @@
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.coding.copilot",
|
||||
"lazyvim.plugins.extras.coding.yanky",
|
||||
"lazyvim.plugins.extras.editor.aerial",
|
||||
"lazyvim.plugins.extras.editor.harpoon2",
|
||||
"lazyvim.plugins.extras.editor.leap",
|
||||
"lazyvim.plugins.extras.editor.symbols-outline",
|
||||
"lazyvim.plugins.extras.editor.refactoring",
|
||||
"lazyvim.plugins.extras.formatting.black",
|
||||
"lazyvim.plugins.extras.formatting.prettier",
|
||||
"lazyvim.plugins.extras.lang.ansible",
|
||||
"lazyvim.plugins.extras.lang.docker",
|
||||
"lazyvim.plugins.extras.lang.go",
|
||||
"lazyvim.plugins.extras.lang.json",
|
||||
@@ -15,15 +16,18 @@
|
||||
"lazyvim.plugins.extras.lang.tailwind",
|
||||
"lazyvim.plugins.extras.lang.terraform",
|
||||
"lazyvim.plugins.extras.lang.typescript",
|
||||
"lazyvim.plugins.extras.lang.vue",
|
||||
"lazyvim.plugins.extras.lang.yaml",
|
||||
"lazyvim.plugins.extras.linting.eslint",
|
||||
"lazyvim.plugins.extras.ui.edgy",
|
||||
"lazyvim.plugins.extras.ui.mini-animate",
|
||||
"lazyvim.plugins.extras.util.dot",
|
||||
"lazyvim.plugins.extras.vscode"
|
||||
"lazyvim.plugins.extras.util.mini-hipatterns",
|
||||
"lazyvim.plugins.extras.editor.aerial",
|
||||
"lazyvim.plugins.extras.editor.outline"
|
||||
],
|
||||
"news": {
|
||||
"NEWS.md": "2123"
|
||||
"NEWS.md": "5204"
|
||||
},
|
||||
"version": 2
|
||||
"version": 6
|
||||
}
|
||||
@@ -47,6 +47,7 @@ bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
||||
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
||||
bind '"' split-window -v -c "#{pane_current_path}"
|
||||
bind '!' split-window -h -c "#{pane_current_path}"
|
||||
bind '^' switch-client -t'{marked}'
|
||||
|
||||
# synchronize all panes in a window
|
||||
bind y setw synchronize-panes
|
||||
@@ -70,9 +71,22 @@ bind p paste-buffer
|
||||
# Setting status on
|
||||
set -g status "on"
|
||||
|
||||
# Hide clock
|
||||
set -g display-time 0
|
||||
|
||||
# Activity Monitoring (for when something happens in another pain)
|
||||
set -g monitor-activity on
|
||||
set -g visual-activity on
|
||||
|
||||
# Expose window title
|
||||
set-option -g set-titles on
|
||||
|
||||
# Set bigger history limit
|
||||
set -g history-limit 20000
|
||||
|
||||
# Keep Tmux alive when the initial command is finished
|
||||
set -g remain-on-exit off
|
||||
|
||||
# Mouse support
|
||||
set -g mouse on
|
||||
|
||||
@@ -92,21 +106,21 @@ set-window-option -g mode-keys vi
|
||||
# │ Theme │
|
||||
# ╰──────────────────────────────────────────────────────────╯
|
||||
|
||||
# Make sure status sides are long enough and centered is in the middle
|
||||
set -g status-left-length "30"
|
||||
set -g status-left-length "0"
|
||||
set -g status-right-length "30"
|
||||
|
||||
set-option -g status-position "bottom"
|
||||
set-option -g status-style 'bg=default,fg=#ffffff'
|
||||
set-option -g status-justify centre
|
||||
set-option -g status-left '#h '
|
||||
set-option -g status-justify left
|
||||
set-option -g status-left ''
|
||||
set-window-option -g window-status-style 'fg=#ffffff,bg=default'
|
||||
set-option -g window-status-format ' #I:#W '
|
||||
set-window-option -g window-status-current-style 'fg=#111111,bg=#7aa2f7'
|
||||
set-option -g window-status-current-format ' #I:#W#{?window_zoomed_flag, , } '
|
||||
|
||||
set-option -g status-left "#{hostname_short}/#S"
|
||||
set-option -g status-right "%H:%M #{tmux_mode_indicator}"
|
||||
set-option -g status-right "#{hostname_short}/#S #{tmux_mode_indicator}"
|
||||
|
||||
set -g message-style 'fg=colour2 bg=colour0 bold'
|
||||
|
||||
# ╭──────────────────────────────────────────────────────────╮
|
||||
# │ Plugins related configurations │
|
||||
@@ -126,6 +140,7 @@ set -g @tmux_window_name_use_tilde "True"
|
||||
set -g @tmux_window_name_shells "['bash', 'fish', 'sh', 'zsh']"
|
||||
set -g @tmux_window_dir_programs "['nvim', 'vim', 'vi', 'git']"
|
||||
set -g @tmux_window_name_ignored_programs "['sqlite3', 'x-set-php-aliases']" # Default is []
|
||||
set -g @tmux_window_name_substitute_sets "[('.+ipython2', 'ipython2'), ('.+ipython3', 'ipython3')]"
|
||||
|
||||
## https://github.com/tmux-plugins/tmux-continuum
|
||||
set -g @continuum-restore 'on'
|
||||
|
||||
@@ -213,6 +213,8 @@ function section_brew
|
||||
"update:Updates and upgrades brew packages"
|
||||
"updatebundle:Updates Brewfile with descriptions"
|
||||
"autoupdate:Setups brew auto-update and runs it immediately"
|
||||
"leaves:List brew leaves (installed on request)"
|
||||
"clean:Clean up brew packages"
|
||||
)
|
||||
|
||||
x-have brew && {
|
||||
@@ -225,12 +227,18 @@ function section_brew
|
||||
msg_yay "Done!"
|
||||
;;
|
||||
updatebundle)
|
||||
# Updates .dotfiles/Brewfile with descriptions
|
||||
# Updates .dotfiles/homebrew/Brewfile with descriptions
|
||||
brew bundle dump \
|
||||
--force \
|
||||
--file="$BREWFILE" \
|
||||
--describe && msg_yay "Done!"
|
||||
;;
|
||||
leaves)
|
||||
brew leaves --installed-on-request
|
||||
;;
|
||||
clean)
|
||||
brew bundle cleanup --file="$BREWFILE" && msg_yay "Done!"
|
||||
;;
|
||||
autoupdate)
|
||||
brew autoupdate delete
|
||||
brew autoupdate start 43200 --upgrade --cleanup --immediate
|
||||
|
||||
17
local/bin/x-gh-get-latest-release-targz
Executable file
17
local/bin/x-gh-get-latest-release-targz
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
REPO=$1
|
||||
|
||||
if [ -z "$REPO" ]; then
|
||||
echo "Usage: $0 <repo> (e.g. ivuorinen/dotfiles)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOCATION=$(curl -s "https://api.github.com/repos/${REPO}/releases/latest" \
|
||||
| sed -Ene '/^[[:blank:]]+"tarball_url":[[:blank:]]"(https:[^"]+)",/s//\1/p')
|
||||
|
||||
echo "Downloading and extracting from: $LOCATION"
|
||||
|
||||
curl --location --silent "$LOCATION" | tar --extract --gzip --file=-
|
||||
|
||||
# vim: set ts=2 sw=2 ft=sh et:
|
||||
18
local/bin/x-gh-get-latest-version
Executable file
18
local/bin/x-gh-get-latest-version
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
REPO=$1
|
||||
|
||||
if [ -z "$REPO" ]; then
|
||||
echo "Usage: $0 <repo> (e.g. ivuorinen/dotfiles)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION=$(
|
||||
curl -s "https://api.github.com/repos/${REPO}/releases/latest" \
|
||||
| grep "tag_name" \
|
||||
| awk '{print substr($2, 2, length($2)-3)}'
|
||||
)
|
||||
|
||||
echo "$VERSION"
|
||||
|
||||
# vim: set ts=2 sw=2 ft=sh et:
|
||||
@@ -29,5 +29,6 @@
|
||||
"homepage": "https://github.com/ivuorinen/dotfiles#readme",
|
||||
"devDependencies": {
|
||||
"@ivuorinen/base-configs": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"packageManager": "yarn@1.22.22"
|
||||
}
|
||||
|
||||
@@ -2,4 +2,6 @@ Include shared.d/*
|
||||
Include local.d/*
|
||||
|
||||
Host *
|
||||
ServerAliveInterval 300 # send null packets every 5min to keep connection alive
|
||||
ServerAliveCountMax 2 # if the server doesn't respond 2 times, it's gone so give up
|
||||
# IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
||||
|
||||
15
ssh/shared.d/demons
Normal file
15
ssh/shared.d/demons
Normal file
@@ -0,0 +1,15 @@
|
||||
Host vine
|
||||
User ubuntu
|
||||
HostName vine.antiprocess.net
|
||||
IdentityFile ~/.ssh/keys/vine.pem
|
||||
|
||||
Host purson
|
||||
User ubuntu
|
||||
HostName purson.antiprocess.net
|
||||
IdentityFile ~/.ssh/id_rsa
|
||||
|
||||
Host paimon
|
||||
User ivuorinen
|
||||
HostName paimon.antiprocess.net
|
||||
IdentityFile ~/.ssh/id_rsa
|
||||
|
||||
@@ -4691,9 +4691,9 @@ supports-preserve-symlinks-flag@^1.0.0:
|
||||
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
|
||||
|
||||
tar@^6.1.11, tar@^6.1.2, tar@^6.2.0:
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73"
|
||||
integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a"
|
||||
integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==
|
||||
dependencies:
|
||||
chownr "^2.0.0"
|
||||
fs-minipass "^2.0.0"
|
||||
|
||||
Reference in New Issue
Block a user