-
Themes -
Fish Shell -
nvim
- Lazy nvim - Plugin Management
- Harpoon - Buffer navigation
- Undotree - Change history
- nvim Tree - File explorer
- Tree Sitter - Syntax highlight
-
tmux
-
ZShell
-
ASDF
Dependencies:
- Git
- GHQ
- Homebrew
- cURL + wget
- Can get from brew
- Nerdfonts
Steps:
- Create a new SSH key and link it to the github account
- Update your github configuration
git config --global user.name "Gustavo Fao Valvassori"git config --global user.email "[email protected]"git config --global ghq.root "~/dev"
- Clone this repo using GHQ
ghq get [email protected]:faogustavo/dotfiles.git
- Follow next steps to install dependencies
First of all, install :
$ rm -rf ~/.zprofile ~/.zshenv ~/.zshrc ~/.p10k.zsh
$ ln -s ~/dev/github.com/faogustavo/dotfiles/zsh/.zprofile ~/.zprofile
$ ln -s ~/dev/github.com/faogustavo/dotfiles/zsh/.zshenv ~/.zshenv
$ ln -s ~/dev/github.com/faogustavo/dotfiles/zsh/.zshrc ~/.zshrc
$ ln -s ~/dev/github.com/faogustavo/dotfiles/zsh/.p10k.zsh ~/.p10k.zsh$ rm -rf ~/Library/Application\ Support/com.mitchellh.ghostty/config
$ ln -s ~/dev/github.com/faogustavo/dotfiles/ghostty/config ~/Library/Application\ Support/com.mitchellh.ghostty/config$ brew install tmux
$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
$ ln -s ~/dev/github.com/faogustavo/dotfiles/.tmux.conf ~/.tmux.conf
$ tmux # On TMUX press "ctrl+b" and then "shift + i" to install dependencies# Install Mise
$ brew install mise
# Link config file
$ ln -s ~/dev/github.com/faogustavo/dotfiles/mise.config.toml ~/.config/mise/config.toml
# Install from .tool-versions
$ mise install# Install ASDF
$ brew install asdf
# Link config files
$ ln -s ~/dev/github.com/faogustavo/dotfiles/.asdfrc ~/.asdfrc
$ ln -s ~/dev/github.com/faogustavo/dotfiles/.tool-versions ~/.tool-versions
# Add plugins
$ asdf plugin add java https://github.com/halcyon/asdf-java.git
$ asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
$ asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
$ asdf plugin add gradle https://github.com/rfrancis/asdf-gradle.git
$ asdf plugin add maven https://github.com/halcyon/asdf-maven
# Install versions from ~/.tool-versions
$ asdf install
# Check installation
$ asdf currentThis is not needed anymore as the asdf install from previous step already install all
After installed, you need install the plugins, the tools, some dependencies, and set them as the global version:
$ # Java
$ asdf plugin add java https://github.com/halcyon/asdf-java.git
$ asdf install java openjdk-17.0.2
$ asdf set -u java openjdk-17.0.2
$ which java # Check that it's getting version from ASDF
$ java -version # Check if ruby version matches
# Node
$ asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
$ asdf install nodejs 16.20.1
$ asdf set -u nodejs 16.20.1
$ which node # Check that it's getting version from ASDF
$ node -v # Check if ruby version matches
$ npm i -g serve yarn
# Ruby
$ asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
$ asdf install ruby 3.2.2
$ asdf set -u ruby 3.2.2
$ which ruby # Check that it's getting version from ASDF
$ ruby -v # Check if ruby version matches
$ gem install bundler
# Gradle
$ asdf plugin add gradle https://github.com/rfrancis/asdf-gradle.git
$ asdf install gradle 8.14.2
$ asdf set -u gradle 8.14.2
$ gradle -v
# Maven
$ asdf plugin add maven https://github.com/halcyon/asdf-maven
$ asdf install maven 3.9.9
$ asdf set -u maven 3.9.9
$ mvn -v
# Check everything is installed
$ asdf current$ brew install nvim
$ ln -s ~/dev/github.com/faogustavo/dotfiles/.vimrc ~/.vimrc
$ ln -s ~/dev/github.com/faogustavo/dotfiles/nvim ~/.config/nvim
$ nvim # Open NVIM to install librariesTo manage multiple git accounts (Personal and Enterprise), we can use SSH config:
$ ssh-keygen -t rsa # Create poiting to ~/.ssh/id_rsa, not required if previously created
$ ssh-keygen -t rsa # Create pointing to ~/.ssh/id_enterprise
$ ln -s ~/dev/github.com/faogustavo/dotfiles/ssh/config ~/.ssh/config$ brew install fish
$ curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish
$ touch ~/.config/fish/secrets.fish
$ ln -s ~/dev/github.com/faogustavo/dotfiles/fish/config.fish ~/.config/fish/config.fish # Fish can fail to load config file after this if you don't have ASDF installed. Worst case, just comment the first two lines
$ ln -s ~/dev/github.com/faogustavo/dotfiles/fish/theme ~/.local/share/omf/themes/catppuccin-fish
$ wget https://raw.githubusercontent.com/catppuccin/fish/main/themes/Catppuccin%20Latte.theme -O ~/.config/fish/themes/Catppuccin\ Latte.theme
$ fish_config theme save "Catppuccin Latte" # Set color scheme
$ omf theme catppuccin-fish # Set terminal layoutSome utilities to use along with fish:
$ fisher install jethrokuan/z # easy file navigation
$ brew install exa # enable lla/llt* Leader key = C-b
* Navigate between sessions = <leader>s
* Split window horizontal = <leader>h
* Split window vertical = <leader>v
* Maximize/Minimize = <leader>m
* Close split window = <leader>x
* Navigate between split windows = <leader><arrow-key>
* Resize panel size
* Left = <leader>n
* Down = <leader>e
* Up = <leader>i
* Right = <leader>o* Leader key = " " # Space
* Git = <leader>gs
* Open tree navigation = <leader>e
* Navigate open buffers = <leader>C-e
* Navigate windows = C-w C-w
* File Finder = <leader>pf
* Fuzzy Finder = <leader>pf
* List file updates = <leader>u- Create a hotkey window on iTerm to access on all places
- Update iterm to Natural text editting
Profiles > Keys > Key Mapping > Presets
- Install Iterm cappuccin theme
- On iTerm, use Jetbrains Mono font