Compare commits

...

9 Commits

16 changed files with 131 additions and 125 deletions

View File

@@ -34,4 +34,3 @@ 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/vim-tmux-navigator \
-f https://github.com/christoomey/vim-tmux-navigator.git config/tmux/plugins/vim-tmux-navigator

View File

@@ -7,12 +7,13 @@ export DOTFILES="$HOME/.dotfiles"
# Run x-load-configs in your terminal to reload the files.
function x-load-configs()
{
HOST="$(hostname -s)"
# Load the shell dotfiles, and then some:
for file in $DOTFILES/config/{exports,alias,functions}; do
[ -r "$file" ] && source "$file"
[ -r "$file-secret" ] && source "$file-secret"
[ -r "$file-$HOSTNAME" ] && source "$file-$HOSTNAME"
[ -r "$file-$HOSTNAME-secret" ] && source "$file-$HOSTNAME-secret"
[ -r "$file-$HOST" ] && source "$file-$HOST"
[ -r "$file-$HOST-secret" ] && source "$file-$HOST-secret"
done
}
x-load-configs

4
config/alias-tunkki Executable file
View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Setting aliases for tunkki
alias nvim="/snap/nvim/current/usr/bin/nvim"

View File

@@ -24,6 +24,8 @@ have ansible && {
export ANDROID_HOME="$XDG_DATA_HOME/android"
export HOMEBREW_NO_ENV_HINTS=true
# composer, https://getcomposer.org/
export COMPOSER_HOME="$XDG_STATE_HOME/composer"
export COMPOSER_BIN="$COMPOSER_HOME/vendor/bin"

View File

@@ -18,6 +18,8 @@ tap "xwmx/taps"
brew "act"
# Mozilla CA certificate store
brew "ca-certificates"
# Cryptography and SSL/TLS Toolkit
brew "openssl@3"
# Interpreted, interactive, object-oriented programming language
brew "python@3.11"
# YAML Parser
@@ -100,8 +102,6 @@ brew "dnsmasq"
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"
# Useful examples at the command-line
brew "eg-examples"
# Run arbitrary commands when files change
@@ -411,6 +411,7 @@ 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 "Tailscale", id: 1475387142

View File

@@ -45,6 +45,18 @@ wk.register({
"Delete hidden buffers",
},
},
g = {
name = "Goto buffer",
["1"] = { "<cmd>buffer! 1<cr>", "Buffer 1" },
["2"] = { "<cmd>buffer! 2<cr>", "Buffer 2" },
["3"] = { "<cmd>buffer! 3<cr>", "Buffer 3" },
["4"] = { "<cmd>buffer! 4<cr>", "Buffer 4" },
["5"] = { "<cmd>buffer! 5<cr>", "Buffer 5" },
["6"] = { "<cmd>buffer! 6<cr>", "Buffer 6" },
["7"] = { "<cmd>buffer! 7<cr>", "Buffer 7" },
["8"] = { "<cmd>buffer! 8<cr>", "Buffer 8" },
["9"] = { "<cmd>buffer! 9<cr>", "Buffer 9" },
},
},
D = {
name = "[D]iagnostics (Trouble)",
@@ -54,6 +66,12 @@ wk.register({
n = { ":lua vim.diagnostic.goto_next()<CR>", "[D]iagnostics: [n]ext" },
p = { ":lua vim.diagnostic.goto_prev()<CR>", "[D]iagnostics: [p]rev" },
},
e = {
function()
vim.cmd("Neotree focus source=filesystem position=left")
end,
"Toggle the sidebar tree of the root folder.",
},
f = {
name = "[f]ind",
-- Find recursively files across the root folder subfiles.
@@ -108,29 +126,42 @@ wk.register({
x = { ":Bdelete<CR>", "[x]: Close current buffer" },
}, { prefix = "<leader>" })
-- Normal mode, prefix <leader>
-- ╭──────────────────────────────────────────────────────────╮
-- │ Normal mode, prefix <leader> │
-- ╰──────────────────────────────────────────────────────────╯
wk.register({
b = { name = "Buffer" },
}, { mode = "n", prefix = "<leader>" })
-- Insert mode, prefix <leader>
-- ╭──────────────────────────────────────────────────────────╮
-- │ Insert mode, prefix <leader> │
-- ╰──────────────────────────────────────────────────────────╯
wk.register({
b = { name = "Buffer" },
}, { mode = "i", prefix = "<leader>" })
-- ╭──────────────────────────────────────────────────────────╮
-- │ Insert mode, no prefix │
-- ╰──────────────────────────────────────────────────────────╯
wk.register({
["<C-s>"] = { "<cmd>w<cr>", "Save file" },
["<C-Home>"] = { "<Home>", "Do just Home on CTRL + Home" },
}, { mode = "i", prefix = "" })
-- ╭──────────────────────────────────────────────────────────╮
-- │ All modes, no prefix │
-- ╰──────────────────────────────────────────────────────────╯
wk.register({
["<C-s>"] = { "<cmd>w<cr>", "Save file" },
["<C-End>"] = { "<End>", "Do just End on CTRL + End" },
}, { prefix = "" })
-- Go to the next block.
--key('n', '<C-Down>', 'g%', remap )
-- Loop through brackets blocks.
--key('n', '<C-Up>', 'z%', remap )
-- Do just End on CTRL + End.
key("i", "<C-End>", "<End>", remap)
key("n", "<C-End>", "<End>", remap)
-- Do just Home on CTRL + Home.
key("i", "<C-Home>", "<End>", remap)
-- Highlight the word after pressing enter.
key(
"n",
@@ -150,14 +181,6 @@ key(
-- Toggle highlight of search
key("n", "<C-c>", ":set hlsearch!<CR>", remap)
-- Toggle the sidebar tree of the root folder.
key("n", "<leader>e", "", {
noremap = true,
silent = true,
desc = "Open NeoTree without warnings",
callback = function() vim.cmd("Neotree toggle source=filesystem position=left") end,
})
-- Try to correct the current word.
key("i", "<C-b>", "ea<C-x><C-s>", remap)
@@ -181,9 +204,6 @@ key("v", "<C-x>", "mad`ai<Right>", { silent = true })
key("v", "<C-c>", "may`ai", remap)
key("i", "<C-v>", "<Esc>:Registers<CR>", remap)
-- Set 'CTRL + s as save'
key("n", "<C-s>", "<cmd>w<cr>", remap)
-- Create mark.
key("n", "'", "`", remap)
@@ -227,53 +247,3 @@ key("v", ">", ">gv", remap)
-- Set 'Backspace' as 'delete selection' for the visual selection.
key("v", "<BS>", '"_di', remap)
---
-- Barbar keymappings
local map = vim.api.nvim_set_keymap
local opts = { noremap = true, silent = true }
-- Move to previous/next
map("n", "<C-,>", "<Cmd>BufferPrevious<CR>", opts)
map("n", "<C-.>", "<Cmd>BufferNext<CR>", opts)
-- Re-order to previous/next
map("n", "<C-<>", "<Cmd>BufferMovePrevious<CR>", opts)
map("n", "<C->>", "<Cmd>BufferMoveNext<CR>", opts)
-- Goto buffer in position...
map("n", "<C-1>", "<Cmd>BufferGoto 1<CR>", opts)
map("n", "<C-2>", "<Cmd>BufferGoto 2<CR>", opts)
map("n", "<C-3>", "<Cmd>BufferGoto 3<CR>", opts)
map("n", "<C-4>", "<Cmd>BufferGoto 4<CR>", opts)
map("n", "<C-5>", "<Cmd>BufferGoto 5<CR>", opts)
map("n", "<C-6>", "<Cmd>BufferGoto 6<CR>", opts)
map("n", "<C-7>", "<Cmd>BufferGoto 7<CR>", opts)
map("n", "<C-8>", "<Cmd>BufferGoto 8<CR>", opts)
map("n", "<C-9>", "<Cmd>BufferGoto 9<CR>", opts)
map("n", "<C-0>", "<Cmd>BufferLast<CR>", opts)
-- Pin/unpin buffer
map("n", "<C-p>", "<Cmd>BufferPin<CR>", opts)
-- Close buffer
-- map('n', '<C-c>', '<Cmd>BufferClose<CR>', opts)
-- Wipeout buffer
-- :BufferWipeout
-- Close commands
-- :BufferCloseAllButCurrent
-- :BufferCloseAllButPinned
-- :BufferCloseAllButCurrentOrPinned
-- :BufferCloseBuffersLeft
-- :BufferCloseBuffersRight
-- Magic buffer-picking mode
map("n", "<C-p>", "<Cmd>BufferPick<CR>", opts)
-- Sort automatically by...
map("n", "<Space>bb", "<Cmd>BufferOrderByBufferNumber<CR>", opts)
map("n", "<Space>bd", "<Cmd>BufferOrderByDirectory<CR>", opts)
map("n", "<Space>bl", "<Cmd>BufferOrderByLanguage<CR>", opts)
map("n", "<Space>bw", "<Cmd>BufferOrderByWindowNumber<CR>", opts)
-- Other:
-- :BarbarEnable - enables barbar (enabled by default)
-- :BarbarDisable - very bad command, should never be used

View File

@@ -77,6 +77,15 @@ return {
-- Developer configurations: Not meant for general override
buffer_previewer_maker = previewers.buffer_previewer_maker,
},
pickers = {
buffers = {
mappings = {
i = {
["<c-d>"] = actions.delete_buffer + actions.move_to_top,
}
}
}
},
extensions_list = { "themes", "terms" },
})

View File

@@ -83,31 +83,18 @@ set -g @catppuccin_flavour 'mocha' # latte/frappe/macchiato/mocha
set -g @catppuccin_window_tabs_enabled on # or off to disable window_tabs
set -g @catppuccin_window_status_enable "yes"
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator " "
set -g @catppuccin_window_middle_separator " █"
set -g @catppuccin_window_right_separator ""
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W"
set -g @catppuccin_window_middle_separator " | "
set -g @catppuccin_window_default_fill "none"
set -g @catppuccin_window_current_fill "all"
set -g @catppuccin_status_modules "application session date_time"
set -g @catppuccin_status_left_separator "█"
set -g @catppuccin_status_right_separator "█"
set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M"
set -g @catppuccin_status_left_separator " "
set -g @catppuccin_status_right_separator ""
set -g @catppuccin_status_right_separator_inverse "no"
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_directory_text "#{pane_current_path}"
## https://github.com/MunifTanjim/tmux-mode-indicator
set -g status-right '%Y-%m-%d %H:%M #{tmux_mode_indicator}'
set -g @mode_indicator_prefix_prompt ' WAIT '
set -g @mode_indicator_copy_prompt ' COPY '
set -g @mode_indicator_sync_prompt ' SYNC '
@@ -143,11 +130,11 @@ set -g @tnotify-verbose 'on'
# set vi-mode
set-window-option -g mode-keys vi
# keybindings
bind-key -T copy-mode-vi v send-keys -X begin-selection
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}"

View File

@@ -9,13 +9,14 @@ export DOTFILES="$HOME/.dotfiles"
# Run x-load-configs in your terminal to reload the files.
function x-load-configs()
{
# Load the shell dotfiles, and then some:
for file in $DOTFILES/config/{exports,alias,functions}; do
[ -r "$file" ] && [ -f "$file" ] && source "$file"
[ -r "$file-secret" ] && [ -f "$file-secret" ] && source "$file-secret"
[ -r "$file-$HOSTNAME" ] && [ -f "$file-$HOSTNAME" ] && source "$file-$HOSTNAME"
[ -r "$file-$HOSTNAME-secret" ] && [ -f "$file-$HOSTNAME-secret" ] && source "$file-$HOSTNAME-secret"
done
HOST="$(hostname -s)"
# Load the shell dotfiles, and then some:
for file in $DOTFILES/config/{exports,alias,functions}; do
[ -r "$file" ] && source "$file"
[ -r "$file-secret" ] && source "$file-secret"
[ -r "$file-$HOST" ] && source "$file-$HOST"
[ -r "$file-$HOST-secret" ] && source "$file-$HOST-secret"
done
}
x-load-configs

View File

@@ -184,8 +184,8 @@ function section_helpers
case "$1" in
path)
# shellcheck disable=2001
for i in $(echo "$PATH" | sed 's/:/ /g'); do echo "$i"; done;
;;
for i in $(echo "$PATH" | sed 's/:/ /g'); do echo "$i"; done
;;
*) menu_usage "$USAGE_PREFIX" "${MENU[@]}" ;;
esac
}
@@ -250,10 +250,12 @@ function section_dotfiles
shfmt)
# Format shell scripts according to following rules.
find "$DOTFILES" \
-type f -perm +111 \
-type f -executable \
-not -path '*/.git/*' \
-not -path '*dotbot*' \
-not -path '*tmux*' \
-not -path '*config/fzf*' \
-not -path '*bin/fzf*' \
-not -path '*tmux/plugins*' \
-not -name '*.pl' \
-not -name '*.py' \
-not -name '*.php' \

