These are my current dotfile configurations that I use for my work with Linux, and sometimes windows. If you would like to just use my Neovim config, here is a guide for that.
Git Configuration
Assuming you are starting from a brand new system you will need to configure git for this guide.
SSH Configuration
I prefer to use SSH to handle my git transactions, its more secure since I use 2FA, and I don’t want to keep inputting my password every time.
Dotfiles Configuration
We can now install the dotfiles. Right now this is Linux and MacOS specific, until I setup a proper windows support.
Requirements (Linux & MacOS)
You will need the following before installing.
GNU Stow
Check with:
stow -vIf not then install with your package manager.
Zsh
You can find instructions here.
If not then install with your package manager. Don’t change your default shell yet. If you have a .zshrc file already, move or remove it for now.
Rust
You probably don’t have this installed but its easy as running this command:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shThen install the following crates:
cargo install sccache --locked
cargo install starship --locked
cargo install ripgrep
cargo install eza
cargo install zoxide
cargo install fd-find
cargo install bat
cargo install bacon --lockedNote: You may also use
cargo binstallto download compiled binaries you can find more info here
FZF
You can find it here.
TMUX
You can find it here.
Also run this command to install the plugin manager:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpmAfter you install the dotfiles, run tmux and press prefix + I
In my case prefix is bound to C-b
Neovim
You can find it here.
A NerdFont
You can use any font here. I use ProFont
Install Dotfiles
Now that you have installed the pre-requisites, you may run the following command to put the dotfiles repo in ~/.dotfiles
git clone --recurse-submodules git@github.com:RestedWicked/.dotfiles.git ~/.dotfilesCD into it and run:
./server.shThis script will automatically symlink all the folders into their correct positions. If you have folders in those positions the symlink will fail, you will have to move or remove those folders first, and then retry the command.
Now you can set Zsh as your default shell.
chsh -s $(which zsh)
# if you use fedora run this instead
sudo lchsh $USERInstall Oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install Plugins
# Autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# Syntax Highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# Fast Syntax Highlighting
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting
If installing oh-my-zsh replaces the .zshrc you can just move the .zshrc.pre-oh-my-zsh back to .zshrc
Extras
These are optional.
Install Node Version Manager
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bashInstall Node
nvm install 18.14.0