▓█████▄ ▒█████ ▄▄▄█████▓ █████▒██▓ ██▓ ▓█████ ██████
▒██▀ ██▌▒██▒ ██▒▓ ██▒ ▓▒▓██ ▒▓██▒▓██▒ ▓█ ▀ ▒██ ▒
░██ █▌▒██░ ██▒▒ ▓██░ ▒░▒████ ░▒██▒▒██░ ▒███ ░ ▓██▄
░▓█▄ ▌▒██ ██░░ ▓██▓ ░ ░▓█▒ ░░██░▒██░ ▒▓█ ▄ ▒ ██▒
░▒████▓ ░ ████▓▒░ ▒██▒ ░ ░▒█░ ░██░░██████▒░▒████▒▒██████▒▒
▒▒▓ ▒ ░ ▒░▒░▒░ ▒ ░░ ▒ ░ ░▓ ░ ▒░▓ ░░░ ▒░ ░▒ ▒▓▒ ▒ ░
░ ▒ ▒ ░ ▒ ▒░ ░ ░ ▒ ░░ ░ ▒ ░ ░ ░ ░░ ░▒ ░ ░
░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░ ░
░
✨ Dorian's Dotfiles ✨
This is my personal collection of configuration files.
Feel free to "steal" anything you want, and if you have a question please open an issue.
The goal is to have all dependencies for the config automatically installed with the setup script. More details can be found by reading the following files:
Note
The setup script relies on Taskfile! A modern alternative to make
There are still some steps that have not been migrated, but will be soon
Gotchas for NeoVim setup:
- requires fd >= 8.4 (install from brew)
- Tools such as formatters, LSPs, linters are automatically installed via
:Mason
, if one of the deps is not installing make sure to open:Mason
to see the full error message. - Make sure to run
:checkhealth
to know if you are missing anything
Easy..
git clone [email protected]:dkarter/dotfiles.git
Cd into the dotfiles dir: cd dotfiles
./setup.sh
The dotfiles get updated often, and with that some new tools and configurations might be added.
In order to keep the dotfiles up to date, I recommend running the following:
git pull # get latest
task sync # installs/updates tools and symlinks new configs
The sync
task is optimized for speed, which is why all the sub tasks run concurrently. If you're running into issues with task sync
, try setting the concurrency to 1
, like so:
task sync -C 1
Alternatively open ./taskfiles/dotfiles.yml
and move all the tasks in deps
to the cmds
section, so you can find out which one is failing.
I generally don't recommend using other people's dotfiles, at least not when you're just starting with Vim.. these are customized to my personal taste and preferences, and are subject to change at any time.
Instead consider forking kickstart.nvim, which is modern and very minimal, and using it as your base to build upon. Alternatively, there are some great NeoVim distributions out there such as Lazy.nvim, LunarVim, AstroVim, and NVChad.
My dotfiles are now automatically (and semantically) versioned and contain a Changelog! The main branch will be continuously updated, and you can use git tags to check out specific versions.
Warning
I do my best try to keep a good git hygiene. The versioning script I use here follows conventional commits to determine the semantic versioning. However, I may still inadvertently introduce a breaking change without a warning. The best course of action might be to have an independent fork and follow the changelog + rebase often - otherwise it could become painful to keep up (I update my dots all the time to keep things fresh and fight entropy).
Releases and versioning is done using Release Please, GitHub Actions, and Conventional Commits
- This repo now uses conventional commits. To install the git hooks simply run
yarn
in the project directory - To start development use airmux (alias
mux
) inside the project directory