mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-03 19:48:44 +00:00
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 07264c594f | |||
|
|
7b58f660ac | ||
|
|
b000f2b0c4 | ||
| 4d548687e1 | |||
| 519d8398de | |||
| 2203bb3957 | |||
|
|
ddafdfe3c9 | ||
| a3f35b2d18 | |||
| 90020a4998 | |||
| 0f806c172d | |||
|
|
e8eb9b98b2 | ||
| 7e0a88cf8f | |||
| f72f57ebf0 | |||
| b5e56e2cbb | |||
|
|
179938132c | ||
|
|
bae84c176c | ||
| be8a6761af | |||
| c348f3625f | |||
| 094f19c99c | |||
| 5a23ae8f01 |
1
.github/workflows/linters.yml
vendored
1
.github/workflows/linters.yml
vendored
@@ -19,7 +19,6 @@ jobs:
|
|||||||
permissions: write-all
|
permissions: write-all
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
|
||||||
- name: GitHub Actions
|
- name: GitHub Actions
|
||||||
|
|||||||
2
.github/workflows/new-release.yml
vendored
2
.github/workflows/new-release.yml
vendored
@@ -40,7 +40,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Create release
|
- name: Create release
|
||||||
if: steps.daily-version.outputs.created
|
if: steps.daily-version.outputs.created
|
||||||
uses: softprops/action-gh-release@da05d552573ad5aba039eaac05058a918a7bf631 # v2.2.2
|
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
tag_name: ${{ steps.daily-version.outputs.version }}
|
tag_name: ${{ steps.daily-version.outputs.version }}
|
||||||
|
|||||||
6
.github/workflows/pre-commit-autoupdate.yml
vendored
6
.github/workflows/pre-commit-autoupdate.yml
vendored
@@ -5,7 +5,7 @@ name: Pre-commit autoupdate
|
|||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
# At 04:00 on Monday and Thursday.
|
# At 04:00 on Monday and Thursday.
|
||||||
- cron: "0 4 * * 1,4"
|
- cron: '0 4 * * 1,4'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
@@ -33,6 +33,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
branch: update/pre-commit-hooks
|
branch: update/pre-commit-hooks
|
||||||
title: "chore: update pre-commit hooks"
|
title: 'chore: update pre-commit hooks'
|
||||||
commit-message: "chore: update pre-commit hooks"
|
commit-message: 'chore: update pre-commit hooks'
|
||||||
body: Update versions of pre-commit hooks to latest version.
|
body: Update versions of pre-commit hooks to latest version.
|
||||||
|
|||||||
2
.github/workflows/sync-labels.yml
vendored
2
.github/workflows/sync-labels.yml
vendored
@@ -11,7 +11,7 @@ on:
|
|||||||
- .github/workflows/sync-labels.yml
|
- .github/workflows/sync-labels.yml
|
||||||
- .github/labels.yml
|
- .github/labels.yml
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "34 5 * * *"
|
- cron: '34 5 * * *'
|
||||||
workflow_call:
|
workflow_call:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|||||||
3
.github/workflows/update-submodules.yml
vendored
3
.github/workflows/update-submodules.yml
vendored
@@ -5,7 +5,7 @@ name: Update submodules
|
|||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
# At 04:00 on Monday and Thursday.
|
# At 04:00 on Monday and Thursday.
|
||||||
- cron: "0 4 * * 1"
|
- cron: '0 4 * * 1'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
@@ -21,7 +21,6 @@ jobs:
|
|||||||
permissions: write-all
|
permissions: write-all
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
{
|
{
|
||||||
"diagnostics.globals": [
|
"diagnostics.globals": ["vim"]
|
||||||
"vim"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ repos:
|
|||||||
- id: actionlint
|
- id: actionlint
|
||||||
|
|
||||||
- repo: https://github.com/renovatebot/pre-commit-hooks
|
- repo: https://github.com/renovatebot/pre-commit-hooks
|
||||||
rev: 40.36.8
|
rev: 40.57.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: renovate-config-validator
|
- id: renovate-config-validator
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
3.13.3
|
3.13.5
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
# supported_envs:
|
# supported_envs:
|
||||||
# - all
|
# - all
|
||||||
registries:
|
registries:
|
||||||
- type: standard
|
- type: standard
|
||||||
ref: v4.346.0 # renovate: depName=aquaproj/aqua-registry
|
ref: v4.346.0 # renovate: depName=aquaproj/aqua-registry
|
||||||
packages:
|
packages:
|
||||||
- name: cli/cli
|
- name: cli/cli
|
||||||
version: 'v2.69.0'
|
version: 'v2.69.0'
|
||||||
|
|||||||
@@ -75,7 +75,6 @@ cheatpaths:
|
|||||||
path: ~/.dotfiles/config/cheat/cheatsheets/personal
|
path: ~/.dotfiles/config/cheat/cheatsheets/personal
|
||||||
tags: [personal]
|
tags: [personal]
|
||||||
readonly: false
|
readonly: false
|
||||||
|
|
||||||
# While it requires no configuration here, it's also worth noting that
|
# While it requires no configuration here, it's also worth noting that
|
||||||
# cheat will automatically append directories named '.cheat' within the
|
# cheat will automatically append directories named '.cheat' within the
|
||||||
# current working directory to the 'cheatpath'. This can be very useful if
|
# current working directory to the 'cheatpath'. This can be very useful if
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ get_sha256sum()
|
|||||||
# $2 - filename (string)
|
# $2 - filename (string)
|
||||||
#
|
#
|
||||||
# Returns 1 when replaceable, 0 when not replaceable.
|
# Returns 1 when replaceable, 0 when not replaceable.
|
||||||
replacable()
|
replaceable()
|
||||||
{
|
{
|
||||||
FILE1="$1"
|
FILE1="$1"
|
||||||
FILE2="$2"
|
FILE2="$2"
|
||||||
|
|||||||
25
config/fish/conf.d/puffer_fish_key_bindings.fish
Normal file
25
config/fish/conf.d/puffer_fish_key_bindings.fish
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
status is-interactive || exit
|
||||||
|
|
||||||
|
function _puffer_fish_key_bindings --on-variable fish_key_bindings
|
||||||
|
set -l modes
|
||||||
|
if test "$fish_key_bindings" = fish_default_key_bindings
|
||||||
|
set modes default insert
|
||||||
|
else
|
||||||
|
set modes insert default
|
||||||
|
end
|
||||||
|
|
||||||
|
bind --mode $modes[1] . _puffer_fish_expand_dots
|
||||||
|
bind --mode $modes[1] ! _puffer_fish_expand_bang
|
||||||
|
bind --mode $modes[1] '$' _puffer_fish_expand_lastarg
|
||||||
|
bind --mode $modes[2] --erase . ! '$'
|
||||||
|
end
|
||||||
|
|
||||||
|
_puffer_fish_key_bindings
|
||||||
|
|
||||||
|
set -l uninstall_event puffer_fish_key_bindings_uninstall
|
||||||
|
|
||||||
|
function _$uninstall_event --on-event $uninstall_event
|
||||||
|
bind -e .
|
||||||
|
bind -e !
|
||||||
|
bind -e '$'
|
||||||
|
end
|
||||||
52
config/fish/conf.d/sponge.fish
Normal file
52
config/fish/conf.d/sponge.fish
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# Sponge version
|
||||||
|
set --global sponge_version 1.1.0
|
||||||
|
|
||||||
|
# Allow to repeat previous command by default
|
||||||
|
if not set --query --universal sponge_delay
|
||||||
|
set --universal sponge_delay 2
|
||||||
|
end
|
||||||
|
|
||||||
|
# Purge entries both after `sponge_delay` entries and on exit by default
|
||||||
|
if not set --query --universal sponge_purge_only_on_exit
|
||||||
|
set --universal sponge_purge_only_on_exit false
|
||||||
|
end
|
||||||
|
|
||||||
|
# Add default filters
|
||||||
|
if not set --query --universal sponge_filters
|
||||||
|
set --universal sponge_filters sponge_filter_failed sponge_filter_matched
|
||||||
|
end
|
||||||
|
|
||||||
|
# Don't filter out commands that already have been in the history by default
|
||||||
|
if not set --query --universal sponge_allow_previously_successful
|
||||||
|
set --universal sponge_allow_previously_successful true
|
||||||
|
end
|
||||||
|
|
||||||
|
# Consider `0` the only successful exit code by default
|
||||||
|
if not set --query --universal sponge_successful_exit_codes
|
||||||
|
set --universal sponge_successful_exit_codes 0
|
||||||
|
end
|
||||||
|
|
||||||
|
# No active regex patterns by default
|
||||||
|
if not set --query --universal sponge_regex_patterns
|
||||||
|
set --universal sponge_regex_patterns
|
||||||
|
end
|
||||||
|
|
||||||
|
# Attach event handlers
|
||||||
|
functions --query \
|
||||||
|
_sponge_on_prompt \
|
||||||
|
_sponge_on_preexec \
|
||||||
|
_sponge_on_postexec \
|
||||||
|
_sponge_on_exit
|
||||||
|
|
||||||
|
# Initialize empty state for the first run
|
||||||
|
function _sponge_install --on-event sponge_install
|
||||||
|
set --global _sponge_current_command ''
|
||||||
|
set --global _sponge_current_command_exit_code 0
|
||||||
|
set --global _sponge_current_command_previously_in_history false
|
||||||
|
end
|
||||||
|
|
||||||
|
# Clean up variables
|
||||||
|
function _sponge_uninstall --on-event sponge_uninstall
|
||||||
|
_sponge_clear_state
|
||||||
|
set --erase sponge_version
|
||||||
|
end
|
||||||
@@ -5,3 +5,5 @@ halostatue/fish-macos@v7
|
|||||||
danhper/fish-ssh-agent
|
danhper/fish-ssh-agent
|
||||||
halostatue/fish-brew@v3
|
halostatue/fish-brew@v3
|
||||||
edc/bass
|
edc/bass
|
||||||
|
meaningful-ooo/sponge
|
||||||
|
nickeb96/puffer-fish
|
||||||
|
|||||||
9
config/fish/functions/_puffer_fish_expand_bang.fish
Normal file
9
config/fish/functions/_puffer_fish_expand_bang.fish
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
function _puffer_fish_expand_bang
|
||||||
|
switch (commandline -t)
|
||||||
|
case '!'
|
||||||
|
commandline -t $history[1]
|
||||||
|
case '*'
|
||||||
|
commandline -i '!'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
9
config/fish/functions/_puffer_fish_expand_dots.fish
Normal file
9
config/fish/functions/_puffer_fish_expand_dots.fish
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
function _puffer_fish_expand_dots -d 'expand ... to ../.. etc'
|
||||||
|
set -l cmd (commandline --cut-at-cursor)
|
||||||
|
set -l split (string split -- ' ' $cmd)
|
||||||
|
if string match --quiet --regex -- '^(\.\./)*\.\.$' $split[-1]
|
||||||
|
commandline --insert '/..'
|
||||||
|
else
|
||||||
|
commandline --insert '.'
|
||||||
|
end
|
||||||
|
end
|
||||||
9
config/fish/functions/_puffer_fish_expand_lastarg.fish
Normal file
9
config/fish/functions/_puffer_fish_expand_lastarg.fish
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
function _puffer_fish_expand_lastarg
|
||||||
|
switch (commandline -t)
|
||||||
|
case '!'
|
||||||
|
commandline -t ""
|
||||||
|
commandline -f history-token-search-backward
|
||||||
|
case '*'
|
||||||
|
commandline -i '$'
|
||||||
|
end
|
||||||
|
end
|
||||||
5
config/fish/functions/_sponge_clear_state.fish
Normal file
5
config/fish/functions/_sponge_clear_state.fish
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
function _sponge_clear_state
|
||||||
|
set --erase --global _sponge_current_command
|
||||||
|
set --erase --global _sponge_current_command_exit_code
|
||||||
|
set --erase --global _sponge_current_command_previously_in_history
|
||||||
|
end
|
||||||
3
config/fish/functions/_sponge_on_exit.fish
Normal file
3
config/fish/functions/_sponge_on_exit.fish
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
function _sponge_on_exit --on-event fish_exit
|
||||||
|
sponge_delay=0 _sponge_remove_from_history
|
||||||
|
end
|
||||||
24
config/fish/functions/_sponge_on_postexec.fish
Normal file
24
config/fish/functions/_sponge_on_postexec.fish
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
function _sponge_on_postexec --on-event fish_postexec
|
||||||
|
set --global _sponge_current_command_exit_code $status
|
||||||
|
|
||||||
|
# Remove command from the queue if it's been added previously
|
||||||
|
if set --local index (contains --index -- $_sponge_current_command $_sponge_queue)
|
||||||
|
set --erase _sponge_queue[$index]
|
||||||
|
end
|
||||||
|
|
||||||
|
# Ignore empty commands
|
||||||
|
if test -n $_sponge_current_command
|
||||||
|
set --local command ''
|
||||||
|
# Run filters
|
||||||
|
for filter in $sponge_filters
|
||||||
|
if $filter \
|
||||||
|
$_sponge_current_command \
|
||||||
|
$_sponge_current_command_exit_code \
|
||||||
|
$_sponge_current_command_previously_in_history
|
||||||
|
set command $_sponge_current_command
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
set --prepend --global _sponge_queue $command
|
||||||
|
end
|
||||||
|
end
|
||||||
16
config/fish/functions/_sponge_on_preexec.fish
Normal file
16
config/fish/functions/_sponge_on_preexec.fish
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
function _sponge_on_preexec --on-event fish_preexec \
|
||||||
|
--argument-names command
|
||||||
|
_sponge_clear_state
|
||||||
|
|
||||||
|
set --global _sponge_current_command $command
|
||||||
|
|
||||||
|
builtin history search --case-sensitive --exact --max=1 --null $command \
|
||||||
|
| read --local --null found_entries
|
||||||
|
|
||||||
|
# If a command is in the history and in the queue, ignore it, like if it wasn’t in the history
|
||||||
|
if test (count $found_entries) -ne 0; and not contains $command $_sponge_queue
|
||||||
|
set --global _sponge_current_command_previously_in_history true
|
||||||
|
else
|
||||||
|
set --global _sponge_current_command_previously_in_history false
|
||||||
|
end
|
||||||
|
end
|
||||||
5
config/fish/functions/_sponge_on_prompt.fish
Normal file
5
config/fish/functions/_sponge_on_prompt.fish
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
function _sponge_on_prompt --on-event fish_prompt
|
||||||
|
if test $sponge_purge_only_on_exit = false
|
||||||
|
_sponge_remove_from_history
|
||||||
|
end
|
||||||
|
end
|
||||||
9
config/fish/functions/_sponge_remove_from_history.fish
Normal file
9
config/fish/functions/_sponge_remove_from_history.fish
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
function _sponge_remove_from_history
|
||||||
|
|
||||||
|
while test (count $_sponge_queue) -gt $sponge_delay
|
||||||
|
builtin history delete --case-sensitive --exact -- $_sponge_queue[-1]
|
||||||
|
set --erase _sponge_queue[-1]
|
||||||
|
end
|
||||||
|
|
||||||
|
builtin history save
|
||||||
|
end
|
||||||
11
config/fish/functions/sponge_filter_failed.fish
Normal file
11
config/fish/functions/sponge_filter_failed.fish
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
function sponge_filter_failed \
|
||||||
|
--argument-names command exit_code previously_in_history
|
||||||
|
|
||||||
|
if test $previously_in_history = true -a $sponge_allow_previously_successful = true
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if contains $exit_code $sponge_successful_exit_codes
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
11
config/fish/functions/sponge_filter_matched.fish
Normal file
11
config/fish/functions/sponge_filter_matched.fish
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
function sponge_filter_matched \
|
||||||
|
--argument-names command
|
||||||
|
|
||||||
|
for pattern in $sponge_regex_patterns
|
||||||
|
if string match --regex --quiet $pattern -- $command
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return 1
|
||||||
|
end
|
||||||
@@ -6,10 +6,41 @@ source $HOME/.dotfiles/config/vim/vimrc
|
|||||||
let mapleader = "\<SPACE>"
|
let mapleader = "\<SPACE>"
|
||||||
|
|
||||||
set clipboard+=unnamed
|
set clipboard+=unnamed
|
||||||
|
set cursorline " Highlight current line
|
||||||
|
set nocompatible " disable compatibility mode with vi
|
||||||
|
filetype off " disable filetype detection (but re-enable later, see below)
|
||||||
|
set undolevels=1000 " Number of undo levels
|
||||||
|
set backspace=indent,eol,start " Backspace behaviour
|
||||||
|
|
||||||
|
" Show a few lines of context around the cursor. Note that this makes the
|
||||||
|
" text scroll if you mouse-click near the start or end of the window.
|
||||||
|
set scrolloff=5
|
||||||
|
|
||||||
|
" Do incremental searching.
|
||||||
|
set incsearch
|
||||||
|
|
||||||
|
" Don't use Ex mode, use Q for formatting.
|
||||||
|
map Q gq
|
||||||
|
|
||||||
|
call plug#begin('~/.config/vim/plugged')
|
||||||
|
" Plug 'ayu-theme/ayu-vim'
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
set ideajoin
|
set ideajoin
|
||||||
|
set ideastatusicon=gray
|
||||||
set ideamarks
|
set ideamarks
|
||||||
set idearefactormode=normal
|
set idearefactormode=normal
|
||||||
|
set which-key
|
||||||
|
set mini-ai
|
||||||
|
|
||||||
|
" which-key settings
|
||||||
|
" https://github.com/TheBlob42/idea-which-key
|
||||||
|
let g:WhichKey_ShowVimActions = "true"
|
||||||
|
let g:WhichKey_DefaultDelay = 600 " make the popup appear much slower
|
||||||
|
let g:WhichKey_PrefixStyle = "bold"
|
||||||
|
|
||||||
|
" disable the timeout option
|
||||||
|
set notimeout
|
||||||
|
|
||||||
" Map esc to :noh
|
" Map esc to :noh
|
||||||
map <esc> :noh<cr>
|
map <esc> :noh<cr>
|
||||||
@@ -31,7 +62,6 @@ nmap <leader>ss <Action>(GotoSymbol)
|
|||||||
nmap <leader>fl <Action>(RecentLocations)
|
nmap <leader>fl <Action>(RecentLocations)
|
||||||
nmap <leader>fc <Action>(FindInPath)
|
nmap <leader>fc <Action>(FindInPath)
|
||||||
nmap <leader>fr <Action>(RecentFiles)
|
nmap <leader>fr <Action>(RecentFiles)
|
||||||
nmap <leader>fe :NERDTreeToggle<CR>
|
|
||||||
nmap <Leader>fu :action FindUsages<CR>
|
nmap <Leader>fu :action FindUsages<CR>
|
||||||
nmap <Leader>ff :action GotoFile<CR>
|
nmap <Leader>ff :action GotoFile<CR>
|
||||||
nmap <leader>fi <Action>(SelectIn)
|
nmap <leader>fi <Action>(SelectIn)
|
||||||
@@ -168,27 +198,32 @@ nnoremap 'x `X
|
|||||||
nnoremap 'y `Y
|
nnoremap 'y `Y
|
||||||
nnoremap 'z `Z
|
nnoremap 'z `Z
|
||||||
|
|
||||||
|
" Harpoon
|
||||||
|
nmap <leader><C-1> :action SetHarpoon1<cr>
|
||||||
|
nmap <leader><C-2> :action SetHarpoon2<cr>
|
||||||
|
nmap <leader><C-3> :action SetHarpoon3<cr>
|
||||||
|
nmap <leader><C-4> :action SetHarpoon4<cr>
|
||||||
|
nmap <leader><C-5> :action SetHarpoon5<cr>
|
||||||
|
nmap <leader><C-6> :action SetHarpoon6<cr>
|
||||||
|
nmap <C-1> :action GotoHarpoon1<cr>
|
||||||
|
nmap <C-2> :action GotoHarpoon2<cr>
|
||||||
|
nmap <C-3> :action GotoHarpoon3<cr>
|
||||||
|
nmap <C-4> :action GotoHarpoon4<cr>
|
||||||
|
nmap <C-5> :action GotoHarpoon5<cr>
|
||||||
|
nmap <C-6> :action GotoHarpoon6<cr>
|
||||||
|
nmap <C-e> :action ShowHarpoon<cr>
|
||||||
|
nmap <C-a> :action AddToHarpoon<cr>
|
||||||
|
|
||||||
" ---
|
" ---
|
||||||
|
|
||||||
set cursorline " Highlight current line
|
|
||||||
set nocompatible " disable compatibility mode with vi
|
|
||||||
filetype off " disable filetype detection (but re-enable later, see below)
|
|
||||||
set undolevels=1000 " Number of undo levels
|
|
||||||
set backspace=indent,eol,start " Backspace behaviour
|
|
||||||
|
|
||||||
" Don't use Ex mode, use Q for formatting.
|
|
||||||
map Q gq
|
|
||||||
|
|
||||||
syntax enable
|
syntax enable
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
|
|
||||||
" call plug#begin('~/.config/vim/plugged')
|
|
||||||
" Plug 'ayu-theme/ayu-vim'
|
|
||||||
" call plug#end()
|
|
||||||
|
|
||||||
set termguicolors
|
set termguicolors
|
||||||
|
|
||||||
if has('gui_running')
|
if has('gui_running')
|
||||||
set macligatures
|
set macligatures
|
||||||
set guifont=JetBrainsMono:h14
|
set guifont=JetBrainsMono:h14
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" vim: set filetype=vim :
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
-- ── Install lazylazy ────────────────────────────────────────────────
|
-- ── Install lazylazy ────────────────────────────────────────────────
|
||||||
-- https://github.com/folke/lazy.nvim
|
-- https://github.com/folke/lazy.nvim
|
||||||
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
|
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
|
||||||
if not vim.uv.fs_stat(lazypath) then
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
|
local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
|
||||||
local out = vim.fn.system {
|
local out = vim.fn.system {
|
||||||
'git',
|
'git',
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ local a = vim.api -- A table to store API functions
|
|||||||
g.mapleader = ' ' -- Space as the leader key
|
g.mapleader = ' ' -- Space as the leader key
|
||||||
g.maplocalleader = ' ' -- Space as the local leader key
|
g.maplocalleader = ' ' -- Space as the local leader key
|
||||||
|
|
||||||
g.colors_theme = 'pencil' -- Set the colorscheme
|
g.colors_theme = 'onedark' -- Set the colorscheme
|
||||||
-- g.colors_variant_light = 'tokyonight-day' -- Set the light variant
|
-- g.colors_variant_light = 'tokyonight-day' -- Set the light variant
|
||||||
-- g.colors_variant_dark = 'tokyonight-storm' -- Set the dark variant
|
-- g.colors_variant_dark = 'tokyonight-storm' -- Set the dark variant
|
||||||
|
|
||||||
|
|||||||
@@ -38,41 +38,46 @@ return {
|
|||||||
|
|
||||||
-- Rename the variable under your cursor.
|
-- Rename the variable under your cursor.
|
||||||
-- Most Language Servers support renaming across files, etc.
|
-- Most Language Servers support renaming across files, etc.
|
||||||
map('grn', vim.lsp.buf.rename, '[R]e[n]ame')
|
map('<leader>grn', vim.lsp.buf.rename, '[R]e[n]ame')
|
||||||
|
|
||||||
-- Execute a code action, usually your cursor needs to be on top of an error
|
-- Execute a code action, usually your cursor needs to be on top of an error
|
||||||
-- or a suggestion from your LSP for this to activate.
|
-- or a suggestion from your LSP for this to activate.
|
||||||
map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' })
|
map(
|
||||||
|
'<leader>gra',
|
||||||
|
vim.lsp.buf.code_action,
|
||||||
|
'[G]oto Code [A]ction',
|
||||||
|
{ 'n', 'x' }
|
||||||
|
)
|
||||||
|
|
||||||
-- Find references for the word under your cursor.
|
-- Find references for the word under your cursor.
|
||||||
map('grr', tsb.lsp_references, '[G]oto [R]eferences')
|
map('<leader>grr', tsb.lsp_references, '[G]oto [R]eferences')
|
||||||
|
|
||||||
-- Jump to the implementation of the word under your cursor.
|
-- Jump to the implementation of the word under your cursor.
|
||||||
-- Useful when your language has ways of declaring types without
|
-- Useful when your language has ways of declaring types without
|
||||||
-- an actual implementation.
|
-- an actual implementation.
|
||||||
map('gri', tsb.lsp_implementations, '[G]oto [I]mplementation')
|
map('<leader>gri', tsb.lsp_implementations, '[G]oto [I]mplementation')
|
||||||
|
|
||||||
-- Jump to the definition of the word under your cursor.
|
-- Jump to the definition of the word under your cursor.
|
||||||
-- This is where a variable was first declared, or where a function is
|
-- This is where a variable was first declared, or where a function is
|
||||||
-- defined, etc. To jump back, press <C-t>.
|
-- defined, etc. To jump back, press <C-t>.
|
||||||
map('grd', tsb.lsp_definitions, '[G]oto [D]efinition')
|
map('<leader>grd', tsb.lsp_definitions, '[G]oto [D]efinition')
|
||||||
|
|
||||||
-- WARN: This is not Goto Definition, this is Goto Declaration.
|
-- WARN: This is not Goto Definition, this is Goto Declaration.
|
||||||
-- For example, in C this would take you to the header.
|
-- For example, in C this would take you to the header.
|
||||||
map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
|
map('<leader>grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
|
||||||
|
|
||||||
-- Fuzzy find all the symbols in your current document.
|
-- Fuzzy find all the symbols in your current document.
|
||||||
-- Symbols are things like variables, functions, types, etc.
|
-- Symbols are things like variables, functions, types, etc.
|
||||||
map('gO', tsb.lsp_document_symbols, 'Open Document Symbols')
|
map('<leader>gO', tsb.lsp_document_symbols, 'Open Document Symbols')
|
||||||
|
|
||||||
-- Fuzzy find all the symbols in your current workspace.
|
-- Fuzzy find all the symbols in your current workspace.
|
||||||
-- Similar to document symbols, except searches over your entire project.
|
-- Similar to document symbols, except searches over your entire project.
|
||||||
map('gW', tsb.lsp_dynamic_workspace_symbols, 'Open Workspace Symbols')
|
map('<leader>gW', tsb.lsp_dynamic_workspace_symbols, 'Open Workspace Symbols')
|
||||||
|
|
||||||
-- Jump to the type of the word under your cursor.
|
-- Jump to the type of the word under your cursor.
|
||||||
-- Useful when you're not sure what type a variable is and you want to see
|
-- Useful when you're not sure what type a variable is and you want to see
|
||||||
-- the definition of its *type*, not where it was *defined*.
|
-- the definition of its *type*, not where it was *defined*.
|
||||||
map('grt', tsb.lsp_type_definitions, '[G]oto [T]ype Definition')
|
map('<leader>grt', tsb.lsp_type_definitions, '[G]oto [T]ype Definition')
|
||||||
|
|
||||||
-- This function resolves a difference between neovim nightly
|
-- This function resolves a difference between neovim nightly
|
||||||
-- (version 0.11) and stable (version 0.10)
|
-- (version 0.11) and stable (version 0.10)
|
||||||
@@ -227,17 +232,6 @@ return {
|
|||||||
tailwindcss = {},
|
tailwindcss = {},
|
||||||
terraformls = {},
|
terraformls = {},
|
||||||
ts_ls = {},
|
ts_ls = {},
|
||||||
volar = {
|
|
||||||
settings = {
|
|
||||||
typescript = {
|
|
||||||
inlayHints = {
|
|
||||||
enumMemberValues = { enabled = true },
|
|
||||||
functionLikeReturnTypes = { enabled = true },
|
|
||||||
propertyDeclarationTypes = { enabled = true },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
vimls = {},
|
vimls = {},
|
||||||
eslint = {},
|
eslint = {},
|
||||||
yamlls = {
|
yamlls = {
|
||||||
@@ -270,6 +264,7 @@ return {
|
|||||||
|
|
||||||
require('mason-lspconfig').setup {
|
require('mason-lspconfig').setup {
|
||||||
ensure_installed = {}, -- explicitly set to an empty table
|
ensure_installed = {}, -- explicitly set to an empty table
|
||||||
|
automatic_enable = true,
|
||||||
automatic_installation = false,
|
automatic_installation = false,
|
||||||
handlers = {
|
handlers = {
|
||||||
function(server_name)
|
function(server_name)
|
||||||
|
|||||||
@@ -61,4 +61,13 @@ return {
|
|||||||
-- Neovim plugin for locking a buffer to a window
|
-- Neovim plugin for locking a buffer to a window
|
||||||
-- https://github.com/stevearc/stickybuf.nvim
|
-- https://github.com/stevearc/stickybuf.nvim
|
||||||
{ 'stevearc/stickybuf.nvim', opts = {} },
|
{ 'stevearc/stickybuf.nvim', opts = {} },
|
||||||
|
|
||||||
|
-- Break bad habits, master Vim motions
|
||||||
|
-- https://github.com/m4xshen/hardtime.nvim
|
||||||
|
{
|
||||||
|
'm4xshen/hardtime.nvim',
|
||||||
|
lazy = false,
|
||||||
|
dependencies = { 'MunifTanjim/nui.nvim' },
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,9 +112,7 @@
|
|||||||
{
|
{
|
||||||
"background": "transparent",
|
"background": "transparent",
|
||||||
"foreground": "lightGreen",
|
"foreground": "lightGreen",
|
||||||
"foreground_templates": [
|
"foreground_templates": ["{{ if gt .Code 0 }}red{{ end }}"],
|
||||||
"{{ if gt .Code 0 }}red{{ end }}"
|
|
||||||
],
|
|
||||||
"properties": {
|
"properties": {
|
||||||
"always_enabled": true
|
"always_enabled": true
|
||||||
},
|
},
|
||||||
@@ -129,9 +127,7 @@
|
|||||||
"transient_prompt": {
|
"transient_prompt": {
|
||||||
"background": "transparent",
|
"background": "transparent",
|
||||||
"foreground": "lightGreen",
|
"foreground": "lightGreen",
|
||||||
"foreground_templates": [
|
"foreground_templates": ["{{ if gt .Code 0 }}red{{ end }}"],
|
||||||
"{{ if gt .Code 0 }}red{{ end }}"
|
|
||||||
],
|
|
||||||
"template": "\u279c "
|
"template": "\u279c "
|
||||||
},
|
},
|
||||||
"version": 2
|
"version": 2
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
{
|
{
|
||||||
"account_id": "S5Z2DMNFKJEZBPCWRHRWC4DCGI",
|
"account_id": "S5Z2DMNFKJEZBPCWRHRWC4DCGI",
|
||||||
"entrypoint": [
|
"entrypoint": ["gh"],
|
||||||
"gh"
|
"credentials": [
|
||||||
],
|
{
|
||||||
"credentials": [
|
"plugin": "github",
|
||||||
{
|
"credential_type": "personal_access_token",
|
||||||
"plugin": "github",
|
"usage_id": "personal_access_token",
|
||||||
"credential_type": "personal_access_token",
|
"vault_id": "injcin7obv3jdet3r2u3kfihfy",
|
||||||
"usage_id": "personal_access_token",
|
"item_id": "f6vinbnc6l7ngdzvlw66ayewlq"
|
||||||
"vault_id": "injcin7obv3jdet3r2u3kfihfy",
|
}
|
||||||
"item_id": "f6vinbnc6l7ngdzvlw66ayewlq"
|
]
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
@@ -1 +1,7 @@
|
|||||||
[{"account_id":"S5Z2DMNFKJEZBPCWRHRWC4DCGI","vault_id":"injcin7obv3jdet3r2u3kfihfy","item_id":"f6vinbnc6l7ngdzvlw66ayewlq"}]
|
[
|
||||||
|
{
|
||||||
|
"account_id": "S5Z2DMNFKJEZBPCWRHRWC4DCGI",
|
||||||
|
"vault_id": "injcin7obv3jdet3r2u3kfihfy",
|
||||||
|
"item_id": "f6vinbnc6l7ngdzvlw66ayewlq"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|||||||
@@ -160,11 +160,11 @@ run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-sensible/sensible.tmux"
|
|||||||
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-window-name/tmux_window_name.tmux"
|
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-window-name/tmux_window_name.tmux"
|
||||||
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-mode-indicator/mode_indicator.tmux"
|
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-mode-indicator/mode_indicator.tmux"
|
||||||
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-suspend/suspend.tmux"
|
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-suspend/suspend.tmux"
|
||||||
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-continuum/continuum.tmux"
|
|
||||||
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-resurrect/resurrect.tmux"
|
|
||||||
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-sessionist/sessionist.tmux"
|
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-sessionist/sessionist.tmux"
|
||||||
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-yank/yank.tmux"
|
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-yank/yank.tmux"
|
||||||
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-current-pane-hostname/current_pane_hostname.tmux"
|
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-current-pane-hostname/current_pane_hostname.tmux"
|
||||||
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-fzf-url/fzf-url.tmux"
|
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-fzf-url/fzf-url.tmux"
|
||||||
|
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-resurrect/resurrect.tmux"
|
||||||
|
run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-continuum/continuum.tmux"
|
||||||
|
|
||||||
# run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-dark-notify/main.tmux"
|
# run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-dark-notify/main.tmux"
|
||||||
|
|||||||
@@ -22,16 +22,19 @@ yabai -m config \
|
|||||||
# apps to not manage (ignore)
|
# apps to not manage (ignore)
|
||||||
# TODO: add apps from aerospace config to here
|
# TODO: add apps from aerospace config to here
|
||||||
# list active apps:
|
# list active apps:
|
||||||
# > yabai -m query --windows | jq .[].app
|
# > yabai -m query --windows | jq .[].app | sort | uniq
|
||||||
yabai -m rule --add app="1Password" manage=off
|
yabai -m rule --add app="1Password" manage=off
|
||||||
yabai -m rule --add app="Fork" manage=off
|
yabai -m rule --add app="Fork" manage=off
|
||||||
|
yabai -m rule --add app="JetBrains Rider" manage=off
|
||||||
|
yabai -m rule --add app="Logi Options" manage=off
|
||||||
|
yabai -m rule --add app="MSTeams" manage=off
|
||||||
|
yabai -m rule --add app="Microsoft Teams" manage=off
|
||||||
|
yabai -m rule --add app="PhpStorm" manage=off
|
||||||
|
yabai -m rule --add app="Slack" manage=off
|
||||||
yabai -m rule --add app="System Settings" manage=off
|
yabai -m rule --add app="System Settings" manage=off
|
||||||
yabai -m rule --add app="^Logi Options$" manage=off
|
yabai -m rule --add app="TIDAL" manage=off
|
||||||
yabai -m rule --add app="^Microsoft Teams$" manage=off
|
yabai -m rule --add app="Windows App" manage=off
|
||||||
yabai -m rule --add app="^PhpStorm$" manage=off
|
yabai -m rule --add app="Zoom" manage=off
|
||||||
yabai -m rule --add app="^Slack$" manage=off
|
|
||||||
yabai -m rule --add app="^TIDAL$" manage=off
|
|
||||||
yabai -m rule --add app="^Windows App$" manage=off
|
|
||||||
|
|
||||||
# apply rules
|
# apply rules
|
||||||
yabai -m rule --apply
|
yabai -m rule --apply
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
{
|
{
|
||||||
|
"context_servers": {
|
||||||
|
"github-activity-summarizer": {
|
||||||
|
"settings": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
"telemetry": {
|
"telemetry": {
|
||||||
"metrics": false
|
"metrics": false
|
||||||
},
|
},
|
||||||
"assistant": {
|
"agent": {
|
||||||
"always_allow_tool_actions": false,
|
"always_allow_tool_actions": false,
|
||||||
"default_model": {
|
"default_model": {
|
||||||
"provider": "copilot_chat",
|
"provider": "copilot_chat",
|
||||||
|
|||||||
@@ -2,64 +2,64 @@
|
|||||||
|
|
||||||
## main
|
## main
|
||||||
|
|
||||||
| Key | Command(s) and actions |
|
| Key | Command(s) and actions |
|
||||||
|-----------------|-----------------------------------------------|
|
| -------------- | -------------------------------------------- |
|
||||||
| alt-a | mode apps |
|
| alt-a | mode apps |
|
||||||
| alt-h | focus left |
|
| alt-h | focus left |
|
||||||
| alt-j | focus down |
|
| alt-j | focus down |
|
||||||
| alt-k | focus up |
|
| alt-k | focus up |
|
||||||
| alt-l | focus right |
|
| alt-l | focus right |
|
||||||
| alt-m | mode move |
|
| alt-m | mode move |
|
||||||
| alt-s | mode service |
|
| alt-s | mode service |
|
||||||
| alt-shift-1 | workspace 1 |
|
| alt-shift-1 | workspace 1 |
|
||||||
| alt-shift-2 | workspace 2 |
|
| alt-shift-2 | workspace 2 |
|
||||||
| alt-shift-tab | workspace-back-and-forth |
|
| alt-shift-tab | workspace-back-and-forth |
|
||||||
| ctrl-shift-1 | move-node-to-workspace 1 |
|
| ctrl-shift-1 | move-node-to-workspace 1 |
|
||||||
| ctrl-shift-2 | move-node-to-workspace 2 |
|
| ctrl-shift-2 | move-node-to-workspace 2 |
|
||||||
| ctrl-shift-tab | move-workspace-to-monitor --wrap-around prev |
|
| ctrl-shift-tab | move-workspace-to-monitor --wrap-around prev |
|
||||||
|
|
||||||
## apps
|
## apps
|
||||||
|
|
||||||
| Key | Command(s) and actions |
|
| Key | Command(s) and actions |
|
||||||
|------|----------------------------------------------------------------------|
|
| --- | ------------------------------------------------------------------ |
|
||||||
| b | exec-and-forget open -a /Applications/Brave Browser.app; mode main |
|
| b | exec-and-forget open -a /Applications/Brave Browser.app; mode main |
|
||||||
| c | exec-and-forget open -a /Applications/Ferdium.app; mode main |
|
| c | exec-and-forget open -a /Applications/Ferdium.app; mode main |
|
||||||
| esc | reload-config; mode main |
|
| esc | reload-config; mode main |
|
||||||
| g | exec-and-forget open -a /Applications/Ghostty.app; mode main |
|
| g | exec-and-forget open -a /Applications/Ghostty.app; mode main |
|
||||||
| o | exec-and-forget open -a /Applications/Obsidian.app; mode main |
|
| o | exec-and-forget open -a /Applications/Obsidian.app; mode main |
|
||||||
| s | exec-and-forget open -a /Applications/Slack.app; mode main |
|
| s | exec-and-forget open -a /Applications/Slack.app; mode main |
|
||||||
| t | exec-and-forget open -a /Applications/TIDAL.app; mode main |
|
| t | exec-and-forget open -a /Applications/TIDAL.app; mode main |
|
||||||
| w | exec-and-forget open -a /Applications/WezTerm.app; mode main |
|
| w | exec-and-forget open -a /Applications/WezTerm.app; mode main |
|
||||||
|
|
||||||
## move
|
## move
|
||||||
|
|
||||||
| Key | Command(s) and actions |
|
| Key | Command(s) and actions |
|
||||||
|--------------|--------------------------------------------------|
|
| ----------- | ----------------------------------------------- |
|
||||||
| 1 | move-node-to-workspace 1 --focus-follows-window |
|
| 1 | move-node-to-workspace 1 --focus-follows-window |
|
||||||
| 2 | move-node-to-workspace 2 --focus-follows-window |
|
| 2 | move-node-to-workspace 2 --focus-follows-window |
|
||||||
| ctrl-h | resize smart -70 |
|
| ctrl-h | resize smart -70 |
|
||||||
| ctrl-l | resize smart +70 |
|
| ctrl-l | resize smart +70 |
|
||||||
| esc | reload-config; mode main |
|
| esc | reload-config; mode main |
|
||||||
| h | move left |
|
| h | move left |
|
||||||
| j | move down |
|
| j | move down |
|
||||||
| k | move up |
|
| k | move up |
|
||||||
| l | move right |
|
| l | move right |
|
||||||
| r | flatten-workspace-tree; mode main |
|
| r | flatten-workspace-tree; mode main |
|
||||||
| shift-h | join-with left |
|
| shift-h | join-with left |
|
||||||
| shift-j | join-with down |
|
| shift-j | join-with down |
|
||||||
| shift-k | join-with up |
|
| shift-k | join-with up |
|
||||||
| shift-l | join-with right |
|
| shift-l | join-with right |
|
||||||
| shift-left | resize smart +70 |
|
| shift-left | resize smart +70 |
|
||||||
| shift-right | resize smart -70 |
|
| shift-right | resize smart -70 |
|
||||||
|
|
||||||
## service
|
## service
|
||||||
|
|
||||||
| Key | Command(s) and actions |
|
| Key | Command(s) and actions |
|
||||||
|------------|-------------------------------------------|
|
| --------- | ---------------------------------------- |
|
||||||
| backspace | close-all-windows-but-current; mode main |
|
| backspace | close-all-windows-but-current; mode main |
|
||||||
| esc | reload-config; mode main |
|
| esc | reload-config; mode main |
|
||||||
| f | layout floating tiling; mode main |
|
| f | layout floating tiling; mode main |
|
||||||
| r | flatten-workspace-tree; mode main |
|
| r | flatten-workspace-tree; mode main |
|
||||||
|
|
||||||
File generated: 2025-01-15 13:32:41
|
File generated: 2025-01-15 13:32:41
|
||||||
|
|
||||||
|
|||||||
@@ -2,51 +2,51 @@
|
|||||||
|
|
||||||
This file lists all aliases defined in `config/alias`.
|
This file lists all aliases defined in `config/alias`.
|
||||||
|
|
||||||
| Alias | Command |
|
| Alias | Command |
|
||||||
| ------------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
| ------------- | ------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
|
||||||
| `....` | `cd ../../..` |
|
| `....` | `cd ../../..` |
|
||||||
| `...` | `cd ../..` |
|
| `...` | `cd ../..` |
|
||||||
| `..` | `cd ..` |
|
| `..` | `cd ..` |
|
||||||
| `.` | `cd $HOME` |
|
| `.` | `cd $HOME` |
|
||||||
| `.b` | `cd $XDG_BIN_HOME` |
|
| `.b` | `cd $XDG_BIN_HOME` |
|
||||||
| `.c` | `cd $HOME/Code` |
|
| `.c` | `cd $HOME/Code` |
|
||||||
| `.d` | `cd $DOTFILES` |
|
| `.d` | `cd $DOTFILES` |
|
||||||
| `.l` | `cd $HOME/.local` |
|
| `.l` | `cd $HOME/.local` |
|
||||||
| `.o` | `cd $HOME/Code/ivuorinen/obsidian/` |
|
| `.o` | `cd $HOME/Code/ivuorinen/obsidian/` |
|
||||||
| `art` | `[ -f artisan ] && php artisan \|\| php vendor/bin/artisan` |
|
| `art` | `[ -f artisan ] && php artisan \|\| php vendor/bin/artisan` |
|
||||||
| `cd..` | `cd ..` |
|
| `cd..` | `cd ..` |
|
||||||
| `cdgr` | `cd "$(get_git_root)"` |
|
| `cdgr` | `cd "$(get_git_root)"` |
|
||||||
| `dn` | `du -chd1` |
|
| `dn` | `du -chd1` |
|
||||||
| `flush` | `dscacheutil -flushcache` |
|
| `flush` | `dscacheutil -flushcache` |
|
||||||
| `grep` | `grep --color` |
|
| `grep` | `grep --color` |
|
||||||
| `hide` | `defaults write com.apple.finder AppleShowAllFiles -bool false; killall Finder` |
|
| `hide` | `defaults write com.apple.finder AppleShowAllFiles -bool false; killall Finder` |
|
||||||
| `ips` | `ifconfig -a \| grep -o 'inet6\? \(\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\)\\|[a-fA-F0-9:]\+\)' \| sed -e 's/inet6* //' \| sort` |
|
| `ips` | `ifconfig -a \| grep -o 'inet6\? \(\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\)\\ | [a-fA-F0-9:]\+\)' \| sed -e 's/inet6\* //' \| sort` |
|
||||||
| `irssi` | `irssi --config=$XDG_CONFIG_HOME/irssi/config --home=$XDG_CONFIG_HOME/irssi` |
|
| `irssi` | `irssi --config=$XDG_CONFIG_HOME/irssi/config --home=$XDG_CONFIG_HOME/irssi` |
|
||||||
| `isodate` | `date +'%Y-%m-%d'` |
|
| `isodate` | `date +'%Y-%m-%d'` |
|
||||||
| `l` | `ls -a` |
|
| `l` | `ls -a` |
|
||||||
| `ll` | `ls -la` |
|
| `ll` | `ls -la` |
|
||||||
| `localip` | `ipconfig getifaddr en1` |
|
| `localip` | `ipconfig getifaddr en1` |
|
||||||
| `mirror_site` | `wget -m -k -K -E -e robots=off` |
|
| `mirror_site` | `wget -m -k -K -E -e robots=off` |
|
||||||
| `peek` | `tee >(cat 1>&2)` |
|
| `peek` | `tee >(cat 1>&2)` |
|
||||||
| `pubkey` | `more ~/.ssh/id_rsa.pub \| pbcopy \| echo '=> Public key copied to pasteboard.'` |
|
| `pubkey` | `more ~/.ssh/id_rsa.pub \| pbcopy \| echo '=> Public key copied to pasteboard.'` |
|
||||||
| `sail` | `[ -f sail ] && bash sail \|\| bash vendor/bin/sail` |
|
| `sail` | `[ -f sail ] && bash sail \|\| bash vendor/bin/sail` |
|
||||||
| `show` | `defaults write com.apple.finder AppleShowAllFiles -bool true; killall Finder` |
|
| `show` | `defaults write com.apple.finder AppleShowAllFiles -bool true; killall Finder` |
|
||||||
| `sl` | `ls` |
|
| `sl` | `ls` |
|
||||||
| `svn` | `svn --config-dir $XDG_CONFIG_HOME/subversion` |
|
| `svn` | `svn --config-dir $XDG_CONFIG_HOME/subversion` |
|
||||||
| `trivy_scan` | `docker run -v /var/run/docker.sock:/var/run/docker.sock -v $HOME/Library/Caches:/root/.cache/ aquasec/trivy` |
|
| `trivy_scan` | `docker run -v /var/run/docker.sock:/var/run/docker.sock -v $HOME/Library/Caches:/root/.cache/ aquasec/trivy` |
|
||||||
| `updatedb` | `sudo /usr/libexec/locate.updatedb` |
|
| `updatedb` | `sudo /usr/libexec/locate.updatedb` |
|
||||||
| `vi` | `nvim` |
|
| `vi` | `nvim` |
|
||||||
| `vim` | `nvim` |
|
| `vim` | `nvim` |
|
||||||
| `watchx` | `watch -dpbc` |
|
| `watchx` | `watch -dpbc` |
|
||||||
| `wget` | `wget --hsts-file=$XDG_DATA_HOME/wget-hsts` |
|
| `wget` | `wget --hsts-file=$XDG_DATA_HOME/wget-hsts` |
|
||||||
| `x-datetime` | `date +'%Y-%m-%d %H:%M:%S'` |
|
| `x-datetime` | `date +'%Y-%m-%d %H:%M:%S'` |
|
||||||
| `x-ip` | `dig +short myip.opendns.com @resolver1.opendns.com` |
|
| `x-ip` | `dig +short myip.opendns.com @resolver1.opendns.com` |
|
||||||
| `x-timestamp` | `date +'%s'` |
|
| `x-timestamp` | `date +'%s'` |
|
||||||
| `xdg` | `xdg-ninja --skip-ok --skip-unsupported` |
|
| `xdg` | `xdg-ninja --skip-ok --skip-unsupported` |
|
||||||
| `zapall` | `zapds && zappyc` |
|
| `zapall` | `zapds && zappyc` |
|
||||||
| `zapds` | `find . -name ".DS_Store" -print -delete` |
|
| `zapds` | `find . -name ".DS_Store" -print -delete` |
|
||||||
| `zappyc` | `find . -type f -name '*.pyc' -ls -delete` |
|
| `zappyc` | `find . -type f -name '*.pyc' -ls -delete` |
|
||||||
| `zedit` | `$EDITOR ~/.dotfiles` |
|
| `zedit` | `$EDITOR ~/.dotfiles` |
|
||||||
|
|
||||||
Total aliases: 43
|
Total aliases: 43
|
||||||
Last updated: Fri 17 Jan 2025 13:06:59 EET
|
Last updated: Fri 17 Jan 2025 13:06:59 EET
|
||||||
|
|||||||
@@ -87,4 +87,3 @@ Leader: `<ctrl><space>`
|
|||||||
S-Left Move the visible part of the window left
|
S-Left Move the visible part of the window left
|
||||||
S-Right Move the visible part of the window right
|
S-Right Move the visible part of the window right
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -277,4 +277,4 @@ Mouse: alt_screen
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
- Generated on Thu 2 Jan 2025 17:41:13 EET
|
- Generated on Thu 2 Jan 2025 17:41:13 EET
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ Some problematic code has been fixed per `shellcheck` suggestions.
|
|||||||
## Sourced
|
## Sourced
|
||||||
|
|
||||||
| Script | Source |
|
| Script | Source |
|
||||||
|-------------------------|-------------------|
|
| ----------------------- | ----------------- |
|
||||||
| `x-dupes` | skx/sysadmin-util |
|
| `x-dupes` | skx/sysadmin-util |
|
||||||
| `x-foreach` | mvdan/dotfiles |
|
| `x-foreach` | mvdan/dotfiles |
|
||||||
| `x-multi-ping` | skx/sysadmin-util |
|
| `x-multi-ping` | skx/sysadmin-util |
|
||||||
|
|||||||
@@ -46,9 +46,25 @@ def test():
|
|||||||
assert vercmp("2.4 >= 2.4")
|
assert vercmp("2.4 >= 2.4")
|
||||||
assert vercmp("2.5 >= 2.4")
|
assert vercmp("2.5 >= 2.4")
|
||||||
assert vercmp("3 >= 2.999")
|
assert vercmp("3 >= 2.999")
|
||||||
assert vercmp("2.9 < 2.9a")
|
assert vercmp("2.9a < 2.9")
|
||||||
assert vercmp("2.9a >= 2.8")
|
assert vercmp("2.9a >= 2.8")
|
||||||
|
|
||||||
|
# multiple comparisons in a single expression
|
||||||
|
assert vercmp("1.0 < 2.0 <= 2.0")
|
||||||
|
assert not vercmp("1.0 > 2.0 < 3.0")
|
||||||
|
|
||||||
|
# mixed major/minor version comparisons
|
||||||
|
assert vercmp("2 >= 1.5")
|
||||||
|
assert not vercmp("1 < 1.0")
|
||||||
|
|
||||||
|
# invalid operator should raise an error
|
||||||
|
try:
|
||||||
|
vercmp("1.0 <> 2.0")
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
assert False, "invalid operator did not raise"
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if len(sys.argv) == 2 and sys.argv[1] == "test":
|
if len(sys.argv) == 2 and sys.argv[1] == "test":
|
||||||
|
|||||||
@@ -28,7 +28,8 @@
|
|||||||
"homepage": "https://github.com/ivuorinen/dotfiles#readme",
|
"homepage": "https://github.com/ivuorinen/dotfiles#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ivuorinen/base-configs": "^2.0.0",
|
"@ivuorinen/base-configs": "^2.0.0",
|
||||||
"bundle-audit": "^0.1.0"
|
"@types/node": "^24.0.1",
|
||||||
|
"typescript": "^5.8.3"
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@1.22.22"
|
"packageManager": "yarn@1.22.22"
|
||||||
}
|
}
|
||||||
|
|||||||
18
scripts/install-cheat-purebashbible.sh
Executable file → Normal file
18
scripts/install-cheat-purebashbible.sh
Executable file → Normal file
@@ -47,6 +47,22 @@ prepare_cheat_dest()
|
|||||||
echo "$cheat_dest"
|
echo "$cheat_dest"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Processes chapter files from the pure-bash-bible repository and generates or updates corresponding cheat sheets.
|
||||||
|
#
|
||||||
|
# For each chapter file, creates or updates a cheat sheet in the appropriate destination directory, removes chapter end markers, and ensures required metadata is present.
|
||||||
|
#
|
||||||
|
# Globals:
|
||||||
|
# * PBB_TEMP_DIR: Directory containing the cloned pure-bash-bible repository.
|
||||||
|
# * PBB_SYNTAX, PBB_TAGS, PBB_SOURCE: Metadata strings for cheat sheets.
|
||||||
|
#
|
||||||
|
# Outputs:
|
||||||
|
# * Writes or updates cheat sheet files in the determined cheat sheet directory.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
#
|
||||||
|
# ```bash
|
||||||
|
# process_chapters
|
||||||
|
# ```
|
||||||
process_chapters()
|
process_chapters()
|
||||||
{
|
{
|
||||||
local cheat_dest
|
local cheat_dest
|
||||||
@@ -59,7 +75,7 @@ process_chapters()
|
|||||||
header=$(grep -e '^[#] ' "$f" | head -1 | awk '{print tolower($2)}')
|
header=$(grep -e '^[#] ' "$f" | head -1 | awk '{print tolower($2)}')
|
||||||
cheat_file="$cheat_dest/$header"
|
cheat_file="$cheat_dest/$header"
|
||||||
|
|
||||||
if ! replacable "$f" "$cheat_file"; then
|
if ! replaceable "$f" "$cheat_file"; then
|
||||||
cp "$f" "$cheat_file" && msg_run "Updated: $cheat_file"
|
cp "$f" "$cheat_file" && msg_run "Updated: $cheat_file"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user