8000 GitHub - baj0k/dotrice: My dotfiles rice
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

baj0k/dotrice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My dotfiles rice, feel free to grab a piece. This elegant approach to dotfiles management was inspired by the idea of user StreakyCobra.

This repository stores personalized configuration files for the following software.

  • dunst
  • i3-gaps
  • mpd
  • mpv
  • neomutt
  • neovim
  • newsboat
  • ncmpcpp
  • ranger
  • tmux
  • X11
  • zathura
  • zsh

Full integration requires patching and building some tools made by Suckless of which the most important are st, dmenu and dwm. Checkout my suckless-builds repository for the out-of-the-box solution.

In order to use firefox configuration files the ~/.config/ffox/chrome directory needs to be manually copied into chrome directory in the firefox profile.

Installation

Following command installs the dotfiles into your workspace. Do not run this carelessly.

curl -L https://raw.githubusercontent.com/baj0k/dotrice/desktop/setup.sh | sh

Or execute following commands manually if changes are needed.

git clone --separate-git-dir="$HOME/.local/dotfiles" https://github.com/baj0k/dotfiles.git /tmp/dotfiles
rsync -rv --exclude '.git' /tmp/dotfiles/ ~/
git --git-dir="$HOME/.local/dotfiles/" --work-tree="$HOME/" update-index --assume-unchanged "README.md" ".gitignore" "LICENSE" "setup.sh"
mv ~/.gitignore ~/.local/dotfiles/info/exclude
rm ~/README.md ~/LICENSE ~/setup.sh

In addition, it might be desired to create post-merge hook for automatic update & cleanup of .gitignore

cat <<EOF > ~/.local/dotfiles/hooks/post-merge
#!/bin/sh

echo "POST-MERGE"
[ -e "$HOME/.gitignore" ] && /usr/bin/mv ~/.gitignore ~/.local/dotfiles/info/exclude && echo "Updated .g
[ -e "$HOME/README.md" ] && /usr/bin/rm ~/README.md && echo "Removed README.md"
[ -e "$HOME/setup.sh" ] && /usr/bin/rm ~/setup.sh && echo "Removed setup.sh"
EOF

chmod +x ~/.local/dotfiles/hooks/post-merge

Usage

Below commands might be useful for managing dotfiles using this approach.

alias mdot='git --git-dir=$HOME/.local/dotfiles/ --work-tree=$HOME/'
alias mdotclean='git --git-dir=$HOME/.local/dotfiles/ --work-tree=$HOME/ update-index --assume-unchanged "README.md" ".gitignore" "LICENSE" "setup.sh"'
mdot config status.showUntrackedFiles no
mdot remote set-url origin git@github.com:baj0k/dotrice.git
0