Compare commits

...

62 Commits

Author SHA1 Message Date
9b5d372a74 chore: tweaks, updates 2024-06-07 11:38:44 +03:00
9d04343a26 chore(tmux): update tmux-dark-notify 2024-06-07 11:38:30 +03:00
ivuorinen
4aa0fba682 chore(git): Update submodules (automated)
tmux/tmux-dark-notify v0.1.0
2024-06-07 03:05:14 +00:00
ad6482b34a chore(nvim): update nvim-kickstart 2024-06-06 22:56:40 +03:00
113e27734a chore(nvim): config tweaks, lazyvim updates 2024-06-06 22:54:45 +03:00
378abfe896 feat(tmux): tmux-dark-notify + themes 2024-06-06 22:53:28 +03:00
eadf1e5c84 chore(nvim): update nvim-kickstart 2024-06-06 21:09:02 +03:00
ea4d185fb4 chore(brew): Update bundle 2024-06-06 21:06:58 +03:00
22bd8ca870 chore(alacritty): hide_when_typing = false 2024-06-06 10:45:34 +03:00
7ee81b005c chore(tmux): tweak visual bell and activity msg 2024-06-06 10:45:34 +03:00
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
03a1b5fb85 chore(brew): Remove unused formula and casks 2024-03-06 09:59:44 +02:00
7b83f6e943 chore(deps): upgraded yarn packages 2024-03-06 09:11:40 +02:00
261ff41e28 feat(nvim): neo-tree should show interesting files 2024-03-04 20:57:27 +02:00
36ad2a2ad9 chore(config): Cleanup 2024-03-03 16:39:22 +02:00
ivuorinen
a4d5b87272 chore(git): Update submodules (automated)
tmux/tmux-continuum v3.1.0
2024-03-02 03:04:30 +00:00
f953bff183 chore(git): Update submodules 2024-03-01 13:39:17 +02:00
aba33a20a4 fix: Use pyenv instead of local/bin/python hack 2024-03-01 12:43:53 +02:00
a20e1e1419 fix(tmux): Use tilde instead of $HOME in tmux.conf 2024-03-01 12:42:59 +02:00
8328f4cd19 feat(tmux): Use my fork of tmux-window-name 2024-03-01 12:42:04 +02:00
4383b130a9 chore(brew): Clean up and update Brewfile 2024-03-01 12:11:56 +02:00
8143999f2a chore: update cheat/tldr submodule 2024-02-23 20:31:28 +02:00
523bec769f feat(config): add tldr to cheat as a submodule 2024-02-21 14:21:29 +02:00
dee215a29e chore(config): remove tldr from cheatsheets 2024-02-21 14:15:20 +02:00
755ac0fa2c feat(config): alias for trivy_scan using docker 2024-02-21 13:44:09 +02:00
a69f1f9f9c chore(deps): updated yarn packages 2024-02-19 03:31:15 +02:00
934ecb2335 chore(tmux): tweak configuration 2024-02-19 03:28:29 +02:00
4b6b887ca8 feat(shell): use oh-my-posh if available 2024-02-12 14:15:37 +02:00
fb0b9044eb chore(shell): tweak git segment in ohmyposh config 2024-02-08 23:05:09 +02:00
74ca882192 chore(shell): tweaked oh-my-posh git output 2024-02-08 14:46:43 +02:00
b904f0b60e fix(shell): run tmux hook only if tmux is active 2024-02-06 12:55:55 +02:00
13764775ca feat: switch from starship to oh-my-posh 2024-02-06 10:10:59 +02:00
1f7b92285b feat: make zsh faster, update brewfile 2024-02-06 10:09:09 +02:00
1f22aee5e3 feat(nvim): laytan/tailwind-sorter.nvim 2024-01-25 15:07:16 +02:00
7dddf3ed75 feat(nvim): add lazyvim extra yanky 2024-01-22 00:45:21 +02:00
62cd8cbda4 feat(nvim): use plugin versions, where available 2024-01-22 00:44:53 +02:00
7dcebc8615 feat(nvim): laytan/cloak.nvim 2024-01-22 00:44:15 +02:00
2e6a1582bf fix(nvim): comment box keymappings 2024-01-22 00:43:45 +02:00
c316a8eb2f feat(tmux): tmux-current-pane-hostname 2024-01-11 22:33:30 +02:00
4a493abedf chore(deps): updated yarn packages 2024-01-03 02:42:33 +02:00
42 changed files with 2459 additions and 2496 deletions

BIN
.github/screenshots/oh-my-posh.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

14
.gitmodules vendored
View File

