▓█████▄ ▒█████ ▄▄▄█████▓ █████▒██▓ ██▓ ▓█████ ██████
▒██▀ ██▌▒██▒ ██▒▓ ██▒ ▓▒▓██ ▒▓██▒▓██▒ ▓█ ▀ ▒██ ▒
░██ █▌▒██░ ██▒▒ ▓██░ ▒░▒████ ░▒██▒▒██░ ▒███ ░ ▓██▄
░▓█▄ ▌▒██ ██░░ ▓██▓ ░ ░▓█▒ ░░██░▒██░ ▒▓█ ▄ ▒ ██▒
░▒████▓ ░ ████▓▒░ ▒██▒ ░ ░▒█░ ░██░░██████▒░▒████▒▒██████▒▒
▒▒▓ ▒ ░ ▒░▒░▒░ ▒ ░░ ▒ ░ ░▓ ░ ▒░▓ ░░░ ▒░ ░▒ ▒▓▒ ▒ ░
░ ▒ ▒ ░ ▒ ▒░ ░ ░ ▒ ░░ ░ ▒ ░ ░ ░ ░░ ░▒ ░ ░
░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░ ░
░
✨ Dorian's Dotfiles ✨
This is my personal collection of configuration files.
Here are some details about my setup:
- OS: Pop!_OS / macOS
- DE: Gnome
- WM: Mutter
- Shell: zsh
- Editor: Neovim
- utilizes the built-in lsp ❤️
- nvim-cmp — autocompletion
- tree-sitter
- tokyonight — color theme
- telescope — fuzzy finder
- lualine.nvim — status line
- bufferline
- Browser: Firefox
- Terminal: Alacritty
- Term Prompt: Powerlevel10k
- Terminal Multiplexer: Tmux
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:
- setup.sh
- For mac: Brewfile
- For linux: debian-setup.sh
- installer.rb
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 git@github.com:dkarter/dotfiles.git
Cd into the dotfiles dir: cd dotfiles
./setup.sh
I 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.
My dotfiles are now automatically versioned and contain a Changelog! The main branch will be continuously updated, and you can use git tags to check out specific versions.
⚠️ notice how I said automatically version and not semantically versioned. While I do try to keep a good git hygiene, and the versioning script follows conventional commits to determine the semantic version, I may still introduce a breaking change without a warning (these are my personal dotfiles after all :). The best course of action might be to have an independent fork and follow the changelog.
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