Public repository for my personal dotfiles.
This repository serves as my way to help me setup and maintain my Mac.
You can configure your Mac in 5 minutes with these steps:
-
[Optional] Update OS X to the latest version with the App Store
-
[Optional] Install Xcode from the App Store, open it and accept the license agreement
-
Install
OS X Command Line Tools
xcode-select --install
-
Install
Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Install
git
,stow
,fzf
,zoxide
,tmux
,wget
,bat
,node
,neovim
,ripgrep
brew install git stow fzf zoxide tmux wget bat node neovim ripgre
-
Install
JetBrains Mono Nerd font
brew install font-jetbrains-mono-nerd-font
-
Install
Tmux package manager
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
-
Install
Alacritty
brew install --cask alacritty
You might see malicious warning. To fix this you can use the following command:
sudo spctl --master-disable
Launch Alacritty again Followed by the following command
sudo spctl --master-enable
-
Clone dotfiles to
~/.dotfiles
git clone https://github.com/HammerSpb/dotfiles .dotfiles
cd ~/.dotfiles
stow .
-
Configure
TMUX
Launch tmuxtmux
Press
prefix
+ I (capital i, as in Install) to fetch the plugin. -
Configure
MacOS
default Run macos_defaults.shsudo chmod +x ./macos_defaults.sh ./macos_defaults.sh
Configured with catppuccin
mocha
theme
Prefix set to Cmd prefix + 0 - Reset Zoom prefix + - - Zoom Out prefix + + - Zoom In
ZSH configured with Powerlevel10k
prompt and ZInit
plugin manager.
It's configured with: zsh-syntax-highlighting
, zsh-completions
, zsh-autosuggestions
, fzf-tab
and zoxide
Prefix set to Cmd Ctrl + r - Reverse search or History search with `fzf` Ctrl + n - Navigate `forward` or `down` Ctrl + p - Navigate `backward` or `up` Ctrl + a or e - Move cursor to beginning/end of command Alt + f or b - Move cursor to previous/next word
Ctrl + l — Clear screen. It’s equivalent to the “clear” command. Ctrl + c — Interrupt/Kill. Use it to send an interrupt signal to the currently running command, effectively terminating its execution. Ctrl + d — Close Current Shell. It’s equivalent to typing “exit” or “logout.” Ctrl + z — Background/Foreground job. It's suspends the currently running foreground job and moves it to the background. You can later bring it back to the foreground using the “fg” command.
Configured with catppuccin
mocha
theme
Prefix set to Ctrl+S prefix + I - Installs new plugins from GitHub and refreshes TMUX environment prefix + U - Updates plugin(s) prefix + alt + u - Remove/uninstall plugins not on the plugin list prefix + : - Enter the command line to type commands. Tab completion is available prefix + ? - View all keybindings. Press Q to exit prefix + ? - List all keybindings
Prefix + :new - new session Prefix + s - list sessions Prefix + $ - name session Prefix + D - Detach from the current session prefix + W - Open a panel to navigate across windows in multiple sessions.
Prefix + | or % - Vertical split Prefix + - or " - Horizontal split Prefix + 1 - Show pane numbers Prefix + o - Swap panes Prefix + z - Toggle pane zoom Prefix + x - Close pane Prefix + { - Move the current pane left Prefix + } - Move the current pane right Prefix + 1 - Show pane numbers, when the numbers show up type the key to goto that pane Prefix + space - toggle between layouts Prefix + + - break pane into window (e.g. to select text by mouse to copy) Prefix + - - restore pane from window Prefix + Arrow Key (Left, Right, Up, Down) - Move between panes
Prefix + c - Create a new window Prefix + w - List windows Prefix + f - find window Prefix + , - Name window Prefix + & - Kill window Prefix + % - Split the window into two panes horizontally Prefix + " - Split the window into two panes vertically Prefix + n or p - Move to the next or previous window Prefix + 0 (1,2...) - Move to a specific window by number
tmux ls - List all tmux sessions tmux new -s name - Create new tmux session with specific `name` tmux a - (or at, or attach) Attach to tmux session tmux a -t name - Attach to tmux specific session tmux kill-session -t name - Kill specific tmux session tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill - Kill all tmux sessions
The MIT License. Please see the license file for more information.