Skip to content

MilesManners/dotfiles

Repository files navigation

screenshot

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.

zsh shell - .zshrc


i3 window manager - .config/i3

  • More specifically, the i3-gaps-rounded fork
  • This config is highly specific to my setup at this point
  • I use Font Awesome for icons
    • Requires access to pro icons to use all the icons I use, but can easily be changed
  • Wallpaper is the Risk of Rain end cutscene
  • Made with Oomox
  • Some theming is embeded in other files

Installation

Automatically

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)"

Manually

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

Development

ALWAYS rebase instead of merging.

Upstream

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>