These are my dotfiles for my workstation. They are setup as a bare repository.
For more information on a setup like this, check the atlassian tutorial or one of the many similar articles.
neovim editor - .config/nvim
- Dein plugin manager - .config/nvim/init.vim
- CoC - coc-settings.json
- CoC extensions are preferred to Vim extensions when reasonable for performance
- Such as
coc-explorerfor a file explorer andcoc-eslintfor JS linting
- Moonlight theme
- See .config/nvim/plugins.toml for a full list of plugins
i3 window manager - .config/i3
- More specifically, the i3-gaps-rounded fork
- This config is highly specific to my setup at this point
Polybar status bar - .config/polybar
- I use Font Awesome for icons
- Requires access to pro icons to use all the icons I use, but can easily be changed
Termite terminal - .config/termite
Personal Theme - .themes/oomox-arc-red .icons/oomox-arc-red
A distro-agnostic installation script is available for easy installation of Git, Zsh, and this repo. You will be prompted to choose a branch from this repository.
Please download the script locally and inspect it if you are concerned about safety.
/bin/sh -c "$(curl -L https://raw.githack.com/MilesManners/dotfiles/master/install.sh)"The directory $HOME/dotfiles is used in this example, but any directory can be used.
As is the same for the dotfiles command.
git clone --bare https://github.com/MilesManners/dotfiles.git $HOME/dotfiles
alias dotfiles='/usr/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME'
dotfiles config --local status.showUntrackedFiles no
dotfiles checkoutOptionally add the dotfiles alias to your .bashrc, .zshrc, etc.
echo "alias dotfiles='/usr/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME'" >> $HOME/.zshrcALWAYS rebase instead of merging.
Identify the commits you want to pull upstream. One easy way to do this is with git log.
dotfiles log --onelineCreate a new branch of the target upstream branch.
Here, the naming convention for staging branches is <downstream-branch>-upstream-<upstream-branch>.
The name is arbitrary, but it prevents conflicts and creates consitency in the repo.
It will be reffered to as <intermediary-branch> from here on.
dotfiles checkout -b <intermediary-branch> <upstream-branch>Use cherry-pick to add the commits you identified in step one.
dotfiles cherry-pick <commits>Push your holding branch upstream.
dotfiles push origin <intermediary-branch>Now, create a pull request to the upstream branch
Once the pull request is merged, the holding branch can be deleted.
dotfiles branch -D <intermediary-branch>