Compare commits

...

23 Commits

Author SHA1 Message Date
3faf8224e8 chore(nvim): update nvim-kickstart submodule 2024-06-04 14:39:27 +03:00
d028f37c00 chore(nvim): update lazyvim.json extras 2024-06-04 14:39:02 +03:00
1df05ac0ba feat: ssh config for demons 2024-06-03 12:38:54 +03:00
e54e202281 chore(tmux): update config 2024-06-02 21:12:27 +03:00
c226943aa9 chore(nvim): update lazyvim packages 2024-06-02 21:11:56 +03:00
dda4b65458 fix: huskyrc nvm location 2024-05-22 16:47:14 +03:00
7d564d0b4d feat: if exports-secrets exists, source it 2024-05-22 16:46:34 +03:00
bc30e5f7a6 chore(config): tweak alacritty configuration 2024-05-16 12:19:56 +03:00
9e2f7e8f1b chore(config): change alacritty decorations to Full 2024-05-16 02:20:31 +03:00
7b47e49804 chore(config): ssh add ServerAlive settings 2024-05-16 02:17:12 +03:00
1be7649122 chore(tmux): tweak config, move status to left 2024-05-16 02:16:00 +03:00
453d54bc7f chore(config): tweak alacritty config 2024-04-26 12:45:02 +03:00
7ede7b9ac1 chore: update kickstart.nvim 2024-04-22 08:56:49 +03:00
a90743a09c feat(bin): x-gh-get-latest-* release and version helpers 2024-04-21 14:56:41 +03:00
185d28e587 feat: kickstart.nvim, and aliases 2024-04-21 14:55:36 +03:00
renovate[bot]
37f023351d chore(deps): update yarn to v1.22.22
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-17 05:10:25 +00:00
39523e9234 chore: add packageManager to package.json 2024-04-16 12:20:06 +03:00
dependabot[bot]
1f8fc0d289 chore(deps): bump tar from 6.2.0 to 6.2.1 (#16) 2024-04-12 08:48:11 +03:00
c083d2a20a feat(dfm): Add brew leaves and clean commands 2024-04-08 02:51:32 +03:00
75c6a0bccd chore(shell): update exports-apps to include pyenv 2024-04-08 02:49:48 +03:00
5ce86b3229 chore(nvim): update lazyvim.json 2024-04-08 02:49:08 +03:00
885189e4ff chore(nvim): update lazyvim.json 2024-03-09 10:21:32 +02:00
8f3f4d7ed9 chore(brew): update brewfile, add env to skip mas 2024-03-09 10:21:05 +02:00
18 changed files with 137 additions and 27 deletions

3
.gitmodules vendored
View File

@@ -58,3 +58,6 @@
[submodule "cheat-tldr"] [submodule "cheat-tldr"]
path = config/cheat/cheatsheets/tldr path = config/cheat/cheatsheets/tldr
url = https://github.com/ivuorinen/cheatsheet-tldr.git url = https://github.com/ivuorinen/cheatsheet-tldr.git
[submodule "nvim-kickstart"]
path = config/nvim-kickstart
url = https://github.com/ivuorinen/kickstart.nvim

View File

@@ -10,6 +10,9 @@ git submodule add --name dotbot-include \
git submodule add --name dotbot-pip \ git submodule add --name dotbot-pip \
-f https://github.com/sobolevn/dotbot-pip.git tools/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 # other repos
git submodule add --name cheat-community \ git submodule add --name cheat-community \
-f https://github.com/cheat/cheatsheets.git config/cheat/cheatsheets/community -f https://github.com/cheat/cheatsheets.git config/cheat/cheatsheets/community

View File

@@ -1,6 +1,6 @@
#!/bin/env bash #!/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/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

View File

@@ -324,21 +324,26 @@ chars = "\u0002/"
key = "F" key = "F"
mods = "Command" mods = "Command"
[mouse]
hide_when_typing = true
[[mouse.bindings]] [[mouse.bindings]]
action = "PasteSelection" action = "PasteSelection"
mouse = "Middle" mouse = "Middle"
[selection] [selection]
semantic_escape_chars = ",│`|:\"' ()[]{}<>" semantic_escape_chars = ",│`|:\"' ()[]{}<>"
save_to_clipboard = true
[window] [window]
decorations = "none" decorations = "Full"
dynamic_title = true dynamic_title = true
opacity = 0.98 opacity = 0.98
blur = true
[window.dimensions] [window.dimensions]
columns = 200 columns = 200
lines = 100 lines = 75
[window.padding] [window.padding]
x = 5 x = 5

View File

@@ -51,6 +51,10 @@ alias tmux='tmux new-session -A -s main'
# tmux: attach or create new session # tmux: attach or create new session
alias ta='tmux attach || tmux' 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 # watch with: differences, precise, beep and color
alias watchx='watch -dpbc' alias watchx='watch -dpbc'
# delete .DS_Store files # delete .DS_Store files

View File

@@ -52,5 +52,9 @@ have_brew()
fi fi
} }
if [[ -f "$DOTFILES/config/exports-secret" ]]; then
source "$DOTFILES/config/exports-secret"
fi
source "$DOTFILES/config/exports-shell" source "$DOTFILES/config/exports-shell"
source "$DOTFILES/config/exports-apps" source "$DOTFILES/config/exports-apps"

