mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-27 22:45:27 +00:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f3f977100 | |||
| ab8e654c2a | |||
| 1a4113e3cd | |||
| b3445d7e7a | |||
| 50fc1ea279 | |||
| d61f53196d | |||
| 7769af68b5 | |||
| 05aa4ba092 | |||
| a26f160326 | |||
| 00de4a7b83 | |||
| 020012eb60 |
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -44,3 +44,6 @@
|
||||
[submodule "tmux/tmux-yank"]
|
||||
path = config/tmux/plugins/tmux-yank
|
||||
url = https://github.com/tmux-plugins/tmux-yank.git
|
||||
[submodule "tmux/tmux-window-name"]
|
||||
path = config/tmux/plugins/tmux-window-name
|
||||
url = https://github.com/ofirgall/tmux-window-name.git
|
||||
|
||||
@@ -20,5 +20,7 @@ git submodule add --name tmux/tmux-sensible \
|
||||
-f https://github.com/tmux-plugins/tmux-sensible.git config/tmux/plugins/tmux-sensible
|
||||
git submodule add --name tmux/tmux-sessionist \
|
||||
-f https://github.com/tmux-plugins/tmux-sessionist.git config/tmux/plugins/tmux-sessionist
|
||||
git submodule add --name tmux/tmux-window-name \
|
||||
-f https://github.com/ofirgall/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
|
||||
|
||||
7
config/exports-lakka
Normal file
7
config/exports-lakka
Normal file
@@ -0,0 +1,7 @@
|
||||
# lakka exports
|
||||
|
||||
## LUA
|
||||
have luarocks && $(luarocks path --bin)
|
||||
|
||||
path_append "$HOME/.local/go/bin"
|
||||
|
||||
@@ -68,6 +68,8 @@ brew "awscli"
|
||||
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
|
||||
@@ -108,8 +110,6 @@ brew "eg-examples"
|
||||
brew "entr"
|
||||
# Perl lib for reading and writing EXIF metadata
|
||||
brew "exiftool"
|
||||
# Simple, fast and user-friendly alternative to find
|
||||
brew "fd"
|
||||
# Banner-like program prints strings as ASCII art
|
||||
brew "figlet"
|
||||
# Libraries to talk to Microsoft SQL Server and Sybase databases
|
||||
@@ -152,8 +152,6 @@ 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
|
||||
@@ -278,6 +276,8 @@ brew "virtualenv"
|
||||
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
|
||||
@@ -314,8 +314,10 @@ brew "shivammathur/php/php@7.4"
|
||||
brew "shivammathur/php/php@8.0"
|
||||
# Ookla Speedtest
|
||||
brew "teamookla/speedtest/speedtest"
|
||||
# Command-line helper for the 1Password password manager
|
||||
# Command-line interface for 1Password
|
||||
cask "1password-cli"
|
||||
# GPU-accelerated terminal emulator
|
||||
cask "alacritty"
|
||||
# Turn audio CDs and files into audiobooks
|
||||
cask "audiobook-builder"
|
||||
# Text editor
|
||||
@@ -435,6 +437,7 @@ 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.vscode-github-actions"
|
||||
vscode "GitHub.vscode-pull-request-github"
|
||||
@@ -473,6 +476,7 @@ 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"LazyVim": { "branch": "main", "commit": "a72a84972d85e5bbc6b9d60a0983b37efef21b8a" },
|
||||
"LuaSnip": { "branch": "master", "commit": "3657c3f3cb2214a681fc7e95b6ffb509d076ebfb" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "2a6a5d3e2bc8a5727b6d083d2920d12a392ed05b" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "7b115d9dca286192ffa5b2a254ff61a34006ac3e" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" },
|
||||
"animation.nvim": { "branch": "main", "commit": "fb77091ab72ec9971aee0562e7081182527aaa6a" },
|
||||
"bufdelete.nvim": { "branch": "master", "commit": "07d1f8ba79dec59d42b975a4df1c732b2e4e37b4" },
|
||||
@@ -31,26 +31,25 @@
|
||||
"mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" },
|
||||
"mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "2d89ca96e08eb6e9c8e50e1bb4738bc5125c9f12" },
|
||||
"neoconf.nvim": { "branch": "main", "commit": "a4eb3675cb87be2e2dcb283dddc8c7aabd2c50ca" },
|
||||
"neoconf.nvim": { "branch": "main", "commit": "b7cde4ba41eabf9bec9464c990bcf84a0fef4526" },
|
||||
"neodev.nvim": { "branch": "main", "commit": "471324e6c746284dbbdc1d357799d1911bb7e120" },
|
||||
"neogen": { "branch": "main", "commit": "cb1f384df804c1bf729332c4f728253fe17962d4" },
|
||||
"noice.nvim": { "branch": "main", "commit": "74c2902146b080035beb19944baf6f014a954720" },
|
||||
"nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" },
|
||||
"null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "cc388d3f6b9c7c943ae2b2dcd46ad470fd257f91" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "f3195835c0447ee2c80152b893ab51ca162b04a9" },
|
||||
"nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" },
|
||||
"nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" },
|
||||
"nvim-regexplainer": { "branch": "main", "commit": "4250c8f3c1307876384e70eeedde5149249e154f" },
|
||||
"nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "c0170e1e2c713341805ce13fe53fe4933e8471d8" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "b4f6dd72980607a9821d24502b0ca7ee826376af" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "95e9ba9de4289d221666b66fd930d157c7ca08c6" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "973ab742f143a796a779af4d786ec409116a0d87" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" },
|
||||
"stickybuf.nvim": { "branch": "master", "commit": "4c667bc837e5e3fec5a8857ee99f1a229fc76df9" },
|
||||
"tabnine": { "branch": "master", "commit": "cceef1024aa1d8a17698a77c499a124fe85f1f79" },
|
||||
"stickybuf.nvim": { "branch": "master", "commit": "e3db41f2c1bb2df3ee6ff964ee74fe991f6f9566" },
|
||||
"tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "bc25c56083939f274edcfe395c6ff7de23b67c50" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "b543aaa2c9cf8123ed2fe7dbb6c211a9cd415124" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" },
|
||||
|
||||
@@ -75,6 +75,7 @@ return {
|
||||
{
|
||||
"codota/tabnine-nvim",
|
||||
name = "tabnine",
|
||||
enabled = false,
|
||||
build = vim.loop.os_uname().sysname == "Windows_NT" and "pwsh.exe -file .\\dl_binaries.ps1" or "./dl_binaries.sh",
|
||||
cmd = { "TabnineStatus", "TabnineDisable", "TabnineEnable", "TabnineToggle" },
|
||||
event = "User",
|
||||
|
||||
23
config/nvim/lua/plugins/treesitter.lua
Normal file
23
config/nvim/lua/plugins/treesitter.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"html",
|
||||
"javascript",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -7,7 +7,7 @@ $directory\
|
||||
$git_branch\
|
||||
$git_state\
|
||||
$git_status\
|
||||
$fill\
|
||||
$fill \
|
||||
$battery\
|
||||
$username\
|
||||
$hostname\
|
||||
@@ -75,6 +75,8 @@ symbol = " "
|
||||
|
||||
[hostname]
|
||||
ssh_symbol = " "
|
||||
ssh_only = false
|
||||
format = '[$ssh_symbol](bold blue)[$hostname](bold red) '
|
||||
|
||||
[nodejs]
|
||||
symbol = " "
|
||||
|
||||
1
config/tmux/plugins/tmux-window-name
Submodule
1
config/tmux/plugins/tmux-window-name
Submodule
Submodule config/tmux/plugins/tmux-window-name added at f89e9c9d71
@@ -94,6 +94,7 @@ set -g @tpm_plugins ' \
|
||||
catppuccin/tmux \
|
||||
tmux-plugins/tmux-continuum \
|
||||
jaclu/tmux-menus \
|
||||
ofirgall/tmux-window-name \
|
||||
tmux-plugins/tmux-resurrect \
|
||||
tmux-plugins/tmux-sensible \
|
||||
tmux-plugins/tmux-sessionist \
|
||||
@@ -108,6 +109,13 @@ set -g @tpm_plugins ' \
|
||||
## https://github.com/jaclu/tmux-menus
|
||||
set -g @menus_trigger 'm'
|
||||
|
||||
## 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 "20"
|
||||
### Replace $HOME with ~ in window names
|
||||
set -g @tmux_window_name_use_tilde "True"
|
||||
|
||||
## https://github.com/catppuccin/tmux
|
||||
set -g @catppuccin_flavour "mocha" # latte/frappe/macchiato/mocha
|
||||
set -g @catppuccin_window_tabs_enabled on # or off to disable window_tabs
|
||||
|
||||
@@ -31,7 +31,7 @@ bind-key -T copy-mode P send-keys -X toggle-position
|
||||
bind-key -T copy-mode R send-keys -X rectangle-toggle
|
||||
bind-key -T copy-mode T command-prompt -1 -p "(jump to backward)" { send-keys -X jump-to-backward "%%" }
|
||||
bind-key -T copy-mode X send-keys -X set-mark
|
||||
bind-key -T copy-mode Y send-keys -X copy-pipe-and-cancel "tmux paste-buffer -p"
|
||||
bind-key -T copy-mode Y send-keys -X copy-pipe-and-cancel "tmux paste-buffer"
|
||||
bind-key -T copy-mode f command-prompt -1 -p "(jump forward)" { send-keys -X jump-forward "%%" }
|
||||
bind-key -T copy-mode g command-prompt -p "(goto line)" { send-keys -X goto-line "%%" }
|
||||
bind-key -T copy-mode n send-keys -X search-again
|
||||
@@ -41,7 +41,7 @@ bind-key -T copy-mode t command-prompt -1 -p "(jump to
|
||||
bind-key -T copy-mode y send-keys -X copy-pipe-and-cancel pbcopy
|
||||
bind-key -T copy-mode MouseDown1Pane select-pane
|
||||
bind-key -T copy-mode MouseDrag1Pane select-pane \; send-keys -X begin-selection
|
||||
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel pbcopy
|
||||
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel
|
||||
bind-key -T copy-mode WheelUpPane select-pane \; send-keys -X -N 5 scroll-up
|
||||
bind-key -T copy-mode WheelDownPane select-pane \; send-keys -X -N 5 scroll-down
|
||||
bind-key -T copy-mode DoubleClick1Pane select-pane \; send-keys -X select-word \; run-shell -d 0.3 \; send-keys -X copy-pipe-and-cancel
|
||||
@@ -75,7 +75,7 @@ bind-key -T copy-mode M-r send-keys -X middle-line
|
||||
bind-key -T copy-mode M-v send-keys -X page-up
|
||||
bind-key -T copy-mode M-w send-keys -X copy-pipe-and-cancel
|
||||
bind-key -T copy-mode M-x send-keys -X jump-to-mark
|
||||
bind-key -T copy-mode M-y send-keys -X copy-pipe-and-cancel "pbcopy; tmux paste-buffer -p"
|
||||
bind-key -T copy-mode M-y send-keys -X copy-pipe-and-cancel "pbcopy; tmux paste-buffer"
|
||||
bind-key -T copy-mode "M-{" send-keys -X previous-paragraph
|
||||
bind-key -T copy-mode "M-}" send-keys -X next-paragraph
|
||||
bind-key -T copy-mode M-Up send-keys -X halfpage-up
|
||||
@@ -87,16 +87,13 @@ bind-key -T copy-mode-vi C-c send-keys -X cancel
|
||||
bind-key -T copy-mode-vi C-d send-keys -X halfpage-down
|
||||
bind-key -T copy-mode-vi C-e send-keys -X scroll-down
|
||||
bind-key -T copy-mode-vi C-f send-keys -X page-down
|
||||
bind-key -T copy-mode-vi C-h select-pane -L
|
||||
bind-key -T copy-mode-vi C-j select-pane -D
|
||||
bind-key -T copy-mode-vi C-k select-pane -U
|
||||
bind-key -T copy-mode-vi C-l select-pane -R
|
||||
bind-key -T copy-mode-vi C-h send-keys -X cursor-left
|
||||
bind-key -T copy-mode-vi C-j send-keys -X copy-pipe-and-cancel
|
||||
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel
|
||||
bind-key -T copy-mode-vi C-u send-keys -X halfpage-up
|
||||
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
||||
bind-key -T copy-mode-vi C-y send-keys -X scroll-up
|
||||
bind-key -T copy-mode-vi Escape send-keys -X clear-selection
|
||||
bind-key -T copy-mode-vi C-\ select-pane -l
|
||||
bind-key -T copy-mode-vi Space send-keys -X begin-selection
|
||||
bind-key -T copy-mode-vi ! send-keys -X copy-pipe-and-cancel "tr -d '
|
||||
' | pbcopy"
|
||||
@@ -136,7 +133,7 @@ bind-key -T copy-mode-vi T command-prompt -1 -p "(jump to
|
||||
bind-key -T copy-mode-vi V send-keys -X select-line
|
||||
bind-key -T copy-mode-vi W send-keys -X next-space
|
||||
bind-key -T copy-mode-vi X send-keys -X set-mark
|
||||
bind-key -T copy-mode-vi Y send-keys -X copy-pipe-and-cancel "tmux paste-buffer -p"
|
||||
bind-key -T copy-mode-vi Y send-keys -X copy-pipe-and-cancel "tmux paste-buffer"
|
||||
bind-key -T copy-mode-vi ^ send-keys -X back-to-indentation
|
||||
bind-key -T copy-mode-vi b send-keys -X previous-word
|
||||
bind-key -T copy-mode-vi e send-keys -X next-word-end
|
||||
@@ -158,7 +155,7 @@ bind-key -T copy-mode-vi \{ send-keys -X previous-paragraph
|
||||
bind-key -T copy-mode-vi \} send-keys -X next-paragraph
|
||||
bind-key -T copy-mode-vi MouseDown1Pane select-pane
|
||||
bind-key -T copy-mode-vi MouseDrag1Pane select-pane \; send-keys -X begin-selection
|
||||
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel pbcopy
|
||||
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel
|
||||
bind-key -T copy-mode-vi WheelUpPane select-pane \; send-keys -X -N 5 scroll-up
|
||||
bind-key -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 5 scroll-down
|
||||
bind-key -T copy-mode-vi DoubleClick1Pane select-pane \; send-keys -X select-word \; run-shell -d 0.3 \; send-keys -X copy-pipe-and-cancel
|
||||
@@ -171,24 +168,15 @@ bind-key -T copy-mode-vi Down send-keys -X cursor-down
|
||||
bind-key -T copy-mode-vi Left send-keys -X cursor-left
|
||||
bind-key -T copy-mode-vi Right send-keys -X cursor-right
|
||||
bind-key -T copy-mode-vi M-x send-keys -X jump-to-mark
|
||||
bind-key -T copy-mode-vi M-y send-keys -X copy-pipe-and-cancel "pbcopy; tmux paste-buffer -p"
|
||||
bind-key -T copy-mode-vi M-y send-keys -X copy-pipe-and-cancel "pbcopy; tmux paste-buffer"
|
||||
bind-key -T copy-mode-vi C-Up send-keys -X scroll-up
|
||||
bind-key -T copy-mode-vi C-Down send-keys -X scroll-down
|
||||
bind-key -T join-pane \" run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-v'"
|
||||
bind-key -T join-pane \% run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-h'"
|
||||
bind-key -T join-pane - run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-v'"
|
||||
bind-key -T join-pane @ run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-b'"
|
||||
bind-key -T join-pane f run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-b'"
|
||||
bind-key -T join-pane h run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-h'"
|
||||
bind-key -T join-pane v run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-v'"
|
||||
bind-key -T join-pane | run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-h'"
|
||||
bind-key -T prefix C-Space run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/promote_window.sh '#{session_name}' '#{window_id}' '#{window_name}' '#{pane_current_path}'"
|
||||
bind-key -T prefix Enter run-shell -b "/Users/ivuorinen/.config/tmux/plugins/tmux-notify/scripts/notify.sh false true"
|
||||
bind-key -T prefix C-Space send-prefix
|
||||
bind-key -T prefix C-n next-window
|
||||
bind-key -T prefix C-o rotate-window
|
||||
bind-key -T prefix C-p previous-window
|
||||
bind-key -T prefix C-r run-shell /Users/ivuorinen/.config/tmux/plugins/tmux-resurrect/scripts/restore.sh
|
||||
bind-key -T prefix C-s run-shell /Users/ivuorinen/.config/tmux/plugins/tmux-resurrect/scripts/save.sh
|
||||
bind-key -T prefix C-r run-shell $HOME/.dotfiles/config/tmux/plugins/tmux-resurrect/scripts/restore.sh
|
||||
bind-key -T prefix C-s run-shell $HOME/.dotfiles/config/tmux/plugins/tmux-resurrect/scripts/save.sh
|
||||
bind-key -T prefix C-z suspend-client
|
||||
bind-key -T prefix Escape copy-mode
|
||||
bind-key -T prefix Space next-layout
|
||||
@@ -196,7 +184,7 @@ bind-key -T prefix ! split-window -h -c "#{pane_curr
|
||||
bind-key -T prefix \" split-window -v -c "#{pane_current_path}"
|
||||
bind-key -T prefix \# list-buffers
|
||||
bind-key -T prefix \$ command-prompt -I "#S" { rename-session "%%" }
|
||||
bind-key -T prefix \% split-window -h -c "#{pane_current_path}"
|
||||
bind-key -T prefix \% split-window -h
|
||||
bind-key -T prefix & confirm-before -p "kill-window #W? (y/n)" kill-window
|
||||
bind-key -T prefix \' command-prompt -T window-target -p index { select-window -t ":%%" }
|
||||
bind-key -T prefix ( switch-client -p
|
||||
@@ -221,40 +209,42 @@ bind-key -T prefix < display-menu -T "#[align=centre
|
||||
bind-key -T prefix = choose-buffer -Z
|
||||
bind-key -T prefix > display-menu -T "#[align=centre]#{pane_index} (#{pane_id})" -x P -y P "#{?#{m/r:(copy|view)-mode,#{pane_mode}},Go To Top,}" < { send-keys -X history-top } "#{?#{m/r:(copy|view)-mode,#{pane_mode}},Go To Bottom,}" > { send-keys -X history-bottom } '' "#{?mouse_word,Search For #[underscore]#{=/9/...:mouse_word},}" C-r { if-shell -F "#{?#{m/r:(copy|view)-mode,#{pane_mode}},0,1}" "copy-mode -t=" ; send-keys -X -t = search-backward "#{q:mouse_word}" } "#{?mouse_word,Type #[underscore]#{=/9/...:mouse_word},}" C-y { copy-mode -q ; send-keys -l "#{q:mouse_word}" } "#{?mouse_word,Copy #[underscore]#{=/9/...:mouse_word},}" c { copy-mode -q ; set-buffer "#{q:mouse_word}" } "#{?mouse_line,Copy Line,}" l { copy-mode -q ; set-buffer "#{q:mouse_line}" } '' "Horizontal Split" h { split-window -h } "Vertical Split" v { split-window -v } '' "#{?#{>:#{window_panes},1},,-}Swap Up" u { swap-pane -U } "#{?#{>:#{window_panes},1},,-}Swap Down" d { swap-pane -D } "#{?pane_marked_set,,-}Swap Marked" s { swap-pane } '' Kill X { kill-pane } Respawn R { respawn-pane -k } "#{?pane_marked,Unmark,Mark}" m { select-pane -m } "#{?#{>:#{window_panes},1},,-}#{?window_zoomed_flag,Unzoom,Zoom}" z { resize-pane -Z }
|
||||
bind-key -T prefix ? list-keys -N
|
||||
bind-key -T prefix @ run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/promote_pane.sh '#{session_name}' '#{pane_id}' '#{pane_current_path}'"
|
||||
bind-key -T prefix C run-shell /Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/new_session_prompt.sh
|
||||
bind-key -T prefix @ run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-sessionist/scripts/promote_pane.sh '#{session_name}' '#{pane_id}' '#{pane_current_path}'"
|
||||
bind-key -T prefix C run-shell $HOME/.dotfiles/config/tmux/plugins/tmux-sessionist/scripts/new_session_prompt.sh
|
||||
bind-key -T prefix D choose-client -Z
|
||||
bind-key -T prefix E select-layout -E
|
||||
bind-key -T prefix I run-shell /Users/ivuorinen/.config/tmux/plugins/tpm/bindings/install_plugins
|
||||
bind-key -T prefix I run-shell $HOME/.dotfiles/config/tmux/plugins/tpm/bindings/install_plugins
|
||||
bind-key -T prefix L switch-client -l
|
||||
bind-key -T prefix M run-shell -b /Users/ivuorinen/.config/tmux/plugins/tmux-notify/scripts/cancel.sh
|
||||
bind-key -T prefix M select-pane -M
|
||||
bind-key -T prefix N new-window
|
||||
bind-key -T prefix R run-shell " tmux source-file /Users/ivuorinen/.config/tmux/tmux.conf > /dev/null; tmux display-message 'Sourced /Users/ivuorinen/.config/tmux/tmux.conf!'"
|
||||
bind-key -T prefix R run-shell " \
|
||||
tmux source-file ~/.tmux.conf > /dev/null; \
|
||||
tmux display-message \"Sourced .tmux.conf!\""
|
||||
bind-key -T prefix S switch-client -l
|
||||
bind-key -T prefix U run-shell /Users/ivuorinen/.config/tmux/plugins/tpm/bindings/update_plugins
|
||||
bind-key -T prefix X run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/kill_session_prompt.sh '#{session_name}' '#{session_id}'"
|
||||
bind-key -T prefix Y run-shell -b /Users/ivuorinen/.config/tmux/plugins/tmux-yank/scripts/copy_pane_pwd.sh
|
||||
bind-key -T prefix U run-shell $HOME/.dotfiles/config/tmux/plugins/tpm/bindings/update_plugins
|
||||
bind-key -T prefix X run-shell "$HOME/.dotfiles/config/tmux/plugins/tmux-sessionist/scripts/kill_session_prompt.sh '#{session_name}' '#{session_id}'"
|
||||
bind-key -T prefix Y run-shell -b $HOME/.dotfiles/config/tmux/plugins/tmux-yank/scripts/copy_pane_pwd.sh
|
||||
bind-key -T prefix ] paste-buffer -p
|
||||
bind-key -T prefix c new-window
|
||||
bind-key -T prefix d detach-client
|
||||
bind-key -T prefix f command-prompt { find-window -Z "%%" }
|
||||
bind-key -T prefix g run-shell /Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/goto_session.sh
|
||||
bind-key -T prefix g run-shell $HOME/.dotfiles/config/tmux/plugins/tmux-sessionist/scripts/goto_session.sh
|
||||
bind-key -T prefix h select-pane -L
|
||||
bind-key -T prefix i display-message
|
||||
bind-key -T prefix j select-pane -D
|
||||
bind-key -T prefix k select-pane -U
|
||||
bind-key -T prefix l run-shell -b /Users/ivuorinen/.config/tmux/plugins/tmux-fzf/main.sh
|
||||
bind-key -T prefix m run-shell /Users/ivuorinen/.config/tmux/plugins/tmux-menus/items/main.sh
|
||||
bind-key -T prefix l select-pane -R
|
||||
bind-key -T prefix m run-shell $HOME/.dotfiles/config/tmux/plugins/tmux-menus/items/main.sh
|
||||
bind-key -T prefix n next-window
|
||||
bind-key -T prefix o select-pane -t :.+
|
||||
bind-key -T prefix p paste-buffer
|
||||
bind-key -T prefix q display-panes
|
||||
bind-key -T prefix r source-file /Users/ivuorinen/.dotfiles/config/tmux/tmux.conf \; display-message "tmux cfg reloaded!"
|
||||
bind-key -T prefix r source-file $HOME/.dotfiles/config/tmux/tmux.conf \; display-message "tmux cfg reloaded!"
|
||||
bind-key -T prefix s choose-tree -Zs
|
||||
bind-key -T prefix t run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh 'join-pane' '-b'"
|
||||
bind-key -T prefix t clock-mode
|
||||
bind-key -T prefix w choose-tree -Zw
|
||||
bind-key -T prefix x run-shell "tmux split-window -l 10 \"/Users/ivuorinen/.config/tmux/plugins/tmux-1password/scripts/main.sh '#{pane_id}'\""
|
||||
bind-key -T prefix y run-shell -b /Users/ivuorinen/.config/tmux/plugins/tmux-yank/scripts/copy_line.sh
|
||||
bind-key -T prefix x confirm-before -p "kill-pane #P? (y/n)" kill-pane
|
||||
bind-key -T prefix y run-shell -b $HOME/.dotfiles/config/tmux/plugins/tmux-yank/scripts/copy_line.sh
|
||||
bind-key -T prefix z resize-pane -Z
|
||||
bind-key -T prefix \{ swap-pane -U
|
||||
bind-key -T prefix \} swap-pane -D
|
||||
@@ -265,17 +255,16 @@ bind-key -r -T prefix Up select-pane -U
|
||||
bind-key -r -T prefix Down select-pane -D
|
||||
bind-key -r -T prefix Left select-pane -L
|
||||
bind-key -r -T prefix Right select-pane -R
|
||||
bind-key -T prefix M-Enter run-shell -b "/Users/ivuorinen/.config/tmux/plugins/tmux-notify/scripts/notify.sh true true"
|
||||
bind-key -T prefix M-1 select-layout even-horizontal
|
||||
bind-key -T prefix M-2 select-layout even-vertical
|
||||
bind-key -T prefix M-3 select-layout main-horizontal
|
||||
bind-key -T prefix M-4 select-layout main-vertical
|
||||
bind-key -T prefix M-5 select-layout tiled
|
||||
bind-key -T prefix M-m run-shell -b "/Users/ivuorinen/.config/tmux/plugins/tmux-notify/scripts/notify.sh true"
|
||||
bind-key -T prefix M-c attach-session -c "#{pane_current_path}"
|
||||
bind-key -T prefix M-n next-window -a
|
||||
bind-key -T prefix M-o rotate-window -D
|
||||
bind-key -T prefix M-p previous-window -a
|
||||
bind-key -T prefix M-u run-shell /Users/ivuorinen/.config/tmux/plugins/tpm/bindings/clean_plugins
|
||||
bind-key -T prefix M-u run-shell $HOME/.dotfiles/config/tmux/plugins/tpm/bindings/clean_plugins
|
||||
bind-key -r -T prefix M-Up resize-pane -U 5
|
||||
bind-key -r -T prefix M-Down resize-pane -D 5
|
||||
bind-key -r -T prefix M-Left resize-pane -L 5
|
||||
@@ -288,11 +277,6 @@ bind-key -r -T prefix S-Up refresh-client -U 10
|
||||
bind-key -r -T prefix S-Down refresh-client -D 10
|
||||
bind-key -r -T prefix S-Left refresh-client -L 10
|
||||
bind-key -r -T prefix S-Right refresh-client -R 10
|
||||
bind-key -T root C-h if-shell "ps -o state= -o comm= -t '#{pane_tty}' | grep -iqE '^[^TXZ ]+ +(\S+\/)?g?(view|l?n?vim?x?)(diff)?$'" "send-keys C-h" "select-pane -L"
|
||||
bind-key -T root C-j if-shell "ps -o state= -o comm= -t '#{pane_tty}' | grep -iqE '^[^TXZ ]+ +(\S+\/)?g?(view|l?n?vim?x?)(diff)?$'" "send-keys C-j" "select-pane -D"
|
||||
bind-key -T root C-k if-shell "ps -o state= -o comm= -t '#{pane_tty}' | grep -iqE '^[^TXZ ]+ +(\S+\/)?g?(view|l?n?vim?x?)(diff)?$'" "send-keys C-k" "select-pane -U"
|
||||
bind-key -T root C-l if-shell "ps -o state= -o comm= -t '#{pane_tty}' | grep -iqE '^[^TXZ ]+ +(\S+\/)?g?(view|l?n?vim?x?)(diff)?$'" "send-keys C-l" "select-pane -R"
|
||||
bind-key -T root C-\ if-shell "ps -o state= -o comm= -t '#{pane_tty}' | grep -iqE '^[^TXZ ]+ +(S+/)?g?(view|l?n?vim?x?)(diff)?$'" "send-keys C-\\" "select-pane -l"
|
||||
bind-key -T root MouseDown1Pane select-pane -t = \; send-keys -M
|
||||
bind-key -T root MouseDown1Status select-window -t =
|
||||
bind-key -T root MouseDown2Pane select-pane -t = \; if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } { paste-buffer -p }
|
||||
@@ -306,16 +290,12 @@ bind-key -T root WheelUpStatus previous-window
|
||||
bind-key -T root WheelDownStatus next-window
|
||||
bind-key -T root DoubleClick1Pane select-pane -t = \; if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } { copy-mode -H ; send-keys -X select-word ; run-shell -d 0.3 ; send-keys -X copy-pipe-and-cancel }
|
||||
bind-key -T root TripleClick1Pane select-pane -t = \; if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } { copy-mode -H ; send-keys -X select-line ; run-shell -d 0.3 ; send-keys -X copy-pipe-and-cancel }
|
||||
bind-key -T root F12 run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-suspend/scripts/suspend.sh \"\" \" @mode_indicator_custom_prompt:: ---- , @mode_indicator_custom_mode_style::bg=brightblack\,fg=black, \""
|
||||
bind-key -T root M-H previous-window
|
||||
bind-key -T root M-L next-window
|
||||
bind-key -T root M-MouseDown3Pane display-menu -T "#[align=centre]#{pane_index} (#{pane_id})" -t = -x M -y M "#{?#{m/r:(copy|view)-mode,#{pane_mode}},Go To Top,}" < { send-keys -X history-top } "#{?#{m/r:(copy|view)-mode,#{pane_mode}},Go To Bottom,}" > { send-keys -X history-bottom } '' "#{?mouse_word,Search For #[underscore]#{=/9/...:mouse_word},}" C-r { if-shell -F "#{?#{m/r:(copy|view)-mode,#{pane_mode}},0,1}" "copy-mode -t=" ; send-keys -X -t = search-backward "#{q:mouse_word}" } "#{?mouse_word,Type #[underscore]#{=/9/...:mouse_word},}" C-y { copy-mode -q ; send-keys -l "#{q:mouse_word}" } "#{?mouse_word,Copy #[underscore]#{=/9/...:mouse_word},}" c { copy-mode -q ; set-buffer "#{q:mouse_word}" } "#{?mouse_line,Copy Line,}" l { copy-mode -q ; set-buffer "#{q:mouse_line}" } '' "Horizontal Split" h { split-window -h } "Vertical Split" v { split-window -v } '' "#{?#{>:#{window_panes},1},,-}Swap Up" u { swap-pane -U } "#{?#{>:#{window_panes},1},,-}Swap Down" d { swap-pane -D } "#{?pane_marked_set,,-}Swap Marked" s { swap-pane } '' Kill X { kill-pane } Respawn R { respawn-pane -k } "#{?pane_marked,Unmark,Mark}" m { select-pane -m } "#{?#{>:#{window_panes},1},,-}#{?window_zoomed_flag,Unzoom,Zoom}" z { resize-pane -Z }
|
||||
bind-key -T root M-Up select-pane -U
|
||||
bind-key -T root M-Down select-pane -D
|
||||
bind-key -T root M-Left select-pane -L
|
||||
bind-key -T root M-Right select-pane -R
|
||||
bind-key -T root S-Left previous-window
|
||||
bind-key -T root S-Right next-window
|
||||
bind-key -T suspended F12 run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-suspend/scripts/resume.sh \"\""
|
||||
bind-key -T root C-Tab previous-window
|
||||
bind-key -T root C-S-Tab next-window
|
||||
```
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ function section_install
|
||||
MENU=(
|
||||
"all:Installs everything in the correct order"
|
||||
"antigen:Updates the antigen.zsh file"
|
||||
"cargo:Install rust/cargo packages"
|
||||
"cheat-databases:Install cheat external cheatsheet databases"
|
||||
"composer:Install composer"
|
||||
"dotenv:Install dotenv-linter"
|
||||
@@ -40,6 +41,7 @@ function section_install
|
||||
"nvm:Install Node Version Manager (nvm)"
|
||||
"npm:Install NPM Packages"
|
||||
"ntfy:Install ntfy"
|
||||
"pip:Install pip/python packages"
|
||||
"z:Install z"
|
||||
)
|
||||
|
||||
@@ -48,6 +50,8 @@ function section_install
|
||||
$0 install macos
|
||||
$0 install antigen
|
||||
$0 brew install
|
||||
$0 install pip
|
||||
$0 install cargo
|
||||
$0 install composer
|
||||
$0 install dotenv
|
||||
$0 install fzf
|
||||
@@ -65,6 +69,10 @@ function section_install
|
||||
curl -sSfL git.io/antigen -o "$DOTFILES/local/bin/antigen.zsh" \
|
||||
&& msg_yay "New antigen installed!"
|
||||
;;
|
||||
cargo)
|
||||
bash "$DOTFILES/scripts/install-cargo-packages.sh" \
|
||||
&& msg_yay "cargo packages installed!"
|
||||
;;
|
||||
cheat-databases)
|
||||
for database in "$DOTFILES"/scripts/install-cheat-*; do
|
||||
bash "$database" \
|
||||
@@ -126,6 +134,10 @@ function section_install
|
||||
bash "$DOTFILES/scripts/install-ntfy.sh" \
|
||||
&& msg_yay "ntfy installed!"
|
||||
;;
|
||||
pip)
|
||||
bash "$DOTFILES/scripts/install-pip-packages.sh" \
|
||||
&& msg_yay "pip/python packages installed!"
|
||||
;;
|
||||
z)
|
||||
bash "$DOTFILES/scripts/install-z.sh" \
|
||||
&& msg_yay "z has been installed!"
|
||||
@@ -249,18 +261,9 @@ function section_dotfiles
|
||||
;;
|
||||
shfmt)
|
||||
# Format shell scripts according to following rules.
|
||||
find "$DOTFILES" \
|
||||
-type f -executable \
|
||||
-not -path '*/.git/*' \
|
||||
-not -path '*dotbot*' \
|
||||
-not -path '*config/fzf*' \
|
||||
-not -path '*bin/fzf*' \
|
||||
-not -path '*tmux/plugins*' \
|
||||
-not -name '*.pl' \
|
||||
-not -name '*.py' \
|
||||
-not -name '*.php' \
|
||||
-not -name '*.zsh' \
|
||||
-exec shfmt \
|
||||
fd --full-path "$DOTFILES" -tx \
|
||||
-E '*.pl' -E '*.php' -E '*.py' -E '*.zsh' -E 'plugins' -E 'fzf' -E 'dotbot' \
|
||||
-x shfmt \
|
||||
--language-dialect bash \
|
||||
--func-next-line --list --write \
|
||||
--indent 2 --case-indent --space-redirects \
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
# fzf-tmux: starts fzf in a tmux pane
|
||||
# usage: fzf-tmux [LAYOUT OPTIONS] [--] [FZF OPTIONS]
|
||||
|
||||
fail() {
|
||||
>&2 echo "$1"
|
||||
fail()
|
||||
{
|
||||
echo >&2 "$1"
|
||||
exit 2
|
||||
}
|
||||
|
||||
@@ -19,8 +20,9 @@ term=""
|
||||
[[ -n "$LINES" ]] && lines=$LINES || lines=$(tput lines) || lines=$(tmux display-message -p "#{pane_height}")
|
||||
[[ -n "$COLUMNS" ]] && columns=$COLUMNS || columns=$(tput cols) || columns=$(tmux display-message -p "#{pane_width}")
|
||||
|
||||
help() {
|
||||
>&2 echo 'usage: fzf-tmux [LAYOUT OPTIONS] [--] [FZF OPTIONS]
|
||||
help()
|
||||
{
|
||||
echo >&2 'usage: fzf-tmux [LAYOUT OPTIONS] [--] [FZF OPTIONS]
|
||||
|
||||
LAYOUT OPTIONS:
|
||||
(default layout: -d 50%)
|
||||
@@ -55,7 +57,7 @@ while [[ $# -gt 0 ]]; do
|
||||
echo "fzf-tmux (with fzf $("$fzf" --version))"
|
||||
exit
|
||||
;;
|
||||
-p*|-w*|-h*|-x*|-y*|-d*|-u*|-r*|-l*)
|
||||
-p* | -w* | -h* | -x* | -y* | -d* | -u* | -r* | -l*)
|
||||
if [[ "$arg" =~ ^-[pwhxy] ]]; then
|
||||
[[ "$opt" =~ "-E" ]] || opt="-E"
|
||||
elif [[ "$arg" =~ ^.[lr] ]]; then
|
||||
@@ -93,9 +95,9 @@ while [[ $# -gt 0 ]]; do
|
||||
elif [[ "$arg" =~ ^-[whxy] ]]; then
|
||||
opt="$opt ${arg:0:2}$size"
|
||||
elif [[ "$size" =~ %$ ]]; then
|
||||
size=${size:0:((${#size}-1))}
|
||||
size=${size:0:((${#size} - 1))}
|
||||
if [[ -n "$swap" ]]; then
|
||||
opt="$opt -p $(( 100 - size ))"
|
||||
opt="$opt -p $((100 - size))"
|
||||
else
|
||||
opt="$opt -p $size"
|
||||
fi
|
||||
@@ -106,7 +108,7 @@ while [[ $# -gt 0 ]]; do
|
||||
else
|
||||
max=$lines
|
||||
fi
|
||||
size=$(( max - size ))
|
||||
size=$((max - size))
|
||||
[[ $size -lt 0 ]] && size=0
|
||||
opt="$opt -l $size"
|
||||
else
|
||||
@@ -152,13 +154,14 @@ fifo1="${TMPDIR:-/tmp}/fzf-fifo1-$id"
|
||||
fifo2="${TMPDIR:-/tmp}/fzf-fifo2-$id"
|
||||
fifo3="${TMPDIR:-/tmp}/fzf-fifo3-$id"
|
||||
if tmux_win_opts=$(tmux show-options -p remain-on-exit \; show-options -p synchronize-panes 2> /dev/null); then
|
||||
tmux_win_opts=( $(sed '/ off/d; s/synchronize-panes/set-option -p synchronize-panes/; s/remain-on-exit/set-option -p remain-on-exit/; s/$/ \\;/' <<< "$tmux_win_opts") )
|
||||
tmux_win_opts=($(sed '/ off/d; s/synchronize-panes/set-option -p synchronize-panes/; s/remain-on-exit/set-option -p remain-on-exit/; s/$/ \\;/' <<< "$tmux_win_opts"))
|
||||
tmux_off_opts='; set-option -p synchronize-panes off ; set-option -p remain-on-exit off'
|
||||
else
|
||||
tmux_win_opts=( $(tmux show-window-options remain-on-exit \; show-window-options synchronize-panes | sed '/ off/d; s/^/set-window-option /; s/$/ \\;/') )
|
||||
tmux_win_opts=($(tmux show-window-options remain-on-exit \; show-window-options synchronize-panes | sed '/ off/d; s/^/set-window-option /; s/$/ \\;/'))
|
||||
tmux_off_opts='; set-window-option synchronize-panes off ; set-window-option remain-on-exit off'
|
||||
fi
|
||||
cleanup() {
|
||||
cleanup()
|
||||
{
|
||||
\rm -f $argsf $fifo1 $fifo2 $fifo3
|
||||
|
||||
# Restore tmux window options
|
||||
@@ -196,7 +199,7 @@ if [[ "$opt" =~ "-E" ]]; then
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
[[ -n "$FZF_DEFAULT_OPTS" ]] && envs="$envs FZF_DEFAULT_OPTS=$(printf %q "$FZF_DEFAULT_OPTS")"
|
||||
[[ -n "$FZF_DEFAULT_OPTS" ]] && envs="$envs FZF_DEFAULT_OPTS=$(printf %q "$FZF_DEFAULT_OPTS")"
|
||||
[[ -n "$FZF_DEFAULT_COMMAND" ]] && envs="$envs FZF_DEFAULT_COMMAND=$(printf %q "$FZF_DEFAULT_COMMAND")"
|
||||
[[ -n "$RUNEWIDTH_EASTASIAN" ]] && envs="$envs RUNEWIDTH_EASTASIAN=$(printf %q "$RUNEWIDTH_EASTASIAN")"
|
||||
[[ -n "$BAT_THEME" ]] && envs="$envs BAT_THEME=$(printf %q "$BAT_THEME")"
|
||||
@@ -236,6 +239,9 @@ fi
|
||||
tmux \
|
||||
split-window -c "$PWD" $opt "bash -c 'exec -a fzf bash $argsf'" $swap \
|
||||
$tmux_off_opts \
|
||||
> /dev/null 2>&1 || { "$fzf" "${args[@]}"; exit $?; }
|
||||
> /dev/null 2>&1 || {
|
||||
"$fzf" "${args[@]}"
|
||||
exit $?
|
||||
}
|
||||
cat $fifo2
|
||||
exit "$(cat $fifo3)"
|
||||
|
||||
@@ -17,6 +17,9 @@ KB=$(tmux list-keys)
|
||||
H="# tmux keybindings\n"
|
||||
L="\n\nLeader: \`<ctrl><space>\`\n\n"
|
||||
|
||||
# Generalize expanded $HOME to "$HOME"
|
||||
KB="${KB//$HOME/\$HOME}"
|
||||
|
||||
msg "Outputting tmux keybindings to $TMUX_KEYBINDINGS_DOCS"
|
||||
echo -e "${H}${L}${CB}${KB}${CB}" > "$TMUX_KEYBINDINGS_DOCS"
|
||||
msg_done "Done!"
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
# Modified by Ismo Vuorinen <https://github.com/ivuorinen> 2023
|
||||
|
||||
# Determine width of terminal
|
||||
hr_col_count="$( (tput cols - 4) )"
|
||||
hr_col_count="$( (tput cols - 4))"
|
||||
if [ -z "${hr_col_count+set}" ] || [ "$hr_col_count" -lt 1 ]; then
|
||||
hr_col_count="${COLUMNS:-80}"
|
||||
hr_col_count="${COLUMNS:-80}"
|
||||
fi
|
||||
|
||||
# Colors
|
||||
@@ -21,20 +21,21 @@ hr_color="${hr_color:=$CLR_RED}"
|
||||
hr_reset="\033[0m"
|
||||
|
||||
# Prints the HR line
|
||||
hr_draw_char() {
|
||||
local CHAR="$1"
|
||||
local LINE=""
|
||||
LINE=$(printf "%*s" "$((hr_col_count - 3))" " ")
|
||||
LINE="${LINE// /${CHAR}}"
|
||||
echo -e "${hr_color}${LINE:0:${hr_col_count}}${hr_reset}"
|
||||
hr_draw_char()
|
||||
{
|
||||
local CHAR="$1"
|
||||
local LINE=""
|
||||
LINE=$(printf "%*s" "$((hr_col_count - 3))" " ")
|
||||
LINE="${LINE// /${CHAR}}"
|
||||
echo -e "${hr_color}${LINE:0:${hr_col_count}}${hr_reset}"
|
||||
}
|
||||
|
||||
# Passes param and calls hr()
|
||||
hr() {
|
||||
for WORD in "${@:--}"; do
|
||||
hr_draw_char "$WORD"
|
||||
done
|
||||
hr()
|
||||
{
|
||||
for WORD in "${@:--}"; do
|
||||
hr_draw_char "$WORD"
|
||||
done
|
||||
}
|
||||
|
||||
hr "$@"
|
||||
|
||||
|
||||
30
scripts/install-cargo-packages.sh
Executable file
30
scripts/install-cargo-packages.sh
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
# Install cargo/rust packages.
|
||||
#
|
||||
# shellcheck source=shared.sh
|
||||
source "$HOME/.dotfiles/scripts/shared.sh"
|
||||
|
||||
! have cargo && {
|
||||
msg "cargo could not be found. installing cargo with rustup.rs"
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
}
|
||||
|
||||
packages=(
|
||||
# a subprocess caching utility
|
||||
"bkt"
|
||||
# a structural diff that understands syntax
|
||||
"difftastic"
|
||||
# A simple, fast and user-friendly alternative to 'find'
|
||||
"fd-find"
|
||||
)
|
||||
|
||||
for pkg in "${packages[@]}"; do
|
||||
# Trim spaces
|
||||
pkg=${pkg// /}
|
||||
# Skip comments
|
||||
if [[ ${pkg:0:1} == "#" ]]; then continue; fi
|
||||
|
||||
cargo install $pkg
|
||||
|
||||
echo ""
|
||||
done
|
||||
@@ -25,4 +25,3 @@ msg "Installing git-crypt"
|
||||
fi
|
||||
}
|
||||
msg_done "Done installing git-crypt"
|
||||
|
||||
|
||||
24
scripts/install-pip-packages.sh
Executable file
24
scripts/install-pip-packages.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# Install python/pip packages.
|
||||
#
|
||||
# shellcheck source=shared.sh
|
||||
source "$HOME/.dotfiles/scripts/shared.sh"
|
||||
|
||||
! have pip && {
|
||||
msg_err "Could not find pip, something really terrible is going on." && exit 1
|
||||
}
|
||||
|
||||
packages=(
|
||||
"libtmux"
|
||||
)
|
||||
|
||||
for pkg in "${packages[@]}"; do
|
||||
# Trim spaces
|
||||
pkg=${pkg// /}
|
||||
# Skip comments
|
||||
if [[ ${pkg:0:1} == "#" ]]; then continue; fi
|
||||
|
||||
python3 -m pip install --user $pkg
|
||||
|
||||
echo ""
|
||||
done
|
||||
@@ -197,11 +197,32 @@ function menu_usage()
|
||||
done
|
||||
}
|
||||
|
||||
# Cache commands using bkt if installed
|
||||
if command -v bkt >&/dev/null; then
|
||||
bkt()
|
||||
{
|
||||
command bkt "$@"
|
||||
}
|
||||
else
|
||||
# If bkt isn't installed skip its arguments and just execute directly.
|
||||
# Optionally write a msg to stderr suggesting users install bkt.
|
||||
bkt()
|
||||
{
|
||||
while [[ "$1" == --* ]]; do shift; done
|
||||
"$@"
|
||||
}
|
||||
fi
|
||||
|
||||
# shorthand for checking if the system has the bin in path.
|
||||
# usage: have php && php -v
|
||||
function have
|
||||
{
|
||||
command -v "$1" >&/dev/null
|
||||
bkt -- command -v "$1" >&/dev/null
|
||||
}
|
||||
|
||||
function brew_installed
|
||||
{
|
||||
bkt -- brew list
|
||||
}
|
||||
|
||||
# shorthand for checking if brew package is installed
|
||||
@@ -210,7 +231,7 @@ function have_brew
|
||||
{
|
||||
! have brew && return 125
|
||||
|
||||
if brew list "$1" &> /dev/null; then
|
||||
if bkt -- brew list "$1" &> /dev/null; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user