▓█████▄ ▒█████ ▄▄▄█████▓ █████▒██▓ ██▓ ▓█████ ██████
▒██▀ ██▌▒██▒ ██▒▓ ██▒ ▓▒▓██ ▒▓██▒▓██▒ ▓█ ▀ ▒██ ▒
░██ █▌▒██░ ██▒▒ ▓██░ ▒░▒████ ░▒██▒▒██░ ▒███ ░ ▓██▄
░▓█▄ ▌▒██ ██░░ ▓██▓ ░ ░▓█▒ ░░██░▒██░ ▒▓█ ▄ ▒ ██▒
░▒████▓ ░ ████▓▒░ ▒██▒ ░ ░▒█░ ░██░░██████▒░▒████▒▒██████▒▒
▒▒▓ ▒ ░ ▒░▒░▒░ ▒ ░░ ▒ ░ ░▓ ░ ▒░▓ ░░░ ▒░ ░▒ ▒▓▒ ▒ ░
░ ▒ ▒ ░ ▒ ▒░ ░ ░ ▒ ░░ ░ ▒ ░ ░ ░ ░░ ░▒ ░ ░
░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░ ░
░
:sparkles: My Fork of Dorian's Dotfiles :sparkles:
This is my slight variation on Dorian's Dotfiles. Dorian does an excellent job meticulously maintaining and updating those and you should start by looking there first.

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
makeThere are still some steps that have not been migrated, but will be soon
Gotchas for NeoVim setup:
:Mason, if one of the deps is not installing make sure to open :Mason to
see the full error message.:checkhealth to know if you are missing anythingAs I develop on the main branch, I want to stay in sync with upstream
changes that Dorian continues to make to his original repo. To facilitate that,
I have a script that handles the fetching, merging, pushing, etc.
./sync-with-upstream.sh
Even if you run into a merge conflict, the script should still be re-runnable. Fix the conflict and then invoke it again.
Easy -- clone the repo and run the setup script
cd <some-base-dir>
git clone git@github.com:jbranchaud/dotfiles.git
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
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
Runtimes include things you need to run your app, such as Elixir, Erlang,
Ruby, Go, Python etc. Mise does that well and uses a mise.toml in your
project directory as an alternative to the .tool-versions - although it does
support .tool-versions spec too.
Mise has multiple backends, and you should read a little about these to get the most benefit out of using Mise. Specifically learn about:
Mise also excels at managing binaries and CLIs and updating them to their latest versions - for that reason I switched pretty much every CLI I use to be installed with Mise - as long as I could find it or make Mise know about it (e.g. via UBI).
However, not all tools are available via Mise, and some are simply not something Mise particularly excels in: compile libs, Casks (aka UI apps) - those are still managed with Homebrew (or in the case of Debian based distros - apt) - at least for now!
(top 30 of 50)
Hacker News (1)
Lua
39.6%
Shell
35.0%
TypeScript
14.9%
Python
2.8%
Vim Script
2.5%
Tree-sitter Query
1.9%
JavaScript
1.4%
▓█████▄ ▒█████ ▄▄▄█████▓ █████▒██▓ ██▓ ▓█████ ██████
▒██▀ ██▌▒██▒ ██▒▓ ██▒ ▓▒▓██ ▒▓██▒▓██▒ ▓█ ▀ ▒██ ▒
░██ █▌▒██░ ██▒▒ ▓██░ ▒░▒████ ░▒██▒▒██░ ▒███ ░ ▓██▄
░▓█▄ ▌▒██ ██░░ ▓██▓ ░ ░▓█▒ ░░██░▒██░ ▒▓█ ▄ ▒ ██▒
░▒████▓ ░ ████▓▒░ ▒██▒ ░ ░▒█░ ░██░░██████▒░▒████▒▒██████▒▒
▒▒▓ ▒ ░ ▒░▒░▒░ ▒ ░░ ▒ ░ ░▓ ░ ▒░▓ ░░░ ▒░ ░▒ ▒▓▒ ▒ ░
░ ▒ ▒ ░ ▒ ▒░ ░ ░ ▒ ░░ ░ ▒ ░ ░ ░ ░░ ░▒ ░ ░
░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░ ░
░
:sparkles: My Fork of Dorian's Dotfiles :sparkles:
This is my slight variation on Dorian's Dotfiles. Dorian does an excellent job meticulously maintaining and updating those and you should start by looking there first.

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
makeThere are still some steps that have not been migrated, but will be soon
Gotchas for NeoVim setup:
:Mason, if one of the deps is not installing make sure to open :Mason to
see the full error message.:checkhealth to know if you are missing anythingAs I develop on the main branch, I want to stay in sync with upstream
changes that Dorian continues to make to his original repo. To facilitate that,
I have a script that handles the fetching, merging, pushing, etc.
./sync-with-upstream.sh
Even if you run into a merge conflict, the script should still be re-runnable. Fix the conflict and then invoke it again.
Easy -- clone the repo and run the setup script
cd <some-base-dir>
git clone git@github.com:jbranchaud/dotfiles.git
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
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
Runtimes include things you need to run your app, such as Elixir, Erlang,
Ruby, Go, Python etc. Mise does that well and uses a mise.toml in your
project directory as an alternative to the .tool-versions - although it does
support .tool-versions spec too.
Mise has multiple backends, and you should read a little about these to get the most benefit out of using Mise. Specifically learn about:
Mise also excels at managing binaries and CLIs and updating them to their latest versions - for that reason I switched pretty much every CLI I use to be installed with Mise - as long as I could find it or make Mise know about it (e.g. via UBI).
However, not all tools are available via Mise, and some are simply not something Mise particularly excels in: compile libs, Casks (aka UI apps) - those are still managed with Homebrew (or in the case of Debian based distros - apt) - at least for now!
Hacker News (1)
(top 30 of 50)
Lua
39.6%
Shell
35.0%
TypeScript
14.9%
Python
2.8%
Vim Script
2.5%
Tree-sitter Query
1.9%
JavaScript
1.4%