oldwomanjosiah's personal dotfiles.
- configs
- scripts
Please don't judge my rust skills based off ofplayerctl_spot
, I just wanted to replace a bash script that was super unweildy.- It's not published anywhere so you'll have to build from source1.
For the most part I use the stable variants of the programs configured here, with the following special cases.
I used a patched version which can be found in it's entirety here. It includes changes from the two following PRs, which may have been upstreamed by the time you are reading this:
I currently use the ibhagwan fork on my desktop.
Steps to use (warning this will overwrite any settings defined by this repo):
- Clone the repo
git clone --bare [email protected]:oldwomanjosiah/dots.git $HOME/.dotrepo
- Check out the initial branch into your home directory
git --git-dir=$HOME/.dotrepo --work-tree=$HOME checkout -f
- Make Changes!2
- Commit changes back
You're going to want to check in files individually, which can be a pain. You can use the-u
flag on add if you want to just update files which were previously checked in, but there's not a great way (that I know of, please write in) to automatically ignore everything you don't want checked in3.git --git-dir=$HOME/.dotrepo --work-tree=$HOME add <file...> # or git --git-dir=$HOME/.dotrepo --work-tree=$HOME add -u
- Push!
You'll have to add your own remote for this, instead of using mine. If it's better than what I've got, I'd love to see it!
You'll note that most of the commands, other than the initial clone, use the same prefix. This can relatively easily be automated:
For bash
echo 'function dit() { git --git-dir=$HOME/.dotrepo --work-tree=$HOME "$@" } >> ~/.bashrc'
For fish
echo 'function dit(); git --git-dir=$HOME/.dotrepo --work-tree=$HOME $argv; end' >> ~/.config/fish/config.fish
which will then allow you to do
dit add <file...>
instead! Pretty fun
Footnotes
-
You'll need a recent stable rust toolchain, and to run the following (be sure you want to do this, I'm practically a stranger).
↩cd ~/.config/eww/scripts/playerctl_spot/ cargo install --path .
-
I don't actually care what you do here (I'm not your boss 😔) ↩
-
you can add the following to the bottom of
~/.dotrepo/config
to hide untracked files at the very least. It's easy to forget to check in work this way though, so use at your own risk.
↩[status] showUntrackedFiles = no