View File

@@ -29,6 +29,8 @@ export BKT_TTL=1m
# brew, https://docs.brew.sh/Manpage # brew, https://docs.brew.sh/Manpage
export HOMEBREW_NO_ENV_HINTS=true 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/ # composer, https://getcomposer.org/
export COMPOSER_HOME="$XDG_STATE_HOME/composer" export COMPOSER_HOME="$XDG_STATE_HOME/composer"
@@ -81,8 +83,8 @@ export OP_CACHE="$XDG_STATE_HOME/1password"
# pyenv, python environments # pyenv, python environments
export WORKON_HOME="$XDG_DATA_HOME/virtualenvs" export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
export PYENV_ROOT="$XDG_STATE_HOME/pyenv" export PYENV_ROOT="$XDG_STATE_HOME/pyenv"
export PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH"
x-have pyenv && { x-have pyenv && {
export PATH="$PYENV_ROOT/shims:$PATH"
eval "$(pyenv init -)" eval "$(pyenv init -)"
} }

View File

@@ -35,10 +35,10 @@ brew "aom"
brew "apr" brew "apr"
# Mozilla CA certificate store # Mozilla CA certificate store
brew "ca-certificates" brew "ca-certificates"
# Cryptography and SSL/TLS Toolkit
brew "openssl@3"
# Companion library to apr, the Apache Portable Runtime library # Companion library to apr, the Apache Portable Runtime library
brew "apr-util" brew "apr-util"
# Password hashing library and CLI utility
brew "argon2"
# Spell checker with better logic than ispell # Spell checker with better logic than ispell
brew "aspell" brew "aspell"
# Automatic configure script builder # Automatic configure script builder
@@ -47,8 +47,6 @@ brew "autoconf"
brew "bash" brew "bash"
# Clone of cat(1) with syntax highlighting and Git integration # Clone of cat(1) with syntax highlighting and Git integration
brew "bat" brew "bat"
# C/C++ and Java libraries for Unicode and globalization
brew "icu4c"
# Yet another cross-platform graphical process/system monitor # Yet another cross-platform graphical process/system monitor
brew "bottom" brew "bottom"
# Software library to render fonts # Software library to render fonts
@@ -59,6 +57,8 @@ brew "fontconfig"
brew "gettext" brew "gettext"
# Core application library for C # Core application library for C
brew "glib" brew "glib"
# Mozilla CA bundle for Python
brew "certifi"
# Human-friendly and fast alternative to cut and (sometimes) awk # Human-friendly and fast alternative to cut and (sometimes) awk
brew "choose-rust" brew "choose-rust"
# Cross-platform make # Cross-platform make
@@ -121,6 +121,8 @@ brew "gpgme"
brew "gpg-tui" brew "gpg-tui"
# Image manipulation # Image manipulation
brew "netpbm" brew "netpbm"
# C/C++ and Java libraries for Unicode and globalization
brew "icu4c"
# OpenType text shaping engine # OpenType text shaping engine
brew "harfbuzz" brew "harfbuzz"
# Framework for layout and rendering of i18n text # Framework for layout and rendering of i18n text
@@ -149,14 +151,12 @@ brew "jq"
brew "krb5" brew "krb5"
# Tool to detect/remediate misconfig and security risks of GitHub/GitLab assets # Tool to detect/remediate misconfig and security risks of GitHub/GitLab assets
brew "legitify" brew "legitify"
# Secure hashing function
brew "libb2"
# Postgres C API library # Postgres C API library
brew "libpq" brew "libpq"
# Manage compile and link flags for libraries
brew "pkg-config"
# YAML Parser # YAML Parser
brew "libyaml" brew "libyaml"
# Interpreted, interactive, object-oriented programming language
brew "python@3.11"
# Package manager for the Lua programming language # Package manager for the Lua programming language
brew "luarocks" brew "luarocks"
# LZMA-based compression program similar to gzip or bzip2 # LZMA-based compression program similar to gzip or bzip2
@@ -171,6 +171,8 @@ brew "ncdu"
brew "nginx" brew "nginx"
# Port scanning utility for large networks # Port scanning utility for large networks
brew "nmap" brew "nmap"
# Manage compile and link flags for libraries
brew "pkg-config"
# Coreutils progress viewer # Coreutils progress viewer
brew "progress" brew "progress"
# Python version management # Python version management
@@ -179,6 +181,10 @@ brew "pyenv"
brew "pyenv-pip-migrate" brew "pyenv-pip-migrate"
# Pyenv plugin to manage virtualenv # Pyenv plugin to manage virtualenv
brew "pyenv-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 # Ruby version manager
brew "rbenv" brew "rbenv"
# Search tool like grep and The Silver Searcher # Search tool like grep and The Silver Searcher

