All Projects → fr3fou → dotfiles

fr3fou / dotfiles

Licence: other
📝 GitHub repo for my .files for my Linux / macOS machines.

Programming Languages

shell
77523 projects
Vim Script
2826 projects
perl
6916 projects

dots

📝 A rewrite of my dotfiles.

You can see my old dotfiles in the https://github.com/fr3fou/dotfiles/tree/old branch.

Screenshots

TODO

Setting up

Shoutout to jaagr/dots

This simple yet effective technique lets you track the files you care about and it doesn't require any tools other than git. The files will be kept at their intended location, without the need to create symlinks or copies.

Files are added to the repository by calling dots add $HOME/.config/file and when issuing git status - only changes to files explicitly added will be shown.

To get a list of files not tracked by git, use dots untracked or dots untracked-at $HOME/path/to/foo/bar to only show files in a specific subdirectory.

Dead simple!

Alias

alias dots='git --git-dir=$HOME/.dots.git/ --work-tree=$HOME'

Setup

git init --bare $HOME/.dots.git
dots remote add origin https://github.com/fr3fou/dots.git

Configuration

dots config status.showUntrackedFiles no

# Useful aliases
dots config alias.untracked "status -u ."
dots config alias.untracked-at "status -u"

Usage

# Use the dots alias like you would use the git command
dots status
dots add --update ...
dots commit -m "..."
dots push

# Listing files (not tracked by git)
dots untracked
dots status -u .config/

# Listing files (tracked by git)
dots ls-files
dots ls-files .config/polybar/

Replication

git clone --recursive --separate-git-dir=$HOME/.dots.git [email protected]:fr3fou/dots.git /tmp/dots
rsync -rvl --exclude ".git" /tmp/dots/ $HOME/
rm -r /tmp/dots
dots submodule update --init --recursive $HOME/
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].