Skip to content

kiprasmel/voidrice

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

voidrice

Kipras' fork of Luke Smith's dotfiles.

These are the dotfiles deployed by LARBS, as seen on Luke's YouTube channel.

  • Very useful scripts are in ~/.local/bin/
  • Settings for:
    • vim, nvim, vscode
    • git w/ many comfy aliases & extra utils
    • zsh, incl. fish-like autocompletions
    • tmux (terminal multiplexer)
    • i3wm/i3-gaps (window manager)
    • i3blocks (status bar)
    • sxhkd (general key binder)
    • ranger / lf / vifm (file managers)
    • mpd/ncmpcpp (music)
    • sxiv (image/gif viewer)
    • mpv (video player)
    • calc (python calculator w/ prefilled utils)
    • other stuff like xdg default programs, inputrc and more, etc.
  • Additionally for Mac:
    • yabai, with a very similar feel to i3
    • iTerm2, integrated w/ tmux!
    • Alfred, incl. emoji picker keybind
  • We try to minimize what's directly in $HOME so:
    • Most configs that can be in ~/.config/ are.
    • Some environmental variables have been set in ~/.profile to move configs into ~/.config/
  • Bookmarks in text files used by various scripts (like ~/.local/bin/shortcuts)
    • File bookmarks in ~/.config/files
    • Directory bookmarks in ~/.config/directories

Not included here

Install these dotfiles and all dependencies

Arch Linux

On an Arch Linux (or similar) system, use LARBS (Kipras' fork) to autoinstall everything:

curl -LO http://raw.githubusercontent.com/kiprasmel/LARBS/master/larbs.sh

# inspect the script, and then

./larbs.sh -r https://github.com/kiprasmel/voidrice

MacOS

Some is automated, some is not (yet). See my recent notes for the steps to take to fully setup:

https://notes.kipras.org/macos.html#xe5IP3iU-

Other

alternatively, clone the repository directly to your home directory and install the prerequisite programs (or equivalent, e.g. on macos at least GNU coreutils are needed).

Managing these dotfiles

As simple as can be.

Fork the repository and clone it as a bare repo:

# fork in github

# then, clone into a bare repo:
git clone --bare http://github.com/<your-username>/voidrice ~/.dotfiles

# create an alias to manage the dotfiles
cat >> ~/.zshrc <<'EOF'
alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
EOF

# ignore all files by default (to start tracking a new file, use git add -f)
printf "*" > ~/.gitignore

and now your $HOME directory acts as a git repository, just that instead of using the git command, you use the config one -- this prevents you from accidently committing files in other repositories, and in general has multiple benefits.

originally inspired by "bare repository and alias method" in https://wiki.archlinux.org/title/Dotfiles#Tracking_dotfiles_directly_with_Git

Integrating upstream improvements

# see above for the "config" alias
config remote add upstream https://github.com/kiprasmel/voidrice

and occationally perform

config fetch --all
config merge upstream/master

though, when merging, i recommend reviewing each change, because even if it auto-merged, the results are not always what you want.

e.g. i myself merge from Luke, and there are sometimes deleted files, or renamed directories, or just scripts/configs changed in a way that i don't necessarily like, and so i pick what i want & how i want.

e.g. Luke has moved on from i3 to dwm, meanwhile i myself am staying with i3.

Performing merges comfortably

because of the bare repository, you couldn't simply use vscode to open the $HOME directory & start resolving changes. (i asked, but it's not available as of yet).

but, turns out there's a work-around: microsoft/vscode#77215 (comment)

GIT_WORK_TREE="$HOME" GIT_DIR="$HOME/.dotfiles" code "$HOME"

About

πŸ‰ Kipras' dotfiles β€” arch, i3, st, neovim, tmux, git, zsh (also macos, yabai, iterm2, vscode)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 91.0%
  • Vim Script 4.2%
  • Emacs Lisp 1.9%
  • JavaScript 1.7%
  • Python 0.9%
  • C++ 0.3%