From e2a0c4727f9c601541af86e3b66b116e3866677c Mon Sep 17 00:00:00 2001 From: Ted Kulp Date: Sun, 19 Sep 2021 12:51:14 -0400 Subject: [PATCH] Initial commit with yadm --- .Brewfile | 191 ++++++++++++++ .config/yadm/bootstrap | 25 ++ .gitconfig | 11 + .gitmodules | 3 + .gnupg/gpg-agent.conf##os.Darwin | 3 + .local/share/yadm/archive | Bin 0 -> 3577 bytes .ssh/id_rsa.pub | 1 + .ssh/id_rsa_tedkulp_old.pub | 1 + .tmux | 1 + .tmux.conf.local | 417 +++++++++++++++++++++++++++++++ .zshrc | 110 ++++++++ 11 files changed, 763 insertions(+) create mode 100644 .Brewfile create mode 100755 .config/yadm/bootstrap create mode 100644 .gitconfig create mode 100644 .gitmodules create mode 100644 .gnupg/gpg-agent.conf##os.Darwin create mode 100644 .local/share/yadm/archive create mode 100644 .ssh/id_rsa.pub create mode 100644 .ssh/id_rsa_tedkulp_old.pub create mode 160000 .tmux create mode 100644 .tmux.conf.local create mode 100644 .zshrc diff --git a/.Brewfile b/.Brewfile new file mode 100644 index 0000000..ffb287e --- /dev/null +++ b/.Brewfile @@ -0,0 +1,191 @@ +tap "boltops-tools/software" +tap "cutzenfriend/cmdg" +tap "hmarr/tap" +tap "homebrew/bundle" +tap "homebrew/cask" +tap "homebrew/cask-fonts" +tap "homebrew/cask-versions" +tap "homebrew/core" +tap "osx-cross/arm" +tap "osx-cross/avr" +tap "qmk/qmk" +tap "tsub/s3-edit" +tap "warrensbox/tap" +brew "ack" +brew "amazon-ecs-cli" +brew "antigen" +brew "gdbm" +brew "readline" +brew "xz" +brew "autojump" +brew "automake" +brew "autossh" +brew "libffi" +brew "glib" +brew "cairo" +brew "gobject-introspection" +brew "harfbuzz" +brew "pillow" +brew "aws-google-auth" +brew "awscli" +brew "bash" +brew "bat" +brew "bison" +brew "blueutil" +brew "consul" +brew "coreutils" +brew "ctop" +brew "erlang" +brew "elixir" +brew "emacs" +brew "exa" +brew "expect" +brew "ffmpeg" +brew "ffsend" +brew "findutils" +brew "fish" +brew "fpp" +brew "fzf" +brew "gdk-pixbuf" +brew "gh" +brew "git" +brew "git-extras" +brew "git-plus" +brew "pinentry" +brew "gnupg" +brew "go" +brew "pango" +brew "librsvg" +brew "graphviz" +brew "grep" +brew "grpc" +brew "handbrake" +brew "hasura-cli" +brew "helm" +brew "htop" +brew "hub" +brew "imagemagick" +brew "jq" +brew "kops" +brew "lazygit" +brew "libyaml" +brew "lynx" +brew "markdown" +brew "mas" +brew "mkvtoolnix" +brew "mongosh" +brew "mono" +brew "mosh" +brew "most" +brew "mysql" +brew "mysql@5.7" +brew "n", args: ["HEAD"] +brew "neovim" +brew "nmap" +brew "nnn" +brew "openjdk" +brew "pandoc" +brew "pinentry-mac" +brew "ruby-build" +brew "rbenv" +brew "rclone" +brew "reattach-to-user-namespace" +brew "redis" +brew "ripgrep" +brew "speedtest-cli" +brew "starship" +brew "stow" +brew "teensy_loader_cli" +brew "terraform-ls" +brew "tfenv" +brew "the_platinum_searcher" +brew "the_silver_searcher" +brew "tldr" +brew "tmux" +brew "tmux-xpanes" +brew "tmuxinator" +brew "tmuxinator-completion", link: false +brew "tree" +brew "ttyrec" +brew "urlview" +brew "vault" +brew "vim" +brew "wallpaper" +brew "wget" +brew "yadm" +brew "youtube-dl" +brew "z" +brew "zsh" +brew "zsh-syntax-highlighting" +brew "qmk/qmk/qmk" +brew "tsub/s3-edit/s3-edit" +brew "warrensbox/tap/tfswitch" +cask "1password" +cask "1password-cli" +cask "adobe-creative-cloud" +cask "alfred" +cask "anki" +cask "arduino" +cask "aws-vault" +cask "bartender" +cask "bettertouchtool" +cask "boop" +cask "cyberduck" +cask "daisydisk" +cask "dash" +cask "discord" +cask "docker" +cask "dropbox" +cask "duplicati" +cask "firefox" +cask "fork" +cask "google-chrome" +cask "google-drive-file-stream" +cask "handbrake" +cask "hazel" +cask "imazing" +cask "insomnia" +cask "istat-menus" +cask "iterm2" +cask "keybase" +cask "keycastr" +cask "meld" +cask "microsoft-auto-update" +cask "microsoft-office" +cask "mongodb-compass" +cask "moom" +cask "nextcloud" +cask "ngrok" +cask "notion" +cask "obsidian" +cask "parsec" +cask "phantomjs" +cask "postman" +cask "robo-3t" +cask "secure-pipes" +cask "session-manager-plugin" +cask "simplenote" +cask "slack" +cask "sparkleshare" +cask "spotify" +cask "superduper" +cask "synergy" +cask "telegram" +cask "vagrant" +cask "virtualbox" +cask "virtualbox-extension-pack" +cask "visual-studio-code" +cask "vlc" +cask "whatsapp" +cask "zoomus" +mas "Compressor", id: 424390742 +mas "Craft", id: 1487937127 +mas "Drafts", id: 1435957248 +mas "EOBD-Facile", id: 976630793 +mas "Final Cut Pro", id: 424389933 +mas "Greenshot", id: 1103915944 +mas "Pixelmator", id: 407963104 +mas "Sequel Ace", id: 1518036000 +mas "Todoist", id: 585829637 +mas "WireGuard", id: 1451685025 +mas "Xcode", id: 497799835 diff --git a/.config/yadm/bootstrap b/.config/yadm/bootstrap new file mode 100755 index 0000000..ca2fee7 --- /dev/null +++ b/.config/yadm/bootstrap @@ -0,0 +1,25 @@ +#!/bin/bash + +cd $HOME + +echo "Init submodules" +yadm submodule update --recursive --init + +if [ ! -f "$HOME/.tmux.conf" ]; then + ln -s -f .tmux/.tmux.conf +fi + +if [ "$system_type" = "Darwin" ]; then + + # install homebrew if it's missing + if ! command -v brew >/dev/null 2>&1; then + echo "Installing homebrew" + /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" + fi + + if [ -f "$HOME/.Brewfile" ]; then + echo "Updating homebrew bundle" + brew bundle --global + fi +fi + diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..9c66cf1 --- /dev/null +++ b/.gitconfig @@ -0,0 +1,11 @@ +[user] + name = Ted Kulp + email = ted@tedkulp.com + gmail = tedkulp@gmail.com + signingKey = AE6B007E2FAB1C94319C7C09FD56BE79CDAE7895 +[commit] + gpgsign = true +[credential] + helper = osxkeychain +[pull] + rebase = false diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b8301f7 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule ".tmux"] + path = .tmux + url = https://github.com/gpakosz/.tmux.git diff --git a/.gnupg/gpg-agent.conf##os.Darwin b/.gnupg/gpg-agent.conf##os.Darwin new file mode 100644 index 0000000..da68606 --- /dev/null +++ b/.gnupg/gpg-agent.conf##os.Darwin @@ -0,0 +1,3 @@ +pinentry-program /usr/local/bin/pinentry-mac +default-cache-ttl 86400 +max-cache-ttl 86400 diff --git a/.local/share/yadm/archive b/.local/share/yadm/archive new file mode 100644 index 0000000000000000000000000000000000000000..8752b80db4efce26c4aaf640a405ab97c144d8a1 GIT binary patch literal 3577 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 literal 0 HcmV?d00001 diff --git a/.ssh/id_rsa.pub b/.ssh/id_rsa.pub new file mode 100644 index 0000000..bc35a11 --- /dev/null +++ b/.ssh/id_rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC7koPFNYbvg2ZHbCJaTmcxl32Ci/aJFLSTgoZ3rUCPa/AwhQVWM5IftbVLtGdBNnqxQ3uhXgyFyCsHSAz8ibxoWFcbh9xSIaikoJwxs1Uql128ffwCBtR20aBRc9VZ00wibnJt4nfWmaZbaENAFCdr0X2rR3/NjI/PBASVFw9ek9XjV9k4ElW+w7Z+zAy6E3z9UEX//lV8hGrDoadV0FdiJB201p1BOxz6fHarDbZrilxHAL+0+jWhxrGM5KYEFHJVen8Pm1vYrhZNb3tdGZv0Q+tuUzT7KvlxNge0/OjYqAG9bofc00F0FO2R6xx8TrAqhj8Ky8YkaDLxW8HTDIMEae95NZ+QrQLXi9qH4psFVHIr9vtByIkvfvoNGGARiP16VaclvAZh6Pmn0gf/w/xbKi6ADeHcqmGd2Z7s8rzKrPPVOBXgGYK0shpfkjypsTfEx4n5gRzzTHe8snwGyV5MnK3OGFCD56SrEBqLcwcyfJ0gt5T0kfB5v5VHeACT4kWpljm9z9oRHs4yLK0A4tHHUGrzTIRT++FvcqyUw4YWLRom/L6gZ9VD8QKSq1wJysjLpSkIPBKprs/JKl1cFCzYTcJ3cWFUWfkZhpVBY2GzL3b1U3Ixsp84QjYFnMUxKXa5CjOeslgPmAevXVAc4VmdtLTkDnITKEVNwSnXVnXGvQ== ted@tedkulp.com diff --git a/.ssh/id_rsa_tedkulp_old.pub b/.ssh/id_rsa_tedkulp_old.pub new file mode 100644 index 0000000..c7496d3 --- /dev/null +++ b/.ssh/id_rsa_tedkulp_old.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAwJYt2IQ+tOno17PFwFLMsG3P7CCucbd9f1pgLMoeCZOkPZE+2fXcmbsSFNX7GlIFm7IGZcwbuuh+19J4dfnVH1YEWo/vvvu1BoLRbEYWjG5qbAsbWoMzjWj1yI1VWqTXUhX3EIkfK/PG90nppJfNbtzWxTV1vMzrLt5qNFhEgk0= tedkulp@hooper.intranet.notss.com diff --git a/.tmux b/.tmux new file mode 160000 index 0000000..a97e302 --- /dev/null +++ b/.tmux @@ -0,0 +1 @@ +Subproject commit a97e3021cca1f8220cdf906233e1aef0bda044f5 diff --git a/.tmux.conf.local b/.tmux.conf.local new file mode 100644 index 0000000..f1e122e --- /dev/null +++ b/.tmux.conf.local @@ -0,0 +1,417 @@ +# : << EOF +# https://github.com/gpakosz/.tmux +# (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license, +# without any warranty. +# Copyright 2012— Gregory Pakosz (@gpakosz). + + +# -- navigation ---------------------------------------------------------------- + +# if you're running tmux within iTerm2 +# - and tmux is 1.9 or 1.9a +# - and iTerm2 is configured to let option key act as +Esc +# - and iTerm2 is configured to send [1;9A -> [1;9D for option + arrow keys +# then uncomment the following line to make Meta + arrow keys mapping work +#set -ga terminal-overrides "*:kUP3=\e[1;9A,*:kDN3=\e[1;9B,*:kRIT3=\e[1;9C,*:kLFT3=\e[1;9D" + + +# -- windows & pane creation --------------------------------------------------- + +# new window retains current path, possible values are: +# - true +# - false (default) +tmux_conf_new_window_retain_current_path=false + +# new pane retains current path, possible values are: +# - true (default) +# - false +tmux_conf_new_pane_retain_current_path=true + +# new pane tries to reconnect ssh sessions (experimental), possible values are: +# - true +# - false (default) +tmux_conf_new_pane_reconnect_ssh=false + +# prompt for session name when creating a new session, possible values are: +# - true +# - false (default) +tmux_conf_new_session_prompt=false + + +# -- display ------------------------------------------------------------------- + +# RGB 24-bit colour support (tmux >= 2.2), possible values are: +# - true +# - false (default) +tmux_conf_24b_colour=true + +# default theme +tmux_conf_theme_colour_1="#080808" # dark gray +tmux_conf_theme_colour_2="#303030" # gray +tmux_conf_theme_colour_3="#8a8a8a" # light gray +tmux_conf_theme_colour_4="#00afff" # light blue +tmux_conf_theme_colour_5="#ffff00" # yellow +tmux_conf_theme_colour_6="#080808" # dark gray +tmux_conf_theme_colour_7="#e4e4e4" # white +tmux_conf_theme_colour_8="#080808" # dark gray +tmux_conf_theme_colour_9="#ffff00" # yellow +tmux_conf_theme_colour_10="#ff00af" # pink +tmux_conf_theme_colour_11="#5fff00" # green +tmux_conf_theme_colour_12="#8a8a8a" # light gray +tmux_conf_theme_colour_13="#e4e4e4" # white +tmux_conf_theme_colour_14="#080808" # dark gray +tmux_conf_theme_colour_15="#080808" # dark gray +tmux_conf_theme_colour_16="#d70000" # red +tmux_conf_theme_colour_17="#e4e4e4" # white + +# default theme (ansi) +#tmux_conf_theme_colour_1="colour0" +#tmux_conf_theme_colour_2="colour8" +#tmux_conf_theme_colour_3="colour8" +#tmux_conf_theme_colour_4="colour14" +#tmux_conf_theme_colour_5="colour11" +#tmux_conf_theme_colour_6="colour0" +#tmux_conf_theme_colour_7="colour15" +#tmux_conf_theme_colour_8="colour0" +#tmux_conf_theme_colour_9="colour11" +#tmux_conf_theme_colour_10="colour13" +#tmux_conf_theme_colour_11="colour10" +#tmux_conf_theme_colour_12="colour8" +#tmux_conf_theme_colour_13="colour15" +#tmux_conf_theme_colour_14="colour0" +#tmux_conf_theme_colour_15="colour0" +#tmux_conf_theme_colour_16="colour1" +#tmux_conf_theme_colour_17="colour15" + +# window style +tmux_conf_theme_window_fg="default" +tmux_conf_theme_window_bg="default" + +# highlight focused pane (tmux >= 2.1), possible values are: +# - true +# - false (default) +tmux_conf_theme_highlight_focused_pane=true + +# focused pane colours: +tmux_conf_theme_focused_pane_bg="$tmux_conf_theme_colour_1" + +# pane border style, possible values are: +# - thin (default) +# - fat +tmux_conf_theme_pane_border_style=thin + +# pane borders colours: +tmux_conf_theme_pane_border="$tmux_conf_theme_colour_2" +tmux_conf_theme_pane_active_border="$tmux_conf_theme_colour_4" + +# pane indicator colours (when you hit + q) +tmux_conf_theme_pane_indicator="$tmux_conf_theme_colour_4" +tmux_conf_theme_pane_active_indicator="$tmux_conf_theme_colour_4" + +# status line style +tmux_conf_theme_message_fg="$tmux_conf_theme_colour_1" +tmux_conf_theme_message_bg="$tmux_conf_theme_colour_5" +tmux_conf_theme_message_attr="bold" + +# status line command style ( : Escape) +tmux_conf_theme_message_command_fg="$tmux_conf_theme_colour_5" +tmux_conf_theme_message_command_bg="$tmux_conf_theme_colour_1" +tmux_conf_theme_message_command_attr="bold" + +# window modes style +tmux_conf_theme_mode_fg="$tmux_conf_theme_colour_1" +tmux_conf_theme_mode_bg="$tmux_conf_theme_colour_5" +tmux_conf_theme_mode_attr="bold" + +# status line style +tmux_conf_theme_status_fg="$tmux_conf_theme_colour_3" +tmux_conf_theme_status_bg="$tmux_conf_theme_colour_1" +tmux_conf_theme_status_attr="none" + +# terminal title +# - built-in variables are: +# - #{circled_window_index} +# - #{circled_session_name} +# - #{hostname} +# - #{hostname_ssh} +# - #{hostname_full} +# - #{hostname_full_ssh} +# - #{username} +# - #{username_ssh} +tmux_conf_theme_terminal_title="#h ❐ #S ● #I #W" + +# window status style +# - built-in variables are: +# - #{circled_window_index} +# - #{circled_session_name} +# - #{hostname} +# - #{hostname_ssh} +# - #{hostname_full} +# - #{hostname_full_ssh} +# - #{username} +# - #{username_ssh} +tmux_conf_theme_window_status_fg="$tmux_conf_theme_colour_3" +tmux_conf_theme_window_status_bg="$tmux_conf_theme_colour_1" +tmux_conf_theme_window_status_attr="none" +tmux_conf_theme_window_status_format="#I #W" +#tmux_conf_theme_window_status_format="#{circled_window_index} #W" +#tmux_conf_theme_window_status_format="#I #W#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}" + +# window current status style +# - built-in variables are: +# - #{circled_window_index} +# - #{circled_session_name} +# - #{hostname} +# - #{hostname_ssh} +# - #{hostname_full} +# - #{hostname_full_ssh} +# - #{username} +# - #{username_ssh} +tmux_conf_theme_window_status_current_fg="$tmux_conf_theme_colour_1" +tmux_conf_theme_window_status_current_bg="$tmux_conf_theme_colour_4" +tmux_conf_theme_window_status_current_attr="bold" +tmux_conf_theme_window_status_current_format="#I #W" +#tmux_conf_theme_window_status_current_format="#{circled_window_index} #W" +#tmux_conf_theme_window_status_current_format="#I #W#{?window_zoomed_flag,🔍,}" + +# window activity status style +tmux_conf_theme_window_status_activity_fg="default" +tmux_conf_theme_window_status_activity_bg="default" +tmux_conf_theme_window_status_activity_attr="underscore" + +# window bell status style +tmux_conf_theme_window_status_bell_fg="$tmux_conf_theme_colour_5" +tmux_conf_theme_window_status_bell_bg="default" +tmux_conf_theme_window_status_bell_attr="blink,bold" + +# window last status style +tmux_conf_theme_window_status_last_fg="$tmux_conf_theme_colour_4" +tmux_conf_theme_window_status_last_bg="$tmux_conf_theme_colour_2" +tmux_conf_theme_window_status_last_attr="none" + +# status left/right sections separators +#tmux_conf_theme_left_separator_main="" +#tmux_conf_theme_left_separator_sub="|" +#tmux_conf_theme_right_separator_main="" +#tmux_conf_theme_right_separator_sub="|" +tmux_conf_theme_left_separator_main="\uE0B0" # /!\ you don't need to install Powerline +tmux_conf_theme_left_separator_sub="\uE0B1" # you only need fonts patched with +tmux_conf_theme_right_separator_main="\uE0B2" # Powerline symbols or the standalone +tmux_conf_theme_right_separator_sub="\uE0B3" # PowerlineSymbols.otf font, see README.md + +# status left/right content: +# - separate main sections with "|" +# - separate subsections with "," +# - built-in variables are: +# - #{battery_bar} +# - #{battery_hbar} +# - #{battery_percentage} +# - #{battery_status} +# - #{battery_vbar} +# - #{circled_session_name} +# - #{hostname_ssh} +# - #{hostname} +# - #{hostname_full} +# - #{hostname_full_ssh} +# - #{loadavg} +# - #{mouse} +# - #{pairing} +# - #{prefix} +# - #{root} +# - #{synchronized} +# - #{uptime_y} +# - #{uptime_d} (modulo 365 when #{uptime_y} is used) +# - #{uptime_h} +# - #{uptime_m} +# - #{uptime_s} +# - #{username} +# - #{username_ssh} +tmux_conf_theme_status_left=" ❐ #S | ↑#{?uptime_y, #{uptime_y}y,}#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} " +tmux_conf_theme_status_right=" #{prefix}#{mouse}#{pairing}#{synchronized}#{?battery_status,#{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} , %R , %d %b | #{username}#{root} | #{hostname} " + +# status left style +tmux_conf_theme_status_left_fg="$tmux_conf_theme_colour_6,$tmux_conf_theme_colour_7,$tmux_conf_theme_colour_8" +tmux_conf_theme_status_left_bg="$tmux_conf_theme_colour_9,$tmux_conf_theme_colour_10,$tmux_conf_theme_colour_11" +tmux_conf_theme_status_left_attr="bold,none,none" + +# status right style +tmux_conf_theme_status_right_fg="$tmux_conf_theme_colour_12,$tmux_conf_theme_colour_13,$tmux_conf_theme_colour_14" +tmux_conf_theme_status_right_bg="$tmux_conf_theme_colour_15,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_17" +tmux_conf_theme_status_right_attr="none,none,bold" + +# pairing indicator +tmux_conf_theme_pairing="⚇" # U+2687 +tmux_conf_theme_pairing_fg="none" +tmux_conf_theme_pairing_bg="none" +tmux_conf_theme_pairing_attr="none" + +# prefix indicator +tmux_conf_theme_prefix="⌨" # U+2328 +tmux_conf_theme_prefix_fg="none" +tmux_conf_theme_prefix_bg="none" +tmux_conf_theme_prefix_attr="none" + +# mouse indicator +tmux_conf_theme_mouse="↗" # U+2197 +tmux_conf_theme_mouse_fg="none" +tmux_conf_theme_mouse_bg="none" +tmux_conf_theme_mouse_attr="none" + +# root indicator +tmux_conf_theme_root="!" +tmux_conf_theme_root_fg="none" +tmux_conf_theme_root_bg="none" +tmux_conf_theme_root_attr="bold,blink" + +# synchronized indicator +tmux_conf_theme_synchronized="⚏" # U+268F +tmux_conf_theme_synchronized_fg="red" +tmux_conf_theme_synchronized_bg="none" +tmux_conf_theme_synchronized_attr="none" + +# battery bar symbols +#tmux_conf_battery_bar_symbol_full="◼" +#tmux_conf_battery_bar_symbol_empty="◻" +tmux_conf_battery_bar_symbol_full="♥" +tmux_conf_battery_bar_symbol_empty="·" + +# battery bar length (in number of symbols), possible values are: +# - auto +# - a number, e.g. 5 +tmux_conf_battery_bar_length="auto" + +# battery bar palette, possible values are: +# - gradient (default) +# - heat +# - "colour_full_fg,colour_empty_fg,colour_bg" +tmux_conf_battery_bar_palette="gradient" +#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black + +# battery hbar palette, possible values are: +# - gradient (default) +# - heat +# - "colour_low,colour_half,colour_full" +tmux_conf_battery_hbar_palette="gradient" +#tmux_conf_battery_hbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green + +# battery vbar palette, possible values are: +# - gradient (default) +# - heat +# - "colour_low,colour_half,colour_full" +tmux_conf_battery_vbar_palette="gradient" +#tmux_conf_battery_vbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green + +# symbols used to indicate whether battery is charging or discharging +#tmux_conf_battery_status_charging="↑" # U+2191 +#tmux_conf_battery_status_discharging="↓" # U+2193 +tmux_conf_battery_status_charging="🔌" # U+1F50C +tmux_conf_battery_status_discharging="🔋" # U+1F50B + +# clock style (when you hit + t) +# you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right +tmux_conf_theme_clock_colour="$tmux_conf_theme_colour_4" +tmux_conf_theme_clock_style="24" + + +# -- clipboard ----------------------------------------------------------------- + +# in copy mode, copying selection also copies to the OS clipboard +# - true +# - false (default) +# on macOS, this requires installing reattach-to-user-namespace, see README.md +# on Linux, this requires xsel or xclip +tmux_conf_copy_to_os_clipboard=true + + +# -- user customizations ------------------------------------------------------- +# this is the place to override or undo settings + +# increase history size +set -g history-limit 10000 + +# start with mouse mode enabled +# set -g mouse on + +# force Vi mode +# really you should export VISUAL or EDITOR environment variable, see manual +set -g status-keys vi +set -g mode-keys vi + +# replace C-b by C-a instead of using both prefixes +set -gu prefix2 +unbind C-a +unbind C-b +set -g prefix C-a +bind C-a send-prefix + +# move status line to top +#set -g status-position top + +# -- tpm ----------------------------------------------------------------------- + +# while I don't use tpm myself, many people requested official support so here +# is a seamless integration that automatically installs plugins in parallel + +# whenever a plugin introduces a variable to be used in 'status-left' or +# 'status-right', you can use it in 'tmux_conf_theme_status_left' and +# 'tmux_conf_theme_status_right' variables. + +# by default, launching tmux will update tpm and all plugins +# - true (default) +# - false +tmux_conf_update_plugins_on_launch=true + +# by default, reloading the configuration will update tpm and all plugins +# - true (default) +# - false +tmux_conf_update_plugins_on_reload=true + +# /!\ do not add set -g @plugin 'tmux-plugins/tpm' +# /!\ do not add run '~/.tmux/plugins/tpm/tpm' + +# to enable a plugin, use the 'set -g @plugin' syntax: +# visit https://github.com/tmux-plugins for available plugins +#set -g @plugin 'tmux-plugins/tmux-copycat' +set -g @plugin 'tmux-plugins/tmux-cpu' +#set -g @plugin 'tmux-plugins/tmux-resurrect' +#set -g @plugin 'tmux-plugins/tmux-continuum' +set -g @plugin 'tmux-plugins/tmux-urlview' +#set -g @continuum-restore 'on' + + +# -- custom variables ---------------------------------------------------------- + +# to define a custom #{foo} variable, define a POSIX shell function between the +# '# EOF' and the '# "$@"' lines. Please note that the opening brace { character +# must be on the same line as the function name otherwise the parse won't detect +# it. +# +# then, use #{foo} in e.g. the 'tmux_conf_theme_status_left' or the +# 'tmux_conf_theme_status_right' variables. + +# # /!\ do not remove the following line +# EOF +# +# weather() { +# curl -m 1 wttr.in?format=3 2>/dev/null +# sleep 900 # sleep for 15 minutes, throttle network requests whatever the value of status-interval +# } +# +# online() { +# ping -c 1 1.1.1.1 >/dev/null 2>&1 && printf '✔' || printf '✘' +# } +# +# "$@" +# # /!\ do not remove the previous line +bind-key e set-window-option synchronize-panes\; display-message "synchronize-panes is now #{?pane_synchronized,on,off}" + +bind -T root F12 \ + set prefix None \;\ + set key-table off \;\ + if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\ + refresh-client -S \;\ + +bind -T off F12 \ + set -u prefix \;\ + set -u key-table \;\ + refresh-client -S diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..c525782 --- /dev/null +++ b/.zshrc @@ -0,0 +1,110 @@ +ZSH_DISABLE_COMPFIX=true +setopt HIST_IGNORE_SPACE +# If you come from bash you might have to change your $PATH. +# export PATH=$HOME/bin:/usr/local/bin:$PATH + +# Path to your oh-my-zsh installation. +export ZSH="$HOME/.oh-my-zsh" + +# Set name of the theme to load --- if set to "random", it will +# load a random theme each time oh-my-zsh is loaded, in which case, +# to know which specific one was loaded, run: echo $RANDOM_THEME +# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes +# ZSH_THEME="robbyrussell" +ZSH_THEME="cobalt2" + +# Set list of themes to pick from when loading at random +# Setting this variable when ZSH_THEME=random will cause zsh to load +# a theme from this variable instead of looking in $ZSH/themes/ +# If set to an empty array, this variable will have no effect. +# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) + +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" + +# Uncomment the following line to use hyphen-insensitive completion. +# Case-sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" + +# Uncomment the following line to disable bi-weekly auto-update checks. +# DISABLE_AUTO_UPDATE="true" + +# Uncomment the following line to automatically update without prompting. +# DISABLE_UPDATE_PROMPT="true" + +# Uncomment the following line to change how often to auto-update (in days). +# export UPDATE_ZSH_DAYS=13 + +# Uncomment the following line if pasting URLs and other text is messed up. +# DISABLE_MAGIC_FUNCTIONS="true" + +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" + +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# You can set one of the optional three formats: +# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# or set a custom format using the strftime function format specifications, +# see 'man strftime' for details. +# HIST_STAMPS="mm/dd/yyyy" + +# Would you like to use another custom folder than $ZSH/custom? +if [ -d "$HOME/.oh-my-zsh" ]; then + ZSH_CUSTOM=$HOME/.config/zsh +fi + +# Which plugins would you like to load? +# Standard plugins can be found in $ZSH/plugins/ +# Custom plugins may be added to $ZSH_CUSTOM/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +plugins=(vi-mode git autojump fzf aws vscode zsh-syntax-highlighting sudo dash zsh-z) + +source $ZSH/oh-my-zsh.sh + +# User configuration + +# export MANPATH="/usr/local/man:$MANPATH" + +# You may need to manually set your language environment +# export LANG=en_US.UTF-8 + +# Preferred editor for local and remote sessions +# if [[ -n $SSH_CONNECTION ]]; then +# export EDITOR='vim' +# else +# export EDITOR='mvim' +# fi + +# Compilation flags +# export ARCHFLAGS="-arch x86_64" + +# Set personal aliases, overriding those provided by oh-my-zsh libs, +# plugins, and themes. Aliases can be placed here, though oh-my-zsh +# users are encouraged to define aliases within the ZSH_CUSTOM folder. +# For a full list of active aliases, run `alias`. +# +# Example aliases +# alias zshconfig="mate ~/.zshrc" +# alias ohmyzsh="mate ~/.oh-my-zsh" + +# tabtab source for packages +# uninstall by removing these lines +# [ -f ~/.config/tabtab/__tabtab.fish ]; and . ~/.config/tabtab/__tabtab.fish; or true + +source <("/usr/local/bin/starship" init zsh --print-full-init)