├── .gitignore ├── .stow-global-ignore ├── Brewfile ├── README.md ├── alacritty └── .config │ └── alacritty │ ├── alacritty.yml │ ├── dracula.yml │ ├── gruvbox-dark.yml │ └── gruvbox-light.yml ├── bat └── .config │ ├── config │ ├── syntaxes │ └── mdx.sublime-syntax │ └── themes │ ├── Catppuccin-frappe.tmTheme │ ├── Catppuccin-latte.tmTheme │ ├── Catppuccin-macchiato.tmTheme │ └── Catppuccin-mocha.tmTheme ├── bin └── bin │ ├── docker │ ├── docker-buildx │ ├── docker-compose │ ├── docker-credential-osxkeychain │ ├── nnn │ ├── nvima │ ├── orb │ ├── orbctl │ ├── package.json │ ├── tat │ ├── tmux-sessionizer │ ├── zellij-sessionizer │ └── zellij-switch ├── btop └── .config │ └── btop.conf ├── completer.hist ├── demo.gif ├── demo.tape ├── dooit └── .config │ └── config.yaml ├── gh └── .config │ ├── config.yml │ └── hosts.yml ├── github-copilot └── .config │ ├── hosts.json │ ├── terms.json │ └── versions.json ├── hammerspoon └── .hammerspoon │ ├── Spoons │ └── Screenkey.spoon │ │ └── init.lua │ └── init.lua ├── hushlogin └── .hushlogin ├── install.sh ├── kitty └── .config │ └── kitty │ ├── Gruvbox Dark.conf │ ├── Gruvbox Light.conf │ ├── current-theme.conf │ ├── dracula.conf │ ├── generate-symbol-map.js │ ├── kitty.conf │ ├── kitty.conf.bak │ ├── symbol-map-erwin.conf │ ├── symbol-map.conf │ └── test-fonts.sh ├── lazygit └── .config │ └── lazygit │ ├── config.yml │ └── state.yml ├── lf └── .config │ └── lf │ ├── colors │ ├── icons │ ├── lf_kitty_clean │ ├── lf_kitty_preview │ ├── lfcd.sh │ └── lfrc ├── newsboat └── .newsboat │ ├── cache.db │ ├── cache.db.lock │ ├── config │ ├── dark │ ├── history.cmdline │ └── urls ├── nvim └── .config │ └── nvim │ ├── .gitignore │ ├── .neoconf.json │ ├── .nvimlog │ ├── LICENSE │ ├── README.md │ ├── after │ └── queries │ │ ├── python │ │ └── highlights.scm │ │ └── sh │ │ └── highlights.scm │ ├── filetype.lua │ ├── init.lua │ ├── lazy-lock.json │ ├── lua │ ├── config │ │ ├── autocmds.lua │ │ ├── keymaps.lua │ │ ├── lazy.lua │ │ └── options.lua │ └── plugins │ │ ├── alpha.lua │ │ ├── example.lua │ │ ├── files.lua │ │ ├── gist.lua │ │ ├── git.lua │ │ ├── lsp.lua │ │ ├── lualine.lua │ │ ├── noice.lua │ │ ├── notify.lua │ │ ├── octo.lua │ │ ├── oil.lua │ │ ├── statuscol.lua │ │ ├── telescope.lua │ │ ├── terminal.lua │ │ ├── theme.lua │ │ ├── tmux.lua │ │ ├── treesitter.lua │ │ ├── typescript.lua │ │ └── writing.lua │ └── stylua.toml ├── perf.log ├── pistol └── .config │ └── pistol │ └── pistol.conf ├── taskell └── .config │ ├── bindings.ini │ ├── config.ini │ ├── template.md │ └── theme.ini ├── tmux ├── .tmux.conf └── .tmux │ ├── status-right.js │ ├── status-right.sh │ ├── status-square.sh │ ├── theme.sh │ └── watson.sh ├── wezterm └── .config │ └── wezterm │ ├── colors │ └── dracula.toml │ └── wezterm.lua ├── xterm-256color-italic.terminfo ├── zellij └── .config │ ├── config.kdl │ └── nvim.kdl └── zsh ├── .zshenv └── .zshrc /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .netrwhist 3 | .git 4 | packer_compiled.lua 5 | tmux/.tmux/plugins/ 6 | -------------------------------------------------------------------------------- /.stow-global-ignore: -------------------------------------------------------------------------------- 1 | # ~./dotfiles/.stow.local.ignore: Files to be ignored by gnu 'stow' 2 | 3 | .git 4 | .gitignore 5 | .DS_Store 6 | 7 | ^/README.* 8 | 9 | -------------------------------------------------------------------------------- /Brewfile: -------------------------------------------------------------------------------- 1 | brew "stow" 2 | 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # dotfiles 2 | 3 | ======== 4 | 5 | ## Install Brew 6 | 7 | ``` 8 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 9 | ``` 10 | 11 | ## Clone this Repo 12 | 13 | ``` 14 | git clone git@github.com:elijahmanor/dotfiles.git ~/.dotfiles 15 | ``` 16 | 17 | ## List Files 18 | 19 | ``` 20 | tree -a -I '.git|.DS_Store' 21 | ``` 22 | 23 | ## Install Packages 24 | 25 | ``` 26 | brew bundle 27 | ``` 28 | 29 | ### Symlink dotfiles 30 | 31 | ``` 32 | stow bin kitty lazygit nvim tmux wezterm zsh zellij bat lf pistol 33 | ``` 34 | -------------------------------------------------------------------------------- /alacritty/.config/alacritty/dracula.yml: -------------------------------------------------------------------------------- 1 | colors: 2 | primary: 3 | background: '0x282a36' 4 | foreground: '0xf8f8f2' 5 | cursor: 6 | text: CellBackground 7 | cursor: CellForeground 8 | vi_mode_cursor: 9 | text: CellBackground 10 | cursor: CellForeground 11 | search: 12 | matches: 13 | foreground: '0x44475a' 14 | background: '0x50fa7b' 15 | focused_match: 16 | foreground: '0x44475a' 17 | background: '0xffb86c' 18 | bar: 19 | background: '0x282a36' 20 | foreground: '0xf8f8f2' 21 | line_indicator: 22 | foreground: None 23 | background: None 24 | selection: 25 | text: CellForeground 26 | background: '0x44475a' 27 | normal: 28 | black: '0x000000' 29 | red: '0xff5555' 30 | green: '0x50fa7b' 31 | yellow: '0xf1fa8c' 32 | blue: '0xbd93f9' 33 | magenta: '0xff79c6' 34 | cyan: '0x8be9fd' 35 | white: '0xbfbfbf' 36 | bright: 37 | black: '0x4d4d4d' 38 | red: '0xff6e67' 39 | green: '0x5af78e' 40 | yellow: '0xf4f99d' 41 | blue: '0xcaa9fa' 42 | magenta: '0xff92d0' 43 | cyan: '0x9aedfe' 44 | white: '0xe6e6e6' 45 | dim: 46 | black: '0x14151b' 47 | red: '0xff2222' 48 | green: '0x1ef956' 49 | yellow: '0xebf85b' 50 | blue: '0x4d5b86' 51 | magenta: '0xff46b0' 52 | cyan: '0x59dffc' 53 | white: '0xe6e6d1' 54 | -------------------------------------------------------------------------------- /alacritty/.config/alacritty/gruvbox-dark.yml: -------------------------------------------------------------------------------- 1 | # Base16 Gruvbox dark, hard 256 - alacritty color config 2 | # Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) 3 | colors: 4 | # Default colors 5 | primary: 6 | background: '0x1d2021' 7 | foreground: '0xd5c4a1' 8 | 9 | # Colors the cursor will use if `custom_cursor_colors` is true 10 | cursor: 11 | text: '0x1d2021' 12 | cursor: '0xd5c4a1' 13 | 14 | # Normal colors 15 | normal: 16 | black: '0x1d2021' 17 | red: '0xfb4934' 18 | green: '0xb8bb26' 19 | yellow: '0xfabd2f' 20 | blue: '0x83a598' 21 | magenta: '0xd3869b' 22 | cyan: '0x8ec07c' 23 | white: '0xd5c4a1' 24 | 25 | # Bright colors 26 | bright: 27 | black: '0x665c54' 28 | red: '0xfb4934' 29 | green: '0xb8bb26' 30 | yellow: '0xfabd2f' 31 | blue: '0x83a598' 32 | magenta: '0xd3869b' 33 | cyan: '0x8ec07c' 34 | white: '0xfbf1c7' 35 | 36 | indexed_colors: 37 | - { index: 16, color: '0xfe8019' } 38 | - { index: 17, color: '0xd65d0e' } 39 | - { index: 18, color: '0x3c3836' } 40 | - { index: 19, color: '0x504945' } 41 | - { index: 20, color: '0xbdae93' } 42 | - { index: 21, color: '0xebdbb2' } 43 | -------------------------------------------------------------------------------- /alacritty/.config/alacritty/gruvbox-light.yml: -------------------------------------------------------------------------------- 1 | # Base16 Gruvbox light, hard 256 - alacritty color config 2 | # Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) 3 | colors: 4 | # Default colors 5 | primary: 6 | background: '0xf9f5d7' 7 | foreground: '0x504945' 8 | 9 | # Colors the cursor will use if `custom_cursor_colors` is true 10 | cursor: 11 | text: '0xf9f5d7' 12 | cursor: '0x504945' 13 | 14 | # Normal colors 15 | normal: 16 | black: '0xf9f5d7' 17 | red: '0x9d0006' 18 | green: '0x79740e' 19 | yellow: '0xb57614' 20 | blue: '0x076678' 21 | magenta: '0x8f3f71' 22 | cyan: '0x427b58' 23 | white: '0x504945' 24 | 25 | # Bright colors 26 | bright: 27 | black: '0xbdae93' 28 | red: '0x9d0006' 29 | green: '0x79740e' 30 | yellow: '0xb57614' 31 | blue: '0x076678' 32 | magenta: '0x8f3f71' 33 | cyan: '0x427b58' 34 | white: '0x282828' 35 | 36 | indexed_colors: 37 | - { index: 16, color: '0xaf3a03' } 38 | - { index: 17, color: '0xd65d0e' } 39 | - { index: 18, color: '0xebdbb2' } 40 | - { index: 19, color: '0xd5c4a1' } 41 | - { index: 20, color: '0x665c54' } 42 | - { index: 21, color: '0x3c3836' } 43 | -------------------------------------------------------------------------------- /bat/.config/config: -------------------------------------------------------------------------------- 1 | --theme="Catppuccin-frappe" 2 | 3 | -------------------------------------------------------------------------------- /bin/bin/docker: -------------------------------------------------------------------------------- 1 | /Applications/OrbStack.app/Contents/MacOS/xbin/docker -------------------------------------------------------------------------------- /bin/bin/docker-buildx: -------------------------------------------------------------------------------- 1 | /Applications/OrbStack.app/Contents/MacOS/xbin/docker-buildx -------------------------------------------------------------------------------- /bin/bin/docker-compose: -------------------------------------------------------------------------------- 1 | /Applications/OrbStack.app/Contents/MacOS/xbin/docker-compose -------------------------------------------------------------------------------- /bin/bin/docker-credential-osxkeychain: -------------------------------------------------------------------------------- 1 | /Applications/OrbStack.app/Contents/MacOS/xbin/docker-credential-osxkeychain -------------------------------------------------------------------------------- /bin/bin/nnn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elijahmanor/dotfiles/becb603445247727b37c2f66a88ca5d60eeff7fb/bin/bin/nnn -------------------------------------------------------------------------------- /bin/bin/nvima: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | declare -A items=( 4 | [default]=" default" 5 | [kickstart]=" kickstart" 6 | [LazyVim]="💤 LazyVim" 7 | [NvChad]=" NvChad" 8 | [AstroNvim]=" AstroNvim" 9 | ) 10 | 11 | # echo ${items[kickstart]} 12 | # echo ${items[LazyVim]} 13 | # for val in "${items[@]}"; do echo $val; done 14 | # echo "${items[@]}" 15 | # for key in "${!items[@]}"; do echo "$key"; done 16 | # printf "%s\n" "${!items[@]}" 17 | 18 | printf "%s\n" "${!items[@]}" 19 | printf "%s\n" "${items[@]}" 20 | 21 | config=$(printf "%s\n" "${items[@]}" | fzf --with-nth=2.. --prompt=" Neovim Config  " --height=~50% --layout=reverse --border --exit-0) 22 | 23 | echo $config 24 | 25 | # if [[ -z $config ]]; then 26 | # echo "Nothing selected" 27 | # return 0 28 | # elif [[ $config == "default" ]]; then 29 | # config="" 30 | # fi 31 | # 32 | # NVIM_APPNAME=$config nvim $@ 33 | -------------------------------------------------------------------------------- /bin/bin/orb: -------------------------------------------------------------------------------- 1 | /Applications/OrbStack.app/Contents/MacOS/bin/orb -------------------------------------------------------------------------------- /bin/bin/orbctl: -------------------------------------------------------------------------------- 1 | /Applications/OrbStack.app/Contents/MacOS/bin/orbctl -------------------------------------------------------------------------------- /bin/bin/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bin", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC" 12 | } 13 | -------------------------------------------------------------------------------- /bin/bin/tat: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Attach or create tmux session named the same as current directory. 4 | 5 | path_name="$(basename "$PWD" | tr . -)" 6 | session_name=${1-$path_name} 7 | 8 | not_in_tmux() { 9 | [ -z "$TMUX" ] 10 | } 11 | 12 | session_exists() { 13 | tmux has-session -t "=$session_name" 14 | } 15 | 16 | create_detached_session() { 17 | (TMUX='' tmux new-session -Ad -s "$session_name") 18 | } 19 | 20 | create_if_needed_and_attach() { 21 | if not_in_tmux; then 22 | tmux new-session -Ad -s "$session_name" 23 | 24 | tmux rename-window -t "$session_name:1" "editor" 25 | tmux send-keys -t "editor" "vim" C-m 26 | tmux splitw -h -p 35 27 | tmux send-keys -t "editor" "exa --tree -a -I=.git --git-ignore" C-m 28 | tmux selectp -t 1 29 | 30 | tmux new-window -t "$session_name:2" -n "server" 31 | tmux send-keys -t "server" "btop" C-m 32 | 33 | tmux new-window -t "$session_name:3" -n "git" 34 | tmux send-keys -t "git" "lazygit" C-m 35 | 36 | tmux new-window -t "$session_name:4" -n "scratch" 37 | tmux send-keys -t "scratch" "archey" C-m 38 | 39 | tmux attach-session -t "$session_name:1" 40 | else 41 | if ! session_exists; then 42 | create_detached_session 43 | fi 44 | tmux switch-client -t "$session_name:1" 45 | fi 46 | } 47 | 48 | create_if_needed_and_attach 49 | -------------------------------------------------------------------------------- /bin/bin/tmux-sessionizer: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Credit to ThePrimeagen: https://github.com/ThePrimeagen/.dotfiles/blob/master/bin/.local/bin/tmux-sessionizer 4 | 5 | if [[ $# -eq 1 ]]; then 6 | selected=$1 7 | else 8 | selected=$(find ~ ~/github ~/manorism ~/manorisms -mindepth 1 -maxdepth 1 -type d | fzf) 9 | fi 10 | 11 | if [[ -z $selected ]]; then 12 | exit 0 13 | fi 14 | 15 | selected_name=$(basename "$selected" | tr . _) 16 | tmux_running=$(pgrep tmux) 17 | in_tmux=$(echo $TMUX) 18 | 19 | if [[ -z $TMUX ]] && [[ -z $tmux_running ]]; then 20 | tmux new-session -s $selected_name -c $selected 21 | exit 0 22 | fi 23 | 24 | if ! tmux has-session -t $selected_name 2> /dev/null; then 25 | tmux new-session -ds $selected_name -c $selected 26 | fi 27 | 28 | if [[ -z $in_tmux ]]; then 29 | tmux attach-session -t $selected_name 30 | else 31 | tmux switch-client -t $selected_name 32 | fi 33 | -------------------------------------------------------------------------------- /bin/bin/zellij-sessionizer: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Credit to ThePrimeagen: https://github.com/ThePrimeagen/.dotfiles/blob/master/bin/.local/bin/tmux-sessionizer 4 | 5 | if [[ $# -eq 1 ]]; then 6 | selected=$1 7 | else 8 | selected=$(find ~ ~/github ~/manorism ~/manorisms -mindepth 1 -maxdepth 1 -type d | fzf) 9 | fi 10 | 11 | if [[ -z $selected ]]; then 12 | exit 0 13 | fi 14 | 15 | selected_name=$(basename "$selected" | tr . _) 16 | zellij_running=$(pgrep zellij) 17 | in_zellij=$(echo $TMUX) 18 | 19 | if [[ -z $TMUX ]] && [[ -z $tmux_running ]]; then 20 | tmux new-session -s $selected_name -c $selected 21 | exit 0 22 | fi 23 | 24 | if ! tmux has-session -t $selected_name 2> /dev/null; then 25 | tmux new-session -ds $selected_name -c $selected 26 | fi 27 | 28 | if [[ -z $in_tmux ]]; then 29 | tmux attach-session -t $selected_name 30 | else 31 | tmux switch-client -t $selected_name 32 | fi 33 | -------------------------------------------------------------------------------- /bin/bin/zellij-switch: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Required dependencies 4 | # macOS 5 | # https://zellij.dev/ 6 | # https://github.com/ajeetdsouza/zoxide 7 | 8 | if [ "$1" = "-h" ] || [ "$1" == "--help" ]; then 9 | printf "\n" 10 | printf "\033[1m zellij switch - create or switch between zellij sessions \033[0m\n" 11 | printf "\n" 12 | printf "\033[32m Run interactive mode (prompt zellij sessions or zoxide results)\n" 13 | printf "\033[34m zellij-switch\n" 14 | printf "\n" 15 | printf "\033[32m Go to session (matches zellij session, zoxide result, or path)\n" 16 | printf "\033[34m zellij-switch {name}\n" 17 | printf "\n" 18 | printf "\033[32m Show help\n" 19 | printf "\033[34m zellij-switch -h\n" 20 | printf "\033[34m zellij-switch --help\n" 21 | printf "\n" 22 | printf "\033[32m Inspried by\n" 23 | printf "\033[37m https://github.com/joshmedeski/t-smart-tmux-session-manager\n" 24 | printf "\n" 25 | exit 0 26 | fi 27 | 28 | HEADER="Current zellij sessions and zoxide entries" 29 | PROMPT="Pick > " 30 | 31 | in_zellij=$(echo $ZELLIJ) 32 | if [[ ! -z "$in_zellij" ]]; then 33 | # detach when already in zellij 34 | # kitty @ send-text \\x0fd\\n 35 | # kitty @ send-text zellij-switch\\n 36 | osascript <.gif Create a GIF output at the given 5 | # Output .mp4 Create an MP4 output at the given 6 | # Output .webm Create a WebM output at the given 7 | # 8 | # Settings: 9 | # Set FontSize Set the font size of the terminal 10 | # Set FontFamily Set the font family of the terminal 11 | # Set Height Set the height of the terminal 12 | # Set Width Set the width of the terminal 13 | # Set LetterSpacing Set the font letter spacing (tracking) 14 | # Set LineHeight Set the font line height 15 | # Set Theme Set the theme of the terminal (JSON) 16 | # Set Padding Set the padding of the terminal 17 | # Set Framerate Set the framerate of the recording 18 | # Set PlaybackSpeed Set the playback speed of the recording 19 | # 20 | # Sleep: 21 | # Sleep