Skip to content

HammerSpb/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Public repository for my personal dotfiles.

What Is This?

This repository serves as my way to help me setup and maintain my Mac.

🚀 Get Up and Running in 5 Minutes

You can configure your Mac in 5 minutes with these steps:

  1. [Optional] Update OS X to the latest version with the App Store

  2. [Optional] Install Xcode from the App Store, open it and accept the license agreement

  3. Install OS X Command Line Tools

    xcode-select --install
    
  4. Install Homebrew

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  5. Install git, stow, fzf, zoxide, tmux, wget, bat, node, neovim, ripgrep

    brew install git stow fzf zoxide tmux wget bat node neovim ripgre
    
  6. Install JetBrains Mono Nerd font

    brew install font-jetbrains-mono-nerd-font
    
  7. Install Tmux package manager

    git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
    
  8. 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
    
  9. Clone dotfiles to ~/.dotfiles

    git clone https://github.com/HammerSpb/dotfiles .dotfiles
    
    cd ~/.dotfiles
    
    stow .
    
  10. Configure TMUX Launch tmux

    tmux
    

    Press prefix + I (capital i, as in Install) to fetch the plugin.

What you will get

Alacritty

Configured with catppuccin mocha theme

Common Key Bindings

Prefix set to Cmd
prefix + 0 - Reset Zoom
prefix + - - Zoom Out
prefix + + - Zoom In

ZSH

ZSH configured with Powerlevel10k prompt and ZInit plugin manager. It's configured with: zsh-syntax-highlighting, zsh-completions, zsh-autosuggestions, fzf-tab and zoxide

Common Key Bindings

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

Process

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.

TMUX

Configured with catppuccin mocha theme

Common Key bindings

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

Sessions

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.

Panes

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

Windows

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

Useful commands

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

License

The MIT License. Please see the license file for more information.