@@ -41,7 +41,7 @@
ignore = dirty
[submodule "tmux/tmux-window-name"]
path = config/tmux/plugins/tmux-window-name
url = https://github.com/ofirgall/tmux-window-name.git
url = https://github.com/ivuorinen/tmux-window-name.git
ignore = dirty
[submodule "dotbot-pip"]
path = tools/dotbot-pip
@@ -52,3 +52,15 @@
[submodule "tmux/tmux-mode-indicator"]
path = config/tmux/plugins/tmux-mode-indicator
url = https://github.com/MunifTanjim/tmux-mode-indicator.git
[submodule "tmux/tmux-current-pane-hostname"]
path = config/tmux/plugins/tmux-current-pane-hostname
url = https://github.com/soyuka/tmux-current-pane-hostname.git
[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
[submodule "tmux/tmux-dark-notify"]
path = config/tmux/plugins/tmux-dark-notify
url = https://github.com/erikw/tmux-dark-notify.git

View File

@@ -10,9 +10,14 @@ 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
git submodule add --name cheat-tldr \
-f https://github.com/ivuorinen/cheatsheet-tldr.git config/cheat/cheatsheets/tldr
# tmux plugin manager and plugins
git submodule add --name tmux/tmux-continuum \
@@ -28,9 +33,13 @@ git submodule add --name tmux/tmux-sessionist \
git submodule add --name tmux/tmux-suspend \
-f https://github.com/MunifTanjim/tmux-suspend.git config/tmux/plugins/tmux-suspend
git submodule add --name tmux/tmux-window-name \
-f https://github.com/ofirgall/tmux-window-name.git config/tmux/plugins/tmux-window-name
-f https://github.com/ivuorinen/tmux-window-name.git config/tmux/plugins/tmux-window-name
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

View File

@@ -34,5 +34,8 @@ x-have rbenv && {
eval "$(rbenv init - bash)"
}
eval "$(starship init bash)"
# eval "$(starship init bash)"
x-have oh-my-posh && {
eval "$(oh-my-posh init bash --config $XDG_CONFIG_HOME/oh-my-posh.omp.json)"
}
source "$DOTFILES/config/alias"

View File

@@ -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

View File

@@ -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"

View File

@@ -61,17 +61,11 @@ antigen bundle jreese/zsh-titles
antigen bundle zsh-users/zsh-completions
# these should be available if there's need
x-have brew && antigen bundle brew
x-have php && antigen bundle php
x-have python && antigen bundle MichaelAquilina/zsh-autoswitch-virtualenv
# nvm is a strange beast
zstyle ':omz:plugins:nvm' autoload yes
antigen bundle nvm
# antigen bundle "$DOTFILES/config/zsh/plugins/nvm-auto-use"
# nice to have stuff
antigen bundle gcloud
# this needs to be the last item
antigen bundle zsh-users/zsh-syntax-highlighting
@@ -81,24 +75,40 @@ antigen apply
[ -f "${DOTFILES}/config/fzf/fzf.zsh" ] \
&& source "${DOTFILES}/config/fzf/fzf.zsh"
x-have op && {
eval "$(op completion zsh)"
compdef _op op
}
x-have rbenv && {
eval "$(rbenv init - zsh)"
}
# Autoupdate tmux window name
TMUX_WINDOW_NAME_PLUGIN="$DOTFILES/config/tmux/plugins/tmux-window-name/scripts/rename_session_windows.py"
[ -f "$TMUX_WINDOW_NAME_PLUGIN" ] && {
tmux-window-name()
{
($TMUX_WINDOW_NAME_PLUGIN &)
}
add-zsh-hook chpwd tmux-window-name
x-have pyenv && {
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
}
eval "$(starship init zsh)"
# Run only if tmux is active
[[ -n "$TMUX" ]] && {
# Autoupdate tmux window name
TMUX_WINDOW_NAME_PLUGIN="$DOTFILES/config/tmux/plugins/tmux-window-name/scripts/rename_session_windows.py"
[ -f "$TMUX_WINDOW_NAME_PLUGIN" ] && {
tmux-window-name()
{
($TMUX_WINDOW_NAME_PLUGIN &)
}
add-zsh-hook chpwd tmux-window-name
tmux-window-name
}
}
# eval "$(starship init zsh)"
x-have oh-my-posh && {
eval "$(oh-my-posh init zsh --config $XDG_CONFIG_HOME/oh-my-posh.omp.json)"
}
source "$DOTFILES/config/alias"
# Herd checks for a few environment variables to inject PHP binaries and configurations.
# Herd injected PHP binary.
# export PATH="/Users/ivuorinen/Library/Application Support/Herd/bin/":$PATH
# Herd injected PHP 8.3 configuration.
# export HERD_PHP_83_INI_SCAN_DIR="/Users/ivuorinen/Library/Application Support/Herd/config/php/83/"
# Herd injected PHP 7.4 configuration.
# export HERD_PHP_74_INI_SCAN_DIR="/Users/ivuorinen/Library/Application Support/Herd/config/php/74/"

View File

@@ -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 = "none"
decorations = "Full"
dynamic_title = true
opacity = 0.98
blur = true
[window.dimensions]
columns = 200
lines = 100
lines = 75
[window.padding]
x = 5

View File

@@ -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
@@ -75,6 +79,8 @@ alias code_scanner='docker run
registry.gitlab.com/gitlab-org/ci-cd/codequality:"${CODEQUALITY_VERSION:-latest}"
/code'
alias trivy_scan='docker run -v /var/run/docker.sock:/var/run/docker.sock -v $HOME/Library/Caches:/root/.cache/ aquasec/trivy'
alias zedit='$EDITOR ~/.dotfiles'
alias irssi="irssi --config=$XDG_CONFIG_HOME/irssi/config --home=$XDG_CONFIG_HOME/irssi"
@@ -97,7 +103,8 @@ if [[ $(uname) == 'Darwin' ]]; then
# Also, clear Apple's System Logs to improve shell startup speed
alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv ~/.Trash; sudo rm -rfv /private/var/log/asl/*.asl"
x-set-php-aliases
# Using herd for php now, so this is not needed anymore
# x-set-php-aliases
fi
# Alacritty preexec hook to update dynamic title

View File

@@ -72,7 +72,7 @@ cheatpaths:
tags: [pure-bash-bible]
readonly: true
- name: tldr
path: ~/.dotfiles/config/cheat/cheatsheets/tldr
path: ~/.dotfiles/config/cheat/cheatsheets/tldr/tldr
tags: [tldr]
readonly: true
# While it requires no configuration here, it's also worth noting that

View File

@@ -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"

View File

@@ -24,7 +24,13 @@ export ANDROID_HOME="$XDG_DATA_HOME/android"
# bob manages nvim versions
export PATH="$XDG_DATA_HOME/bob/nvim-bin:$PATH"
# bkt (shell command caching tool) configuration
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"
@@ -48,6 +54,17 @@ export GNUPGHOME="$XDG_DATA_HOME/gnupg"
export GOPATH="$XDG_DATA_HOME/go"
export GOBIN="$XDG_BIN_HOME"
# Herd, herd.laravel.com
# Herd injected PHP binary.
export PATH="$HOME/Library/Application Support/Herd/bin/":$PATH
x-have herd && {
# Herd injected PHP 8.3 configuration.
export HERD_PHP_83_INI_SCAN_DIR="$HOME/Library/Application Support/Herd/config/php/83/"
# Herd injected PHP 7.4 configuration.
export HERD_PHP_74_INI_SCAN_DIR="$HOME/Library/Application Support/Herd/config/php/74/"
}
# nb, https://xwmx.github.io/nb/
export NBRC_PATH="$XDG_CONFIG_HOME/nbrc"
export NB_DIR="$XDG_STATE_HOME/nb"
@@ -66,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 -)"
}

View File

@@ -1,5 +1,6 @@
tap "1password/tap"
tap "anchore/grype"
tap "cormacrelf/tap"
tap "ddosify/tap"
tap "dm3ch/tap"
tap "gesquive/tap"
@@ -9,23 +10,18 @@ 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"
# Mozilla CA certificate store
brew "ca-certificates"
# YAML Parser
brew "libyaml"
# Cryptography and SSL/TLS Toolkit
brew "openssl@3"
# Automate deployment, configuration, and upgrading
brew "ansible"
# Checks ansible playbooks for practices and behaviour
brew "ansible-lint"
# Simple, modern, secure file encryption
brew "age"
# Generic-purpose lossless compression algorithm by Google
brew "brotli"
# Library and utilities for processing GIFs
@@ -44,36 +40,24 @@ brew "jpeg-xl"
brew "aom"
# Apache Portable Runtime library
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"
# Open Source Kubernetes Marketplace
brew "arkade"
# Automatic configure script builder
brew "autoconf"
# GNU multiple precision arithmetic library
brew "gmp"
# GNU File, Shell, and Text utilities
brew "coreutils"
# Extendable version manager with support for Ruby, Node.js, Erlang & more
brew "asdf"
# Spell checker with better logic than ispell
brew "aspell"
# Interpreted, interactive, object-oriented programming language
brew "python@3.11"
# Official Amazon AWS command-line interface
brew "awscli"
# Automatic configure script builder
brew "autoconf"
# Bourne-Again SHell, a UNIX command interpreter
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"
# Switch Apache / Valet / CLI configs between PHP versions
brew "brew-php-switcher"
# Software library to render fonts
brew "freetype"
# XML-based font configuration API for X Windows
@@ -82,36 +66,28 @@ brew "fontconfig"
brew "gettext"
# Core application library for C
brew "glib"
# Manage compile and link flags for libraries
brew "pkg-config"
# 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"
# Get, unpack, build, and install modules from CPAN
brew "cpanminus"
# GNU multiple precision arithmetic library
brew "gmp"
# GNU File, Shell, and Text utilities
brew "coreutils"
# Cryptographic recipes and primitives for Python
brew "cryptography"
# Open source suite of directory software
brew "openldap"
# Get a file from an HTTP, HTTPS or FTP server
brew "curl"
# Diff that understands syntax
brew "difftastic"
# Tool for exploring each layer in a docker image
brew "dive"
# Lightweight DNS forwarder and DHCP server
brew "dnsmasq"
# Command-line DNS client
brew "dog"
# Lightning-fast linter for .env files written in Rust
brew "dotenv-linter"
# Tool to verify that your files are in harmony with your .editorconfig
brew "editorconfig-checker", link: false
# Useful examples at the command-line
brew "eg-examples"
# Spellchecker wrapping library
brew "enchant"
# Run arbitrary commands when files change
brew "entr"
# Perl lib for reading and writing EXIF metadata
brew "exiftool"
# Simple, fast and user-friendly alternative to find
@@ -127,7 +103,7 @@ brew "fzf"
# Graphics library to dynamically manipulate images
brew "gd"
# Disk usage analyzer with console interface written in Go
brew "gdu", link: false
brew "gdu"
# GitHub command-line tool
brew "gh"
# Distributed revision control system
@@ -138,8 +114,6 @@ brew "git-crypt"
brew "git-extras"
# See your latest local git branches, formatted real fancy
brew "git-recent"
# Open-source GitLab command-line tool
brew "glab"
# Render markdown on the CLI
brew "glow"
# GNU implementation of the famous stream editor
@@ -158,6 +132,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
@@ -174,10 +150,8 @@ brew "gzip"
brew "hadolint"
# Improved top (interactive process viewer)
brew "htop"
# Website copier/offline browser
brew "httrack"
# Configurable static site generator
brew "hugo"
# 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
@@ -186,24 +160,26 @@ brew "imagemagick"
brew "irssi"
# Lightweight and flexible command-line JSON processor
brew "jq"
# Scanning your k8s clusters, diagnosing, and triaging issues in simple English
brew "k8sgpt"
# Network authentication protocol
brew "krb5"
# Lazier way to manage everything docker
brew "lazydocker"
# 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"
# Linguistic software and Finnish dictionary
brew "libvoikko"
# Rainbows and unicorns in your console!
brew "lolcat"
# Multi-platform support library with a focus on asynchronous I/O
brew "libuv"
# YAML Parser
brew "libyaml"
# 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"
# Mac App Store command-line interface
brew "mas"
# Mongrel of mail user agents (part elm, pine, mush, mh, etc.)
brew "mutt"
# NCurses Disk Usage
@@ -212,22 +188,12 @@ brew "ncdu"
brew "nginx"
# Port scanning utility for large networks
brew "nmap"
# Manage multiple Node.js versions
brew "nvm"
# Development kit for the Java programming language
brew "openjdk@11"
# Generate clients, server & docs from an OpenAPI spec (v2, v3)
brew "openapi-generator"
# Development kit for the Java programming language
brew "openjdk"
# Swiss-army knife of markup format conversion
brew "pandoc"
# Highly capable, feature-rich programming language
brew "perl"
# General-purpose scripting language
brew "php@8.1"
# Simple Python style checker in one Python file
brew "pycodestyle"
brew "php"
# Manage compile and link flags for libraries
brew "pkg-config"
# Coreutils progress viewer
brew "progress"
# Python version management
brew "pyenv"
# Migrate pip packages from one Python version to another
@@ -235,29 +201,23 @@ brew "pyenv-pip-migrate"
# Pyenv plugin to manage virtualenv
brew "pyenv-virtualenv"
# Interpreted, interactive, object-oriented programming language
brew "python@3.10"
# Interpreted, interactive, object-oriented programming language
brew "python@3.8"
brew "python@3.11"
# Install various Ruby versions and implementations
brew "ruby-build"
# Ruby version manager
brew "rbenv"
# RC file (dotfile) management
brew "rcm"
# Search tool like grep and The Silver Searcher
brew "ripgrep"
# Safe, concurrent, practical language
brew "rust"
# Static analysis and lint tool, for (ba)sh scripts
brew "shellcheck"
# Autoformat shell script source code
brew "shfmt"
# Support CI generation of SBOMs via golang tooling
brew "spdx-sbom-generator"
# Version control system designed to be a better CVS
brew "subversion"
# Feature-rich console based todo list manager
brew "task"
# Terminal user interface for taskwarrior
brew "taskwarrior-tui"
# Very fast implementation of tldr in Rust
brew "tealdeer"
# Send macOS User Notifications from the command-line
brew "terminal-notifier"
# Thin wrapper for Terraform e.g. for locking state
@@ -270,78 +230,41 @@ brew "tfenv"
brew "tflint"
# Static analysis security scanner for your terraform code
brew "tfsec"
# Programmatically correct mistyped console commands
brew "thefuck"
# Terminal multiplexer
brew "tmux"
# Display directories as trees (with optional color/HTML output)
brew "tree"
# Vulnerability scanner for container images, file systems, and Git repos
brew "trivy"
# Modern watch command
brew "viddy"
# 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"
# Watch files and take action when they change
brew "watchman"
# Internet file retriever
brew "wget"
# Personal information dashboard for your terminal
brew "wtfutil"
# Check your $HOME for unwanted files and directories
brew "xdg-ninja", args: ["HEAD"]
# Hackable, minimal, fast TUI file explorer
brew "xplr"
# JavaScript package manager
brew "yarn"
# A vulnerability scanner for container images and filesystems
brew "anchore/grype/grype"
# High-performance load testing tool, written in Golang.
brew "ddosify/tap/ddosify"
# Watcher for macOS 10.14+ light/dark mode changes
brew "cormacrelf/tap/dark-notify"
# lets you quickly switch between multiple git user profiles
brew "gesquive/tap/git-user"
# A simple terminal UI for git commands, written in Go
brew "jesseduffield/lazygit/lazygit"
# High-performance, schema-free, document-oriented database
brew "mongodb/brew/mongodb-community"
# Imagick PHP extension
brew "shivammathur/extensions/imagick@8.2"
# Xdebug PHP extension
brew "shivammathur/extensions/xdebug@7.4"
# Xdebug PHP extension
brew "shivammathur/extensions/xdebug@8.0"
# Xdebug PHP extension
brew "shivammathur/extensions/xdebug@8.1"
# General-purpose scripting language
brew "shivammathur/php/php"
# General-purpose scripting language
brew "shivammathur/php/php@7.4"
# General-purpose scripting language
brew "shivammathur/php/php@8.0"
# Ookla Speedtest
brew "teamookla/speedtest/speedtest"
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
cask "alacritty"
# Automatic tiling window manager similar to xmonad
cask "amethyst"
# Turn audio CDs and files into audiobooks
cask "audiobook-builder"
# Text editor
cask "coda"
# Universal database tool and SQL client
cask "dbeaver-community"
# Database version management tool
cask "dbngin"
# App to build and share containerized applications and microservices
# App to build and share containerised applications and microservices
cask "docker"
# UI toolkit for building applications for mobile, web and desktop
cask "flutter"
# Unofficial overcast.fm podcast app
cask "fog"
# Typeface made for developers
@@ -360,8 +283,6 @@ cask "font-source-serif-pro"
cask "fontplop"
# GIT client
cask "fork"
# Set of tools to manage resources and applications hosted on Google Cloud
cask "google-cloud-sdk"
# HTTP and GraphQL Client
cask "insomnia"
# JetBrains tools manager
@@ -378,30 +299,24 @@ cask "ngrok"
cask "notunes"
# Knowledge base that works on top of a local folder of plain text Markdown files
cask "obsidian"
# Scheduling application focusing on organization
# Scheduling application focusing on organisation
cask "omnifocus"
# Collaboration platform for API development
cask "postman"
# Display image info and preview unsupported formats in QuickLook
cask "qlimagesize"
# QuickLook generator for Markdown files
# Quick Look generator for Markdown files
cask "qlmarkdown"
# QuickLook plugin for plaintext files without an extension
# Quick Look plugin for plaintext files without an extension
cask "qlstephen"
# QuickLook plugin for JSON files
# Quick Look plugin for JSON files
cask "quicklook-json"
# QuickLook generator for Adobe Swatch Exchange files
# Quick Look generator for Adobe Swatch Exchange files
cask "quicklookase"
# Automatically hides or quits apps after periods of inactivity
cask "quitter"
# Control your tools with a few keystrokes
cask "raycast"
# Move and resize windows using keyboard shortcuts or snap areas
cask "rectangle"
# GUI for rsync
cask "rsyncosx"
# GUI for rsync
cask "rsyncui"
# MySQL/MariaDB database management
cask "sequel-ace"
# Plugin for AWS CLI to start and end sessions that connect to managed instances
@@ -416,103 +331,13 @@ 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
cask "vlc"
# Spell-checking service for Finnish
cask "voikkospellservice"
# Rust-based terminal
cask "warp"
mas "1Password for Safari", id: 1569813296
mas "Actions", id: 1586435171
mas "Audiobook Builder", id: 1437681957
mas "Ivory", id: 6444602274
mas "Keynote", id: 409183694
mas "LastPass", id: 926036361
mas "Numbers", id: 409203825
mas "Pages", id: 409201541
mas "Pixelmator Pro", id: 1289583905
mas "Final Cut Pro", id: 424389933
mas "Tailscale", id: 1475387142
mas "Xcode", id: 497799835
vscode "4ops.terraform"
vscode "adamiBs.terraform-live-graph"
vscode "akamud.vscode-theme-onelight"
vscode "amiralizadeh9480.laravel-extra-intellisense"
vscode "andrewleedham.vscode-css-modules"
vscode "andrewmcodes.tailwindcss-extension-pack"
vscode "austenc.tailwind-docs"
vscode "bmewburn.vscode-intelephense-client"
vscode "Box-Of-Hats.bemhelper"
vscode "bradlc.vscode-tailwindcss"
vscode "christian-kohler.npm-intellisense"
vscode "christian-kohler.path-intellisense"
vscode "DavidAnson.vscode-markdownlint"
vscode "dbaeumer.vscode-eslint"
vscode "DotJoshJohnson.xml"
vscode "eamodio.gitlens"
vscode "EditorConfig.EditorConfig"
vscode "esbenp.prettier-vscode"
vscode "formulahendry.auto-close-tag"
vscode "formulahendry.auto-rename-tag"
vscode "formulahendry.code-runner"
vscode "foxundermoon.shell-format"
vscode "gencer.html-slim-scss-css-class-completion"
vscode "GitHub.copilot"
vscode "GitHub.copilot-chat"
vscode "github.vscode-github-actions"
vscode "GitHub.vscode-pull-request-github"
vscode "GraphQL.vscode-graphql"
vscode "GraphQL.vscode-graphql-execution"
vscode "GraphQL.vscode-graphql-syntax"
vscode "hashicorp.terraform"
vscode "heybourn.headwind"
vscode "JohnnyMorganz.stylua"
vscode "jumpinjackie.vscode-map-preview"
vscode "k--kato.intellij-idea-keybindings"
vscode "liamhammett.inline-parameters"
vscode "macieklad.tailwind-sass-syntax"
vscode "MehediDracula.php-namespace-resolver"
vscode "mikestead.dotenv"
vscode "MisterJ.vue-volar-extention-pack"
vscode "MrChetan.phpstorm-parameter-hints-in-vscode"
vscode "mrorz.language-gettext"
vscode "ms-azuretools.vscode-azureterraform"
vscode "ms-azuretools.vscode-docker"
vscode "ms-python.python"
vscode "ms-python.vscode-pylance"
vscode "ms-toolsai.jupyter"
vscode "ms-toolsai.jupyter-renderers"
vscode "ms-toolsai.vscode-jupyter-cell-tags"
vscode "ms-toolsai.vscode-jupyter-slideshow"
vscode "ms-vscode-remote.remote-containers"
vscode "ms-vscode-remote.remote-wsl"
vscode "ms-vscode.azure-account"
vscode "ms-vscode.cpptools"
vscode "msjsdiag.vscode-react-native"
vscode "mtxr.sqltools"
vscode "neilbrayfield.php-docblocker"
vscode "nhoizey.gremlins"
vscode "octref.vetur"
vscode "oderwat.indent-rainbow"
vscode "pflannery.vscode-versionlens"
vscode "phiter.phpstorm-snippets"
vscode "sibiraj-s.vscode-scss-formatter"
vscode "SonarSource.sonarlint-vscode"
vscode "stylelint.vscode-stylelint"
vscode "sumneko.lua"
vscode "syler.sass-indented"
vscode "timonwong.shellcheck"
vscode "tootone.org-mode"
vscode "valeryanm.vscode-phpsab"
vscode "Vue.volar"
vscode "Vue.vscode-typescript-vue-plugin"
vscode "WakaTime.vscode-wakatime"
vscode "wix.vscode-import-cost"
vscode "XadillaX.viml"
vscode "xdebug.php-debug"
vscode "xdebug.php-pack"
vscode "yinfei.luahelper"
vscode "yoavbls.pretty-ts-errors"
vscode "ZainChen.json"
# Application for generating TOTP and HOTP codes
cask "yubico-authenticator"

1
config/nvim-kickstart Submodule

Submodule config/nvim-kickstart added at c041351f27

View File

@@ -1,28 +1,35 @@
{
"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.symbols-outline",
"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",
"lazyvim.plugins.extras.lang.docker",
"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.util.mini-hipatterns"
],
"news": {
"NEWS.md": "2123"
"NEWS.md": "5204"
},
"version": 2
"version": 6
}

View File

@@ -1,19 +1,22 @@
-- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here
local wk = require("which-key")
local keymap = vim.keymap.set
-- ──────────────────────────────────────────────────────────
-- │ Comment box │
-- ╰──────────────────────────────────────────────────────────╯
local cb = require("comment-box")
-- left aligned fixed size box with left aligned text
keymap({ "n", "v" }, "<Leader>bcb", cb.lbox, { desc = "Comment: Left aligned" })
-- centered adapted box with centered text
keymap({ "n", "v" }, "<Leader>bcc", cb.ccbox, { desc = "Comment: Centered" })
-- centered line
keymap("n", "<Leader>bcl", cb.cline, { desc = "Comment: Centered line" })
keymap("i", "<M-l>", cb.cline, { desc = "Comment: Centered line" })
-- ╭──────────────────────────────────────────────────────────╮
-- │ Comment box │
-- ──────────────────────────────────────────────────────────
wk.register({
["<Leader>"] = {
b = {
c = {
name = "□ Comment boxes",
b = { "<Cmd>CBccbox<CR>", "Box Title" },
t = { "<Cmd>CBllline<CR>", "Titled Line" },
l = { "<Cmd>CBline<CR>", "Simple Line" },
m = { "<Cmd>CBllbox14<CR>", "Marked" },
d = { "<Cmd>CBd<CR>", "Remove a box" },
},
},
},
})

View File

@@ -40,8 +40,8 @@ require("lazy").setup({
lazy = false,
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
-- have outdated releases, which may break your Neovim install.
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
-- version = false, -- always use the latest git commit
version = "*", -- try installing the latest stable version for plugins that support semver
},
install = { colorscheme = { "tokyonight" } },
checker = { enabled = true }, -- automatically check for plugin updates

View File

@@ -56,6 +56,15 @@ return {
},
},
},
{
"laytan/tailwind-sorter.nvim",
dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-lua/plenary.nvim" },
build = "cd formatter && npm i && npm run build",
config = true,
opts = {
on_save_enabled = true,
},
},
-- Describe the regexp under the cursor
-- https://github.com/bennypowers/nvim-regexplainer
{

View File

@@ -12,6 +12,7 @@ return {
opts = function(_, opts)
vim.list_extend(opts.ensure_installed, {
"phpactor",
"intelephense",
})
end,
},

View File

@@ -1,5 +1,27 @@
-- luacheck: globals vim
return {
-- Neotree configuration
{
"nvim-neo-tree/neo-tree.nvim",
opts = {
filesystem = {
filtered_items = {
always_show = {
".github",
".gitignore",
".editorconfig",
".python-version",
".nvmrc",
".env",
".env.example",
},
},
},
},
},
-- Cloak allows you to overlay *'s over defined patterns in defined files.
-- https://github.com/laytan/cloak.nvim
{ "laytan/cloak.nvim" },
-- Not UFO in the sky, but an ultra fold in Neovim.
-- https://github.com/kevinhwang91/nvim-ufo/
{
@@ -33,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 = { "", "", "", "", "", "", "", "" },

View File

@@ -1,3 +1,3 @@
indent_type = "Spaces"
indent_width = 2
column_width = 120
column_width = 120

134
config/oh-my-posh.omp.json Normal file
View File

@@ -0,0 +1,134 @@
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"final_space": true,
"shell_integration": true,
"console_title_template": "{{.UserName}}@{{.HostName}} {{.Shell}} in {{.PWD}}",
"blocks": [
{
"alignment": "left",
"segments": [
{
"foreground": "cyan",
"style": "powerline",
"template": "{{ .Icon }}",
"type": "os"
},
{
"type": "session",
"style": "plain",
"template": " {{ if .SSHSession }} {{ .UserName }}@{{ end }}{{ .HostName }}"
},
{
"foreground": "cyan",
"properties": {
"style": "mixed"
},
"style": "plain",
"template": " {{ .Path }} ",
"type": "path",
"mapped_locations": {
"~/Code/*": "\uF09B"
}
},
{
"type": "git",
"style": "plain",
"foreground": "lightGreen",
"template": "{{ .UpstreamIcon }}{{ if or (.Staging.Changed) (.Working.Changed) }}({{if .Behind }}\u2193 {{ .Behind }} {{ end }}{{if .Staging.Changed }}\uF046 {{ .Staging.String }} {{ end }}{{ if and (.Staging.Changed) (.Working.Changed) }}| {{ end }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}){{ end }}",
"properties": {
"fetch_status": true,
"fetch_upstream_icon": true,
"untracked_modes": {
"~/Code/oh-my-posh/": "no"
}
}
},
{
"type": "terraform",
"style": "plain",
"foreground": "#000000",
"background": "#ebcc34",
"template": "{{.WorkspaceName}}"
}
],
"type": "prompt"
},
{
"alignment": "left",
"segments": [
{
"foreground": "#68a063",
"properties": {
"display_mode": "files",
"fetch_package_manager": true,
"fetch_version": true
},
"style": "plain",
"template": " {{ if .PackageManagerIcon }}{{ .PackageManagerIcon }} {{ end }}{{ .Full }}",
"type": "node"
},
{
"foreground": "#4063D8",
"properties": {
"display_mode": "files",
"fetch_version": true
},
"style": "plain",
"template": " {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }}",
"type": "crystal"
},
{
"foreground": "#DE3F24",
"properties": {
"display_mode": "files",
"fetch_version": true
},
"style": "plain",
"template": " {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }}",
"type": "ruby"
},
{
"foreground": "#FED142",
"properties": {
"display_mode": "context",
"fetch_virtual_env": false
},
"style": "plain",
"template": " {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }}",
"type": "python"
},
{
"type": "php",
"style": "plain",
"template": "  {{ .Full }} "
}
],
"type": "prompt"
},
{
"alignment": "left",
"newline": true,
"segments": [
{
"background": "transparent",
"foreground": "lightGreen",
"foreground_templates": ["{{ if gt .Code 0 }}red{{ end }}"],
"properties": {
"always_enabled": true
},
"style": "plain",
"template": "\u279c",
"type": "status"
}
],
"type": "prompt"
}
],
"transient_prompt": {
"background": "transparent",
"foreground": "lightGreen",
"foreground_templates": ["{{ if gt .Code 0 }}red{{ end }}"],
"template": "\u279c "
},
"version": 2
}

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

View 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

View File

@@ -8,8 +8,8 @@
# │ Bindings │
# ╰──────────────────────────────────────────────────────────╯
# Set <prefix> to Control + Space
unbind C-b
# Set <prefix> to Control + Space, keeping the default of C-b intact.
# unbind C-b
set -g prefix C-Space
bind C-Space send-prefix
@@ -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 "#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 │
@@ -120,19 +137,20 @@ set -g @suspend_key 'F12'
## A plugin to name your tmux windows smartly.
## https://github.com/ofirgall/tmux-window-name
### Maximum name length of a window
set -g @tmux_window_name_max_name_len "30"
set -g @tmux_window_name_max_name_len "20"
### Replace $HOME with ~ in window names
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']" # 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
set -g @continuum-restore 'on'
## https://github.com/tmux-plugins/tmux-resurrect
set -g @resurrect-strategy-nvim 'session'
set -g @resurrect-dir '$HOME/.local/state/tmux/tmux-resurrect'
set -g @resurrect-dir '~/.local/state/tmux/tmux-resurrect'
## https://github.com/MunifTanjim/tmux-mode-indicator
set -g @mode_indicator_prefix_mode_style 'bg=default,fg=#7aa2f7'
@@ -152,4 +170,6 @@ run-shell ~/.dotfiles/config/tmux/plugins/tmux-sessionist/sessionist.tmux
run-shell ~/.dotfiles/config/tmux/plugins/tmux-mode-indicator/mode_indicator.tmux
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

View File

@@ -61,6 +61,7 @@ function section_install
$0 install fonts
$0 install antigen
$0 brew install
$0 install ohmyposh
$0 install ohmybash
$0 install pip
$0 install cargo
@@ -185,6 +186,11 @@ function section_install
bash "$DOTFILES/scripts/install-ohmybash.sh" \
&& msg_yay "oh-my-bash installed!"
;;
ohmyposh)
msg "oh-my-posh install started..."
bash "$DOTFILES/scripts/install-ohmyposh.sh" \
&& msg_yay "oh-my-posh installed!"
;;
pip)
msg "pip install started..."
bash "$DOTFILES/scripts/install-pip-packages.sh"
@@ -207,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 && {
@@ -219,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

View File

@@ -1,6 +0,0 @@
#!/bin/sh
# work around https://github.com/Microsoft/vscode/issues/3941
# and anyone else who expects to see a 'python' executable
exec python3 "$@"

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",
"devDependencies": {
"@ivuorinen/base-configs": "^1.1.0"
}
},
"packageManager": "yarn@1.22.22"
}

View File

@@ -26,7 +26,7 @@ rustup default system
packages=(
"cargo-cache"
# starship.rs
"starship"
# "starship"
# An incremental parsing system for programming tools
"tree-sitter-cli"
# a subprocess caching utility

View File

@@ -1,78 +0,0 @@
#!/usr/bin/env bash
# shellcheck disable=SC2231,SC2034,SC2181,SC2068
# shellcheck source=shared.sh
source "$HOME/.dotfiles/scripts/shared.sh"
TLDR_REQUIRED_TOOLS=(git cheat)
for t in ${TLDR_REQUIRED_TOOLS[@]}; do
! x-have "$t" && echo "(!) $t is missing, can't continue..." && exit 1
done
TLDR_GIT="https://github.com/tldr-pages/tldr.git"
TLDR_SOURCE="source: $TLDR_GIT"
TLDR_SYNTAX="syntax: markdown"
TLDR_TEMP_PREFIX=$(basename "$0")
TLDR_TEMP_DIR="$XDG_CACHE_HOME/cheat/tldr"
# If there's no .git, clone the folder
if [ ! -d "$TLDR_TEMP_DIR/.git" ]; then
msg_run "Starting to clone $TLDR_GIT"
git clone --depth 1 --single-branch -q "$TLDR_GIT" "$TLDR_TEMP_DIR" \
&& msg_done "Cloned $TLDR_GIT"
else
# Update the repo
msg_run "Starting to update $TLDR_GIT"
git -C "$TLDR_TEMP_DIR" reset --hard origin/main
git -C "$TLDR_TEMP_DIR" pull -q --depth 2 \
&& msg_done "Updated $TLDR_GIT"
fi
msg_run "Removing non-english translation files"
rm -rf "$TLDR_TEMP_DIR/pages.*"
# Fetch the destination directory from cheat defined directories.
TLDR_CHEAT_DEST="$(cheat -d | grep tldr | head -1 | awk '{print $2}')"
[ "$TLDR_CHEAT_DEST" = "" ] \
&& msg_err "cheat doesn't know about the destination" \
&& exit 1
if [ ! -d "$TLDR_CHEAT_DEST" ]; then
mkdir -p "$TLDR_CHEAT_DEST"
fi
for d in "$TLDR_TEMP_DIR"/pages/*; do
DIRNAME=$(basename "$d")
# echo "-> $DIRNAME ($d)"
SECTION_DIR="${TLDR_CHEAT_DEST}/$DIRNAME"
[ "$DIRNAME" = "common" ] && SECTION_DIR="${TLDR_CHEAT_DEST}"
TLDR_TAGS="tags: [$DIRNAME]"
if [ ! -d "$SECTION_DIR" ]; then
mkdir -p "$SECTION_DIR"
fi
for FILE in $d/*.md; do
BASENAME=$(basename "$FILE" .md)
FILENAME="${BASENAME%%.*}"
# echo "-> $FILE = $FILENAME"
TLDR_FILE="$SECTION_DIR/${BASENAME}"
# echo "-> dest: $TLDR_FILE"
# Update the original file for making the replacable value comparable
if [ -f "$FILE" ] && [ '---' != "$(head -1 < "$FILE")" ]; then
echo -e "---\n$TLDR_SYNTAX\n$TLDR_TAGS\n$TLDR_SOURCE\n---\n$(cat "$FILE")" > "$FILE"
fi
replacable "$FILE" "$TLDR_FILE"
override=$?
if [ "$override" -ne 0 ]; then
cp "$FILE" "$TLDR_FILE" && msg_run "Updated: $TLDR_FILE"
fi
done
done

18
scripts/install-ohmyposh.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/usr/bin/env zsh
#
# Install oh-my-posh
#
# shellcheck source=shared.sh
source "$HOME/.dotfiles/scripts/shared.sh"
curl -s https://ohmyposh.dev/install.sh | bash -s -- -d ~/.local/bin
OHMYPOSH_CFG="$HOME/.dotfiles/config/oh-my-posh.omp.json"
eval "$(oh-my-posh init zsh --config $OHMYPOSH_CFG)"
#cd ~/.dotfiles || exit
#oh-my-posh config export image \
# --config "$OHMYPOSH_CFG" \
# --output "~/.dotfiles/.github/screenshots/oh-my-posh.png" \
# --author "Ismo Vuorinen"

View File

@@ -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
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

4070
yarn.lock

File diff suppressed because it is too large Load Diff