Warning
This repo is intended to be used for myself... Use at your own risk
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt upgrade
sudo apt update
sudo apt install fish gzip keychain neovim unzip
BINDIR=$HOME/.local/bin sh -c "$(curl -fsLS https://raw.githubusercontent.com/twpayne/chezmoi/master/assets/scripts/install.sh)" -- init --apply https://github.com/xunleii/.dots
To be honest, I recommend NOT using this repository, but building your own fork with your own settings. I created this repository to store my own configuration and settings for my computers; even if it works for me, I don't guarantee it will for you.
Currently, it has been tested for these systems:
Fedora 37 Workstation(no more maintained)- WSL Ubuntu 23.04 on Windows 11 (to be tested on CI)
Note
Since all my dots files are intended to be run in WSL, I removed all configurations for all GUI applications (like Terminator or Kitty). So no dependency on the Windows manager is necessary.
chezmoi - dot files manager
Note
chezmoi
is automatically installed on bootstrap... by chezmoi
itself
chezmoi
is a fantastic dot files manager that I use to bootstrap and maintain all of my settings.
fish shell - a smart and user-friendly command line shell
I use fish
a lot on a daily basis, so it's mandatory to install it.
However, I recommend that you use the latest stable version in order to be totally in line with my settings. For example, on Ubuntu, the fish package is too old for my configuration and you need to install the official PPA (https://launchpad.net/~fish-shell/+archive/ubuntu/release-3).
Everything is explained in their documentation (https://fishshell.com).
asdf - runtime versions manager
Note
asdf
is automatically installed on bootstrap, using chezmoi
externals
To manage certain packages (terraform
, kubectl
, but also python
or golang
), I use asdf
. asdf
is a kind of easily configurable "package manager" which can manage several versions on a single computer. What's more, these versions are automatically managed in a file called .tool-versions
, which allows each project to have different package versions without any problem (for example, I use it to manage several versions of python
depending on the project).
direnv - unclutter your .profile
Note
direnv
is automatically installed on bootstrap, using chezmoi
externals
Like asdf
but for environment variables and "project layout" (sort of preconfigured environment for languages like python
or golang
). It's very practical because I can configure an environment according to where I am.