Skip to content

bujesse/dev_config

Repository files navigation

How to setup dev_config

  1. Install Dependencies:

    • Terminal emulator
      • windows terminal
      • iterm2
    • Kanagawa theme - check out extras/ for themes for terminal
    • nerd font (operator mono)
  2. Ubuntu setup:

  • sudo apt install fzf libfuse2 exa gcc bat
  • sudo apt-get install -y make build-essential fd-find ripgrep libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev
  • curl https://pyenv.run | bash
    • pyenv install 3.12
    • pyenv virtualenv nvim pyenv activate nvim
    • pip install -r .config/nvim/requrements.txt
  • neovim
    • wget https://github.com/neovim/neovim/releases/download/v0.9.5/nvim.appimage
    • chmod u+x nvim.appimage
    • sudo mv nvim.appimage /usr/local/bin/nvim
  • nvm (check version) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  1. Shell:
  • Install fish
    • Make default shell
      • grep "fish" /etc/shells
      • chsh -s ${which fish}
    • fisher fish package manager
      • fisher update (installs from .config/fish/fish_plugins)
  • OR Install zsh sudo apt install zsh
    • Make default shell
      • chsh -s ${which zsh}
    • ohmyzsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
    • Replace default .zshrc rm .zshrc ln -s dev_config/.zshrc .
    • plugins
      • p10k (replace with repo's p10k config) git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
      • git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
      • git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search
      • git clone https://github.com/joshskidmore/zsh-fzf-history-search ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-fzf-history-search
  • Install tmux
  • Language dependencies:
    • python
      • create nvim virtualenv: python3 -m venv ~/python_envs/nvim
      • activate and install requirements source ~/python_envs/nvim/bin/activate.fish && pip install -r .config/nvim/requirements.txt
    • node via nvm
      • nvm install latest
      • npm i -g neovim
    • Rust
      • Rust tools
        • fd-find better find
          • symlink the binary which is called something else ln -s $(which fdfind) ~/.local/bin/fd
        • ripgrep better grep
        • bat better cat
        • exa better ls
        • zoxide better cd
        • rip better rm
        • watchexec - Executes commands in response to file modifications
          • cargo install watchexec-cli
        • gitui - Blazing terminal-ui for git written in rust
        • procs - A modern replacement for ps written in Rust
        • bottom - Yet another cross-platform graphical process/system monitor.
        • bandwhich - Terminal bandwidth utilization tool
        • dust - A more intuitive version of du
        • grex - A command-line tool and Rust library for generating regular expressions from user-provided test cases
        • git-cliff - A highly customizable Changelog Generator that follows Conventional Commit specifications ⛰️
        • just - Just a command runner
        • gitoxide - An idiomatic, lean, fast & safe pure Rust implementation of Git
        • delta - A syntax-highlighting pager for git, diff, grep, and blame output
  • Other shell tools
    • fzf fuzzy finder for shell and integrates with other tools
    • helix editor nice multi-cursor editing; useful inside neovim
    • lazygit TUI for git interaction
    • zoxide - curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
  1. Desktop: