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-explorer
for a file explorer andcoc-eslint
for 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 checkout
Optionally add the dotfiles
alias to your .bashrc
, .zshrc
, etc.
echo "alias dotfiles='/usr/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME'" >> $HOME/.zshrc
ALWAYS rebase instead of merging.
Identify the commits you want to pull upstream. One easy way to do this is with git log
.
dotfiles log --oneline
Create 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>