View File

@@ -4,4 +4,3 @@
# and anyone else who expects to see a 'python' executable
exec python3 "$@"

View File

@@ -31,26 +31,28 @@
# 2. Functions to minise code.
#{
# I.
notify () {
# I.
notify()
{
notify-call \
--replace-file "$replace_id" \
"$@"
notify-call \
--replace-file "$replace_id" \
"$@"
}
}
# II.
stop () {
# II.
stop()
{
# A.
#pkill -INT -f 'ffmpeg -f alsa -ac 1 -i pulse -f x11grab -r 30 -s '
giph --stop
# A.
#pkill -INT -f 'ffmpeg -f alsa -ac 1 -i pulse -f x11grab -r 30 -s '
giph --stop
# C.
eww update record_menu=false
# C.
eww update record_menu=false
}
}
#}
# #. Kill previous giph process.
@@ -76,7 +78,7 @@ fi
case "$1" in
# A. Supported.
'mkv' | 'gif' | 'webm' | 'mp4' ) ;;
'mkv' | 'gif' | 'webm' | 'mp4') ;;
# B. Not supported.
*)
@@ -93,7 +95,7 @@ fi
# II. Execute itself.
exec $0 $format $2
;;
;;
esac
@@ -170,7 +172,7 @@ fi
gtk-launch \
"$(xdg-mime query default inode/directory)" \
"$path_recordings/" \
>/dev/null 2>&1 &
> /dev/null 2>&1 &
fi

