xunleii / .dots

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Warning

This repo is intended to be used for myself... Use at your own risk

.dots

TLDR;

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

How to use this repository

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)

Packages requirements

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.

LICENSE

WTFLP logo

About

License:Do What The F*ck You Want To Public License


Languages

Language:Shell 94.7%Language:Dockerfile 5.3%