Skip to content
This repository has been archived by the owner on Jun 13, 2023. It is now read-only.

caarlos0/dotfiles.fish

Repository files navigation

Deprecated

There's a lot of things you can copy for your dotfiles, but the latest and greatest versions of everything are being kept only here.


header image

carlos' dotfiles

Config files for Fish, Go, Editors, Terminals and more.


Forked from my ZSH dotfiles, these are my Fish Shell config files, together with editor, macOS configs and other goodies.

Installation

Dependencies

First, make sure you have all the following installed:

  • git: to clone the repository
  • curl: to download files
  • tar: to extract downloaded files
  • fish: the shell
  • sudo: some configurations may need that

Install

Then, run these steps:

git clone https://github.com/caarlos0/dotfiles.fish.git ~/.dotfiles
cd ~/.dotfiles
./script/bootstrap.fish

All changed files were backed up with a .backup suffix.

Update

To update, you need to git pull and run the bootstrap script again:

cd ~/.dotfiles
git pull origin master
./script/bootstrap.fish

Revert

Reverting is not totally automated, but it pretty much consists in removing the fish configuration and the .dotfiles folder, as well as moving back some other configuration files:

rm -rf ~/.dotfiles $__fish_config_dir

The bootstrap script created a bunch of symbolic links that are now invalid. You will have to investigate those manually. In cases a file already existed, the script/bootstrap.fish script should have created a .backup file with the same name.

Recommended Software

  • alacritty a cross-platform, OpenGL terminal emulator;
  • bat a cat(1) clone with wings;
  • delta for better git diffs;
  • fd a simple, fast and user-friendly alternative to find;
  • fzf for a fuzzy-finder;
  • gum A tool for glamorous shell scripts;
  • gh for more GitHub integration with the terminal;
  • grc to colorize command's outputs;
  • kitty a cross-platform, fast, feature-rich, GPU based terminal;
  • kubectx for better Kubernetes context and namespaces switch;
  • neovim extensible Vim-based text editor;
  • starship.rs the shell prompt we are using;

To install them all with brew:

brew install \
  alacritty \
  bat \
  exa \
  fd \
  fish \
  fzf \
  gh \
  git-delta \
  grc \
  kitty \
  kubectx \
  neovim \
  starship \
  zoxide

On Ubuntu:

sh -c "$(curl -fsSL https://starship.rs/install.sh)"
sudo apt install fish grc fzf zoxide fd-find exa bat alacritty kitty neovim
# TODO: install delta, kubectx

macOS defaults

You use it by running:

~/.dotfiles/macos/set-defaults.sh

And logging out and in again or restart.

Themes and fonts

Catppuccin Mocha and MonoLisa Font.

Screenshots

neovim with LSP, git signs, etc

CleanShot 2022-10-01 at 20 12 19@2x

neovim telescope

CleanShot 2022-10-01 at 20 12 34@2x

tmux-sessionizer and tmux tabs with icons

CleanShot 2022-10-01 at 20 13 06@2x