0
local/share/fonts/JetBrainsMono-AUTHORS.txt Executable file → Normal file
View File

28
scripts/install-git-crypt.sh Executable file
View File

@@ -0,0 +1,28 @@
#!/usr/bin/env bash
#
# Install git-crypt
# NOTE: Experimental, wip
#
# shellcheck source=shared.sh
source "$HOME/.dotfiles/scripts/shared.sh"
msg "Installing git-crypt"
! have git-crypt && {
REPO_URL="https://github.com/AGWA/git-crypt.git"
CHECK_PATH="${XDG_BIN_HOME}/git-crypt"
BUILD_PATH="/tmp/git-crypt"
rm -rf "$BUILD_PATH"
if [ ! -d "$CHECK_PATH" ]; then
git clone --depth 1 "$REPO_URL" "$BUILD_PATH" || true
cd "$BUILD_PATH" || msg_err "$BUILD_PATH not found"
make && make install PREFIX="$HOME/.local"
else
msg_done "git-crypt ($CHECK_PATH) already installed"
fi
}
msg_done "Done installing git-crypt"

View File

@@ -7,6 +7,8 @@ source "$HOME/.dotfiles/scripts/shared.sh"
! have go && msg "go hasn't been installed yet." && exit 0
packages=(
# A shell parser, formatter, and interpreter with bash support; includes shfmt
mvdan.cc/sh/v3/cmd/shfmt@latest
# sysadmin/scripting utilities, distributed as a single binary
github.com/skx/sysbox@latest
# Git Profile allows you to switch between user profiles in git repos

View File

@@ -336,4 +336,3 @@ ask()
fi
done
}