Every time I set up a new machine, obviously none of the tools and configurations I need are available. Reinstalling the same software suite repeatedly is frustrating, and managing the corresponding configurations is even worse.
This repository addresses these issues by centralizing everything at one place, and allows for a fast deployment and maintenance of the configuration, thanks to Chezmoi.
-
Works on your favorite platform, with or without a GUI.
Can be used on a headless server, within your favorite desktop environment, or shipped with dwm. -
Documented config files and tool scope in the relevant directories.
-
Comes with a default sensible home folder directories specification.
Simply remove the empty directories under thishome/'s folder before applying the procedure below.
Notable Command Line Interface tools to be used with these dotfiles:
- bat: for nice file previews
- fzf: for super powers
- The Silver Searcher (Ag): for a faster
grep - Syncthing for a full background automated files synchronization
tree: because tree is nice too!
This is to be documented. TODO
- Prefix is bound to
<C-a>
This could be a whole page, but overall:
- Config from scratch, including:
- Use of the native vim pack system
- [X11] Simple Copy/Paste even without
+clipboard - Sensible defaults, like
Yfory$, buffer delete, and so on - Most Recent Used (Bro plugin)
- Custom color theme inspired from tomorrow-night-eighties!
- Plugins to enhance the exeperience even more:
- Vimwiki
- Git integration (vim-fugitive / vim-gitgutter)
- Linter support (ALE)
- LSP Support (vim-lsp)
- Autocomplete paths, LSP suggestion (Asyncomplete)
- FZF integration
- Lightline and popular themes out of the box (onedark, base16, material...)
- Colorscheme discovery + a "devtool" for knowing syntax group (F12)
And much more to be discovered.
- Vanilla config also from scratch:
- Support for the XDG Base Directory Specification as much as possible
- 100% homemade prompt with command return status, duration time, git
- Custom bindings (see the README) TODO
- Custom favzf plugin, check this out:
- Light plugins support:
- zsh-syntax-highlighting: for a fish shell-like command prevalidation
- You-should-use: for alias usage hints
- For now, good support for X11, but I am willing to try Hyperland.
- Cool fonts (Code New Roman Nerd Font, Noto, CJK Support)
- More to come
Convinced? Great!
The installation process requires some manual preliminary checks and actions.
After that, the dotfiles can be automatically deployed onto the host, then some final adjustments will be made.
-
Ensure you have an up to date system with internet access, and eventually reboot to take some changes into considerations.
-
Ensure
curlandgitare installed -
Install
chezmoi:sh -c "$(curl -fsLS get.chezmoi.io) -b ~/.local/bin" -
Then update the
$PATHvariable for chezmoi to be found:export PATH="$PATH:~/.local/bin"
- Retrieve and access this repository locally:
chezmoi init duketuxem
chezmoi cd
-
Find your specific platform instructions under the targets directory.
Then, resume from here.
-
Deploy the dotfiles onto the host:
chezmoi apply -
Change the default shell:
chsh -s /bin/zsh -
Log off and then log back again to see everything loaded.
Congratulations!
At this point, you already have a working configuration, and can start enjoying
it from your favorite terminal emulator, be the linux tty even!
However, if you would like to expand from here, there are some scripts inside
the ./post-install directory that can install different things depending on
what is needed.
Having done a lot of testing for this repository and some distro hopping in the past, here is my reminder list of 'things we always forget' which prevent us to enjoy our precious muscle memory.
- **Import your ssh key**
- Why is this process not fully automated as on some other repos ?
I deliberately chose to not have a full installation process despite having
started to write one, see the trash/ folder for some legacy code and reasons
this has been discarded.
This repository is licensed under the GPL-3.0 license.