Skip to content

vuon9/dotfiles

Repository files navigation

My Dotfiles

It's for my own use, on 💻 MacOS, mostly for simple setup of my 🧑🏼‍💻 dev environment.

Pre-requisites

Install homebrew and see all packages in ./Brewfile

Clone this repository

git clone https://github.com/vuon9/dotfiles.git

To install softwares

To have the terminal, shell, and command-line tools configured, run the following command:

brew bundle --file=~/path/to/dotfiles/Brewfile

Read more and also this to understand Brewfile usages and tips.

To use dotfiles

After having all softwares installed, can use the dotfiles by symlinking them to the home directory.

# Backup current config
mv ~/.config/fish ~/.config/fish.bak
mv ~/.gitconfig ~/.gitconfig.bak
mv ~/.config/.wezterm.lua ~/.config/.wezterm.lua.bak
mv ~/.config/kitty ~/.config/kitty.bak

# Apply config from this folder as symlink
ln -s /path/to/dotfiles/fish ~/.config/fish
ln -s /path/to/dotfiles/.gitconfig ~/.gitconfig
ln -s /path/to/dotfiles/.wezterm.lua ~/.config/.wezterm.lua
ln -s /path/to/dotfiles/kitty ~/.config/kitty

# Addtional in case using Go
mv ~/.golangci.yml ~/.golangci.yml.bak
ln -s /path/to/dotfiles/.golangci.yml ~/.golangci.yml

Customized CommitMono font

I use CommitMono but I customized it a bit to make it more readable with my personal preference. Can find the font in ./fonts folder.

  1. To install the font, just double click on the font file and click Install Font button.
  2. To use it in editor, terminal, etc. need to set it 'CommitMono-Vng' as the font name.

List of softwares

  • kitty: A cross-platform, fast, feature full, GPU based terminal emulator
  • fish: The friendly interactive shell. The plugins may need to be installed manually:
    • jorgebucaran/fisher: A plugin manager for Fish
    • ilancosman/tide@v6: A modern prompt manager for the Fish shell
    • edc/bass: Make Bash utilities usable in Fish shell
    • jgantunes/fish-gvm: Fish plugin for GVM
    • franciscolourenco/done: Automatically receive notifications when long-running commands finish
    • kenji-miyake/reload.fish: Reload fish shell configuration
  • delta: A syntax-highlighting pager for git diff
  • fd: To search files and directories by name
  • ripgrep: To search files and directories by content
  • fzf: A command-line fuzzy finder
  • wezterm Experimental: A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

Language version management tools

  • nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
  • gvm: Go Version Manager
  • brew-php-switcher: Use alias phpvm to switch between PHP versions installed via Homebrew