1
config/nvim-kickstart Submodule

Submodule config/nvim-kickstart added at ea6a6700bf

View File

@@ -3,10 +3,13 @@
"lazyvim.plugins.extras.coding.copilot", "lazyvim.plugins.extras.coding.copilot",
"lazyvim.plugins.extras.coding.yanky", "lazyvim.plugins.extras.coding.yanky",
"lazyvim.plugins.extras.editor.aerial", "lazyvim.plugins.extras.editor.aerial",
"lazyvim.plugins.extras.editor.outline",
"lazyvim.plugins.extras.editor.harpoon2",
"lazyvim.plugins.extras.editor.leap", "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.black",
"lazyvim.plugins.extras.formatting.prettier", "lazyvim.plugins.extras.formatting.prettier",
"lazyvim.plugins.extras.lang.ansible",
"lazyvim.plugins.extras.lang.docker", "lazyvim.plugins.extras.lang.docker",
"lazyvim.plugins.extras.lang.go", "lazyvim.plugins.extras.lang.go",
"lazyvim.plugins.extras.lang.json", "lazyvim.plugins.extras.lang.json",
@@ -15,15 +18,18 @@
"lazyvim.plugins.extras.lang.tailwind", "lazyvim.plugins.extras.lang.tailwind",
"lazyvim.plugins.extras.lang.terraform", "lazyvim.plugins.extras.lang.terraform",
"lazyvim.plugins.extras.lang.typescript", "lazyvim.plugins.extras.lang.typescript",
"lazyvim.plugins.extras.lang.vue",
"lazyvim.plugins.extras.lang.yaml", "lazyvim.plugins.extras.lang.yaml",
"lazyvim.plugins.extras.linting.eslint", "lazyvim.plugins.extras.linting.eslint",
"lazyvim.plugins.extras.ui.edgy", "lazyvim.plugins.extras.ui.edgy",
"lazyvim.plugins.extras.ui.mini-animate", "lazyvim.plugins.extras.ui.mini-animate",
"lazyvim.plugins.extras.util.dot", "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": {
"NEWS.md": "2123" "NEWS.md": "5204"
}, },
"version": 2 "version": 6
} }

View File

