Skip to content

My personal dotfiles, synced between Linux and MacOS

Notifications You must be signed in to change notification settings

sudopseudocode/dotfiles

Repository files navigation

How to set up entire environment

Platform Agnostic Install

  1. Run platform specific steps first, then continue here!

  2. Install git, if that's not included in the distro

  3. Setup git config

    git config --global user.name "Paul DiLoreto"
    git config --global user.email "[email protected]"
    
  4. Symlink platform-agnostic dotfiles

    mkdir ~/.config
    stow -v -R -t $HOME multi-platform
    
  5. Setup ~/.zshrc to be:

source $HOME/.config/zsh/.zshrc
# Replace with actual API key
export OPENAI_API_KEY=XXXXX
  1. Set zsh as default shell

    chsh -s $(which zsh)
    
  2. Install starship

    sh -c "$(curl -fsSL https://starship.rs/install.sh)"
    
  3. Install language runtimes

    brew install golang
    

    Follow Rust installation instructions

  4. Install NVM

    Follow installation instructions for nvm

    Set/install default version of node to LTS:

    nvm install 'lts/*'
    nvm alias default 'lts/*'
    

    Lastly, install some global NPM packages:

    npm i -g yarn neovim
    
  5. Install tmux plugin manager

    git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm
    
  6. Install Neovim dependencies

    pip3 install neovim
    

    Image.nvim Dependencies

    # Ubuntu
    sudo apt install libmagickwand-dev
    
    # MacOS
    brew install imagemagick
    brew install jstkdng/programs/ueberzugpp
    # See https://github.com/3rd/image.nvim/issues/91#issuecomment-2417623824
    brew install pkgconfig
    

    Other:

    # Ubuntu
    apt-get install \
        cmake \
        python3-venv \
        python3-neovim
    
    # MacOS
    brew install cmake
    

    Open nvim and run :Lazy

  7. Open Tmux and install tmux plugins (<prefix> + I)

  8. Download NERD fonts

Patched fonts

  • Alacritty.yml/Kitty.conf uses FiraCode Nerd Font Mono
  • FiraCode Nerd Font Mono
  • Add font manually for Mac installations
# Linux
mkdir -p ~/.local/share/fonts
wget -P "$HOME/.local/share/fonts" $LINK_TO_FONT

Mac Install

  1. Install Homebrew

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    

    Then run caveat command so that brew is in the $PATH. Once we symlink the .zprofile, this will happen automatically.

  2. Install common tools

    brew update && brew upgrade
    brew install \
       kitty \
       coreutils \
       trash \
       tmux \
       neovim \
       ripgrep \
       stow \
       fzf \
       zoxide
    
  3. Install various taps

    brew tap homebrew/command-not-found
    

    Aerospace:

    brew install --cask nikitabobko/tap/aerospace
    # Nice to have
    defaults write -g NSWindowShouldDragOnGesture -bool true
    

    JankyBorders (used in aerospace.toml)

    brew tap FelixKratz/formulae
    brew install borders
    
  4. Install Copilot

    CLI:

    brew install gh
    

    Follow Github CLI install instructions

  5. Symlink Mac dotfiles

    stow -v -R -t $HOME mac-specific
    

Linux Install (Debian/Ubuntu)

  1. Add custom repositories

    add-apt-repository ppa:neovim-ppa/unstable
    apt update && apt upgrade -y
    apt-get update && apt-get upgrade -y
    
  2. Install tools

    apt-get install \
       neovim \
       kitty \
       zsh \
       tmux \
       ripgrep \
       stow \
       fzf \
    
  3. Symlink Linux specific dotfiles

    stow -v -R -t $HOME linux-specific
    

About

My personal dotfiles, synced between Linux and MacOS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published