Skip to content

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

License

Notifications You must be signed in to change notification settings

kiprasmel/voidrice

This branch is 790 commits ahead of, 275 commits behind LukeSmithxyz/voidrice:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

004ae90 Β· Dec 5, 2024
Jun 12, 2021
Nov 4, 2024
Feb 26, 2024
Dec 5, 2024
Jan 13, 2022
Feb 26, 2024
Jan 20, 2021
Mar 22, 2024
Mar 22, 2024
May 23, 2022
Mar 11, 2022
Oct 10, 2021
Jul 18, 2024
Oct 11, 2021
Apr 25, 2020
Apr 25, 2020
Oct 11, 2021
Mar 12, 2024
Sep 10, 2018
Mar 22, 2024
Apr 13, 2019
Feb 26, 2024

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%