@@ -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-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
bind '"' split-window -v -c "#{pane_current_path}" bind '"' split-window -v -c "#{pane_current_path}"
bind '!' split-window -h -c "#{pane_current_path}" bind '!' split-window -h -c "#{pane_current_path}"
bind '^' switch-client -t'{marked}'
# synchronize all panes in a window # synchronize all panes in a window
bind y setw synchronize-panes bind y setw synchronize-panes
@@ -70,9 +71,22 @@ bind p paste-buffer
# Setting status on # Setting status on
set -g 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 # Expose window title
set-option -g set-titles on 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 # Mouse support
set -g mouse on set -g mouse on
@@ -92,21 +106,21 @@ set-window-option -g mode-keys vi
# │ Theme │ # │ Theme │
# ╰──────────────────────────────────────────────────────────╯ # ╰──────────────────────────────────────────────────────────╯
# Make sure status sides are long enough and centered is in the middle set -g status-left-length "0"
set -g status-left-length "30"
set -g status-right-length "30" set -g status-right-length "30"
set-option -g status-position "bottom" set-option -g status-position "bottom"
set-option -g status-style 'bg=default,fg=#ffffff' set-option -g status-style 'bg=default,fg=#ffffff'
set-option -g status-justify centre set-option -g status-justify left
set-option -g status-left '#h ' set-option -g status-left ''
set-window-option -g window-status-style 'fg=#ffffff,bg=default' set-window-option -g window-status-style 'fg=#ffffff,bg=default'
set-option -g window-status-format ' #I:#W ' set-option -g window-status-format ' #I:#W '
set-window-option -g window-status-current-style 'fg=#111111,bg=#7aa2f7' 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 window-status-current-format ' #I:#W#{?window_zoomed_flag,  , } '
set-option -g status-left "#{hostname_short}/#S" set-option -g status-right "#{hostname_short}/#S #{tmux_mode_indicator}"
set-option -g status-right "%H:%M #{tmux_mode_indicator}"
set -g message-style 'fg=colour2 bg=colour0 bold'
# ╭──────────────────────────────────────────────────────────╮ # ╭──────────────────────────────────────────────────────────╮
# │ Plugins related configurations │ # │ 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_name_shells "['bash', 'fish', 'sh', 'zsh']"
set -g @tmux_window_dir_programs "['nvim', 'vim', 'vi', 'git']" 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_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 ## https://github.com/tmux-plugins/tmux-continuum
set -g @continuum-restore 'on' set -g @continuum-restore 'on'

View File

@@ -213,6 +213,8 @@ function section_brew
"update:Updates and upgrades brew packages" "update:Updates and upgrades brew packages"
"updatebundle:Updates Brewfile with descriptions" "updatebundle:Updates Brewfile with descriptions"
"autoupdate:Setups brew auto-update and runs it immediately" "autoupdate:Setups brew auto-update and runs it immediately"
"leaves:List brew leaves (installed on request)"
"clean:Clean up brew packages"
) )
x-have brew && { x-have brew && {
@@ -225,12 +227,18 @@ function section_brew
msg_yay "Done!" msg_yay "Done!"
;; ;;
updatebundle) updatebundle)
# Updates .dotfiles/Brewfile with descriptions # Updates .dotfiles/homebrew/Brewfile with descriptions
brew bundle dump \ brew bundle dump \
--force \ --force \
--file="$BREWFILE" \ --file="$BREWFILE" \
--describe && msg_yay "Done!" --describe && msg_yay "Done!"
;; ;;
leaves)
brew leaves --installed-on-request
;;
clean)
brew bundle cleanup --file="$BREWFILE" && msg_yay "Done!"
;;
autoupdate) autoupdate)
brew autoupdate delete brew autoupdate delete
brew autoupdate start 43200 --upgrade --cleanup --immediate brew autoupdate start 43200 --upgrade --cleanup --immediate

View 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:

View 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:

View File

@@ -29,5 +29,6 @@
"homepage": "https://github.com/ivuorinen/dotfiles#readme", "homepage": "https://github.com/ivuorinen/dotfiles#readme",
"devDependencies": { "devDependencies": {
"@ivuorinen/base-configs": "^1.1.0" "@ivuorinen/base-configs": "^1.1.0"
} },
"packageManager": "yarn@1.22.22"
} }

View File

@@ -2,4 +2,6 @@ Include shared.d/*
Include local.d/* Include local.d/*
Host * 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" # IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"

15
ssh/shared.d/demons Normal file
View 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

View File

@@ -4691,9 +4691,9 @@ supports-preserve-symlinks-flag@^1.0.0:
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
tar@^6.1.11, tar@^6.1.2, tar@^6.2.0: tar@^6.1.11, tar@^6.1.2, tar@^6.2.0:
version "6.2.0" version "6.2.1"
resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a"
integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==
dependencies: dependencies:
chownr "^2.0.0" chownr "^2.0.0"
fs-minipass "^2.0.0" fs-minipass "^2.0.0"