mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-28 12:45:37 +00:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8eb0d2bcab | |||
| 3154fabe26 | |||
| fb9301c095 | |||
| 906487f939 | |||
| 11c0a05c84 | |||
| 1ced69d3d7 | |||
| 168194aa74 | |||
| 51afab44ef | |||
| 31e04ce865 |
@@ -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
|
||||
|
||||
|
||||
@@ -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
4
config/alias-tunkki
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
# Setting aliases for tunkki
|
||||
|
||||
alias nvim="/snap/nvim/current/usr/bin/nvim"
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" },
|
||||
})
|
||||
|
||||
@@ -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}"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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' \
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
# and anyone else who expects to see a 'python' executable
|
||||
|
||||
exec python3 "$@"
|
||||
|
||||
|
||||
@@ -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
0
local/share/fonts/JetBrainsMono-AUTHORS.txt
Executable file → Normal file
28
scripts/install-git-crypt.sh
Executable file
28
scripts/install-git-crypt.sh
Executable 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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -336,4 +336,3 @@ ask()
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user