mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-27 22:45:27 +00:00
Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| fcade15933 | |||
| 6860909d39 | |||
| 493ad17c15 | |||
|
|
0495ac1ea8 | ||
| 9b5d372a74 | |||
| 9d04343a26 | |||
|
|
4aa0fba682 | ||
| ad6482b34a | |||
| 113e27734a | |||
| 378abfe896 | |||
| eadf1e5c84 | |||
| ea4d185fb4 | |||
| 22bd8ca870 | |||
| 7ee81b005c | |||
| 3faf8224e8 | |||
| d028f37c00 | |||
| 1df05ac0ba | |||
| e54e202281 | |||
| c226943aa9 | |||
| dda4b65458 | |||
| 7d564d0b4d | |||
| bc30e5f7a6 | |||
| 9e2f7e8f1b | |||
| 7b47e49804 | |||
| 1be7649122 |
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -61,3 +61,6 @@
|
||||
[submodule "nvim-kickstart"]
|
||||
path = config/nvim-kickstart
|
||||
url = https://github.com/ivuorinen/kickstart.nvim
|
||||
[submodule "tmux/tmux-dark-notify"]
|
||||
path = config/tmux/plugins/tmux-dark-notify
|
||||
url = https://github.com/erikw/tmux-dark-notify.git
|
||||
|
||||
@@ -38,6 +38,8 @@ git submodule add --name tmux/tmux-yank \
|
||||
-f https://github.com/tmux-plugins/tmux-yank.git config/tmux/plugins/tmux-yank
|
||||
git submodule add --name tmux/tmux-current-pane-hostname \
|
||||
-f https://github.com/soyuka/tmux-current-pane-hostname.git config/tmux/plugins/tmux-current-pane-hostname
|
||||
git submodule add --name tmux/tmux-dark-notify \
|
||||
-f https://github.com/erikw/tmux-dark-notify.git config/tmux/plugins/tmux-dark-notify
|
||||
|
||||
# Takes submodules and sets them to ignore all changes
|
||||
for MODULE in $(git config --file .gitmodules --get-regexp path | awk '{ print $2 }'); do
|
||||
|
||||
@@ -30,6 +30,10 @@ x-load-configs
|
||||
# Import ssh keys in keychain
|
||||
ssh-add -A 2>/dev/null
|
||||
|
||||
x-have antidot && {
|
||||
eval "$(antidot init)"
|
||||
}
|
||||
|
||||
x-have rbenv && {
|
||||
eval "$(rbenv init - bash)"
|
||||
}
|
||||
@@ -38,4 +42,3 @@ x-have rbenv && {
|
||||
x-have oh-my-posh && {
|
||||
eval "$(oh-my-posh init bash --config $XDG_CONFIG_HOME/oh-my-posh.omp.json)"
|
||||
}
|
||||
source "$DOTFILES/config/alias"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -17,3 +17,5 @@ export XDG_CACHE_HOME="$HOME/.cache"
|
||||
export XDG_RUNTIME_DIR="$HOME/.local/run"
|
||||
|
||||
source "$DOTFILES/config/exports"
|
||||
source "$DOTFILES/config/alias"
|
||||
|
||||
|
||||
@@ -18,6 +18,10 @@ export PATH="$XDG_BIN_HOME:$DOTFILES/local/bin:$HOME/.local/go/bin:$XDG_DATA_HOM
|
||||
|
||||
x-load-configs
|
||||
|
||||
x-have antidot && {
|
||||
eval "$(antidot init)"
|
||||
}
|
||||
|
||||
export COMPLETION_WAITING_DOTS=true
|
||||
|
||||
if type brew &> /dev/null; then
|
||||
|
||||
@@ -324,21 +324,26 @@ chars = "\u0002/"
|
||||
key = "F"
|
||||
mods = "Command"
|
||||
|
||||
[mouse]
|
||||
hide_when_typing = false
|
||||
|
||||
[[mouse.bindings]]
|
||||
action = "PasteSelection"
|
||||
mouse = "Middle"
|
||||
|
||||
[selection]
|
||||
semantic_escape_chars = ",│`|:\"' ()[]{}<>"
|
||||
save_to_clipboard = true
|
||||
|
||||
[window]
|
||||
decorations = "Buttonless"
|
||||
decorations = "Full"
|
||||
dynamic_title = true
|
||||
opacity = 0.98
|
||||
blur = true
|
||||
|
||||
[window.dimensions]
|
||||
columns = 200
|
||||
lines = 100
|
||||
lines = 75
|
||||
|
||||
[window.padding]
|
||||
x = 5
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
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 "homebrew/autoupdate"
|
||||
@@ -9,12 +11,30 @@ tap "homebrew/bundle"
|
||||
tap "homebrew/cask-fonts"
|
||||
tap "homebrew/services"
|
||||
tap "jesseduffield/lazygit"
|
||||
tap "k8sgpt-ai/k8sgpt"
|
||||
tap "keith/formulae"
|
||||
tap "mongodb/brew"
|
||||
tap "reviewdog/tap"
|
||||
tap "shivammathur/extensions"
|
||||
tap "shivammathur/php"
|
||||
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
|
||||
brew "certifi"
|
||||
# Cryptographic recipes and primitives for Python
|
||||
brew "cryptography"
|
||||
# YAML Parser
|
||||
brew "libyaml"
|
||||
# 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
|
||||
@@ -33,8 +53,6 @@ brew "jpeg-xl"
|
||||
brew "aom"
|
||||
# Apache Portable Runtime library
|
||||
brew "apr"
|
||||
# Mozilla CA certificate store
|
||||
brew "ca-certificates"
|
||||
# Companion library to apr, the Apache Portable Runtime library
|
||||
brew "apr-util"
|
||||
# Password hashing library and CLI utility
|
||||
@@ -43,6 +61,16 @@ brew "argon2"
|
||||
brew "aspell"
|
||||
# Automatic configure script builder
|
||||
brew "autoconf"
|
||||
# Collection of over 500 reusable autoconf macros
|
||||
brew "autoconf-archive"
|
||||
# GNU multiple precision arithmetic library
|
||||
brew "gmp"
|
||||
# Manage compile and link flags for libraries
|
||||
brew "pkg-config"
|
||||
# Automated text file generator
|
||||
brew "autogen"
|
||||
# Tool for generating GNU Standards-compliant Makefiles
|
||||
brew "automake"
|
||||
# Bourne-Again SHell, a UNIX command interpreter
|
||||
brew "bash"
|
||||
# Clone of cat(1) with syntax highlighting and Git integration
|
||||
@@ -57,14 +85,10 @@ 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
|
||||
brew "cmake"
|
||||
# GNU multiple precision arithmetic library
|
||||
brew "gmp"
|
||||
# GNU File, Shell, and Text utilities
|
||||
brew "coreutils"
|
||||
# Open source suite of directory software
|
||||
@@ -139,6 +163,8 @@ brew "gzip"
|
||||
brew "hadolint"
|
||||
# Improved top (interactive process viewer)
|
||||
brew "htop"
|
||||
# Portable abstraction of the hierarchical topology of modern architectures
|
||||
brew "hwloc"
|
||||
# ISO/IEC 23008-12:2017 HEIF file format decoder and encoder
|
||||
brew "libheif"
|
||||
# Tools and libraries to manipulate images in many formats
|
||||
@@ -147,6 +173,10 @@ brew "imagemagick"
|
||||
brew "irssi"
|
||||
# Lightweight and flexible command-line JSON processor
|
||||
brew "jq"
|
||||
# JSON parser for C
|
||||
brew "json-c"
|
||||
# Scanning your k8s clusters, diagnosing, and triaging issues in simple English
|
||||
brew "k8sgpt"
|
||||
# Network authentication protocol
|
||||
brew "krb5"
|
||||
# Tool to detect/remediate misconfig and security risks of GitHub/GitLab assets
|
||||
@@ -155,14 +185,16 @@ brew "legitify"
|
||||
brew "libb2"
|
||||
# Postgres C API library
|
||||
brew "libpq"
|
||||
# YAML Parser
|
||||
brew "libyaml"
|
||||
# Multi-platform support library with a focus on asynchronous I/O
|
||||
brew "libuv"
|
||||
# Package manager for the Lua programming language
|
||||
brew "luarocks"
|
||||
# LZMA-based compression program similar to gzip or bzip2
|
||||
brew "lzip"
|
||||
# Swiss Army Knife for macOS
|
||||
brew "m-cli"
|
||||
# Collection of tools that nobody wrote when UNIX was young
|
||||
brew "moreutils"
|
||||
# Mongrel of mail user agents (part elm, pine, mush, mh, etc.)
|
||||
brew "mutt"
|
||||
# NCurses Disk Usage
|
||||
@@ -171,8 +203,10 @@ brew "ncdu"
|
||||
brew "nginx"
|
||||
# Port scanning utility for large networks
|
||||
brew "nmap"
|
||||
# Manage compile and link flags for libraries
|
||||
brew "pkg-config"
|
||||
# ISO-C API and CLI for generating UUIDs
|
||||
brew "ossp-uuid"
|
||||
# General-purpose scripting language
|
||||
brew "php"
|
||||
# Coreutils progress viewer
|
||||
brew "progress"
|
||||
# Python version management
|
||||
@@ -181,8 +215,8 @@ brew "pyenv"
|
||||
brew "pyenv-pip-migrate"
|
||||
# Pyenv plugin to manage virtualenv
|
||||
brew "pyenv-virtualenv"
|
||||
# Cryptographic recipes and primitives for Python
|
||||
brew "python-cryptography"
|
||||
# Interpreted, interactive, object-oriented programming language
|
||||
brew "python@3.11"
|
||||
# Install various Ruby versions and implementations
|
||||
brew "ruby-build"
|
||||
# Ruby version manager
|
||||
@@ -227,9 +261,15 @@ brew "wget"
|
||||
brew "xdg-ninja", args: ["HEAD"]
|
||||
# JavaScript package manager
|
||||
brew "yarn"
|
||||
# Watcher for macOS 10.14+ light/dark mode changes
|
||||
brew "cormacrelf/tap/dark-notify"
|
||||
# Cleans up your $HOME from those pesky dotfiles
|
||||
brew "doron-cohen/tap/antidot"
|
||||
# lets you quickly switch between multiple git user profiles
|
||||
brew "gesquive/tap/git-user"
|
||||
brew "keith/formulae/reminders-cli"
|
||||
# Automated code review tool integrated with any code analysis tools regardless of programming language.
|
||||
brew "reviewdog/tap/reviewdog"
|
||||
# Command-line interface for 1Password
|
||||
cask "1password-cli"
|
||||
# GPU-accelerated terminal emulator
|
||||
@@ -308,6 +348,8 @@ cask "soundsource"
|
||||
cask "suspicious-package"
|
||||
# Quicklook extension for source files
|
||||
cask "syntax-highlight"
|
||||
# Configuration application for the Ultimate Hacking Keyboard
|
||||
cask "uhk-agent"
|
||||
# Open-source code editor
|
||||
cask "visual-studio-code"
|
||||
# Multimedia player
|
||||
|
||||
Submodule config/nvim-kickstart updated: 4eed1621f5...d1f4a2675a
@@ -2,7 +2,12 @@
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.coding.copilot",
|
||||
"lazyvim.plugins.extras.coding.yanky",
|
||||
"lazyvim.plugins.extras.editor.aerial",
|
||||
"lazyvim.plugins.extras.editor.aerial",
|
||||
"lazyvim.plugins.extras.editor.harpoon2",
|
||||
"lazyvim.plugins.extras.editor.leap",
|
||||
"lazyvim.plugins.extras.editor.outline",
|
||||
"lazyvim.plugins.extras.editor.refactoring",
|
||||
"lazyvim.plugins.extras.formatting.black",
|
||||
"lazyvim.plugins.extras.formatting.prettier",
|
||||
"lazyvim.plugins.extras.lang.ansible",
|
||||
@@ -10,21 +15,21 @@
|
||||
"lazyvim.plugins.extras.lang.go",
|
||||
"lazyvim.plugins.extras.lang.json",
|
||||
"lazyvim.plugins.extras.lang.markdown",
|
||||
"lazyvim.plugins.extras.lang.php",
|
||||
"lazyvim.plugins.extras.lang.python",
|
||||
"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.editor.aerial",
|
||||
"lazyvim.plugins.extras.editor.outline"
|
||||
"lazyvim.plugins.extras.util.mini-hipatterns"
|
||||
],
|
||||
"news": {
|
||||
"NEWS.md": "3314"
|
||||
"NEWS.md": "5204"
|
||||
},
|
||||
"version": 3
|
||||
}
|
||||
"version": 6
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ return {
|
||||
opts = function(_, opts)
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"phpactor",
|
||||
"intelephense",
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
@@ -55,7 +55,7 @@ return {
|
||||
end,
|
||||
opts = {
|
||||
open_fold_hl_timeout = 150,
|
||||
close_fold_kinds = { "imports", "comment" },
|
||||
close_fold_kinds_for_ft = { "imports", "comment" },
|
||||
preview = {
|
||||
win_config = {
|
||||
border = { "", "─", "", "", "", "─", "", "" },
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 120
|
||||
column_width = 120
|
||||
|
||||
1
config/tmux/plugins/tmux-dark-notify
Submodule
1
config/tmux/plugins/tmux-dark-notify
Submodule
Submodule config/tmux/plugins/tmux-dark-notify added at cd764c72e1
5
config/tmux/theme-dark.conf
Normal file
5
config/tmux/theme-dark.conf
Normal file
@@ -0,0 +1,5 @@
|
||||
set-option -g status-style 'bg=default,fg=#cad3f5'
|
||||
set-window-option -g window-status-style 'fg=#cad3f5,bg=default'
|
||||
set-window-option -g window-status-current-style 'fg=#cad3f5,bg=#24273a'
|
||||
set -g message-style 'fg=#c6a0f6 bg=#24273a bold'
|
||||
|
||||
5
config/tmux/theme-light.conf
Normal file
5
config/tmux/theme-light.conf
Normal file
@@ -0,0 +1,5 @@
|
||||
set-option -g status-style 'bg=#eff1f5,fg=#4c4f69'
|
||||
set-window-option -g window-status-style 'fg=#4c4f69,bg=#eff1f5'
|
||||
set-window-option -g window-status-current-style 'fg=#4c4f69,bg=#7aa2f7'
|
||||
set -g message-style 'fg=#8839ef bg=#e6e9ef bold' # fg magenta, bg black
|
||||
|
||||
@@ -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
|
||||
@@ -67,12 +68,29 @@ bind p paste-buffer
|
||||
# │ Settings │
|
||||
# ╰──────────────────────────────────────────────────────────╯
|
||||
|
||||
set -g default-terminal "tmux-256color"
|
||||
set -ag terminal-overrides ",xterm-256color:RGB"
|
||||
|
||||
# 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 off
|
||||
set -g visual-bell off
|
||||
|
||||
# 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 +110,20 @@ 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-window-option -g window-status-style 'fg=#ffffff,bg=default'
|
||||
set-option -g status-justify left
|
||||
set-option -g status-left ''
|
||||
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}"
|
||||
|
||||
# https://github.com/erikw/tmux-dark-notify
|
||||
set -g @dark-notify-theme-path-light '~/.dotfiles/config/tmux/theme-light.conf'
|
||||
set -g @dark-notify-theme-path-dark '~/.dotfiles/config/tmux/theme-dark.conf'
|
||||
|
||||
# ╭──────────────────────────────────────────────────────────╮
|
||||
# │ Plugins related configurations │
|
||||
@@ -126,6 +143,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'
|
||||
@@ -153,4 +171,5 @@ run-shell ~/.dotfiles/config/tmux/plugins/tmux-mode-indicator/mode_indicator.tmu
|
||||
run-shell ~/.dotfiles/config/tmux/plugins/tmux-suspend/suspend.tmux
|
||||
run-shell ~/.dotfiles/config/tmux/plugins/tmux-yank/yank.tmux
|
||||
run-shell ~/.dotfiles/config/tmux/plugins/tmux-current-pane-hostname/current_pane_hostname.tmux
|
||||
run-shell ~/.dotfiles/config/tmux/plugins/tmux-dark-notify/main.tmux
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ packages=(
|
||||
github.com/rhysd/actionlint/cmd/actionlint@latest
|
||||
# simple terminal UI for git commands
|
||||
github.com/jesseduffield/lazygit@latest
|
||||
# Cleans up your $HOME from those pesky dotfiles
|
||||
github.com/doron-cohen/antidot@latest
|
||||
)
|
||||
|
||||
for pkg in "${packages[@]}"; do
|
||||
@@ -49,6 +51,11 @@ x-have git-profile && {
|
||||
&& msg_ok "Installed completions for git-profile"
|
||||
}
|
||||
|
||||
x-have antidot && {
|
||||
antidot update \
|
||||
&& msg_ok "Updated antidot database"
|
||||
}
|
||||
|
||||
echo ""
|
||||
|
||||
msg_run "Clearing go cache"
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user