5.4 KiB

Andrei Jiroh's Personal Dotfiles

This is the main portal to my personal configuration for Linux/macOS stuff. If you're working at Recap Time Squad (formerly The Pins Team), see our dotfiles (currently unmaintained and on old namespace).

Getting Started

While the clone URLs use GitLab SaaS as the canonical Git repository URL, you can still clone the repository from the following URLs:

  • GitLab self-hosted instances:
  • SourceHut (official instance): (SSH:

To get started, run the bootstrap script which handles the repository cloning/pulling for you and then sets things up for you.

# Pro-tip: Install the essientials like Git and Doppler first!
# Using the essientials setup script will handle Homebrewing for you, among other software-related
# chores. Works on Debian-based distros and Alpine Linux.
$(command -v curl>>/dev/null && echo curl -o- || echo wget -q0-)

# Run the bootstrap script without Doppler
$(command -v curl>>/dev/null && echo curl -o- || echo wget -q0-) | bash -

Directory Structure

$ date && echo && tree -d .
# Monday, 31 October, 2022 11:39:54 PM PST
# .
# |-- bash-wakatime # TODO: Migrate to tools directory
# |-- bin # Handmade and third-party scripts go here. (binaries should be in ~/.local/bin instead)
# |-- config # Configuration files, mostly not per distro, with exception of Termux and WSL2 in some cases.
# |   |-- aerc
# |   |   `-- templates
# |   |-- bashrc
# |   |-- byobu
# |   |-- gitconfig
# |   |-- konsole
# |   |-- nanorc
# |   |   |-- config
# |   |   `-- highlighting
# |   |-- ssh-client
# |   |-- systemd
# |   |   `-- system
# |   |-- tmux
# |   `-- zshrc
# |-- docs # Markdown versions of my dotfiles docs at my Miraheze-hosted wiki
# |   |-- additional-tools
# |   `-- os-installation
# |-- gnupg # TODO: Migrate to config directory
# |-- nixos # TODO: Migrate to config directory
# |-- systemd -> config/systemd # TODO: Remove symlink soon
# |-- tests # Testing bootstrap scripts across distros
# |   |-- alpine
# |   |-- common
# |   |   `-- bin
# |   `-- ubuntu
# |-- tools # A bit of homegrown tools and some other stuff I use
# |   |-- archive
# |   |   `-- scripts
# |   |-- bootstrap-utils
# |   `-- setup-scripts
# `-- update-golang # TODO: Migrate to tools directory, might be deprecated due to usage of asdf/other tools

34 directories


Available documentation for the on/offboarding processes I do for devices + other tidbits of the bootstrap script can be accessible through the docs directory and on my personal wiki hosted on Miraheze.

License and contributions

Code is licensed under the MPL-2.0 license, while docs on my MediaWiki-powered wiki + here in this repository are licensed under CC BY-SA 4.0 International license.

Patches (either via GitLab merge requests or email patches via ~ajhalili2006/ are welcome, but technical support for forks is currently unavailable due to this repository being used for personal day-to-day use.

Third-party source code

Some of the code used in this dotfiles repository (and related repositories via Git submodules) uses third-party code, which might be licensed under other licenses, sometimes might not be compartible with the repository licenses.

Deprecated docs stashed here for archival purposes, might be removed later.

Want to fork me owo?

This section is outdated and will be revised in the future since I also have other stuff to do behind the scenes.

Follow the checklist below after forking to ensure no references to mine are found. Remember that your fork, your problem. It's up to you on how do you customize stuff. You can use The Pins Team's dotfiles template to start from our template.

  • Customize the and into your needs.
  • Delete any existing dotfiles I made (e.g. gitconfig/*, bashrc/* excluding aliases and worthwhile-functions, etc.) and do bin/backup-dotfiles. That script will move your current config into your .dotfiles local repo and do soft links.
  • Edit bin/fix-wrong-emails#L6-7 to use your email instead of mine.
  • Edit bin/add-ssh-keys#L4 to use your SSH key in ~/.ssh directory.
  • Want to backup your worst secrets AKA SSH and PGP keys (and some Pyrgoram session files?) Use my bin/init-secrets-dir script to setup an secrets directory. Don't forget to push this into an GitLab private repo.

  1. will be my GitLab instance homeserver due to changes to the SaaS free plan, but I'll stay the GitLab SaaS repo on as an mirror. ↩︎