Andrei Jiroh's personal dotfiles for Linux/WSL and possibly Windows in the future.
Go to file
RecapTimeBot c06229dc4a Backing up everything from the legacy dotfiles codebase
'coz I'm gonna nuke the old /home partition and start over after
the switch to KDE Neon.

Co-authored-by: @ajhalili2006 <ajhalili2006@andreijiroh.eu.org>
Signed-off-by: RecapTimeBot <service-accounts+github@crew.recaptime.eu.org>
2023-07-25 14:06:19 +00:00
.builds Backing up everything from the legacy dotfiles codebase 2023-07-25 14:06:19 +00:00
.github Add tests to the bootstrap script for Ubuntu in GHA first 2022-06-11 19:30:33 +08:00
.kdev4 Backing up everything from the legacy dotfiles codebase 2023-07-25 14:06:19 +00:00
.vscode chore(vscode): 🔧 update some workspace settings and add extension recommends 2022-10-31 23:38:39 +08:00
bash-wakatime@c2ac2a80c9 submodules: Add github:gjsheep/bash-wakatime.git 2021-04-13 19:21:59 +08:00
bin chore(scripts): 🔨 a bit of refractoring scripts and bashrc 2022-10-31 23:12:41 +08:00
config Backing up everything from the legacy dotfiles codebase 2023-07-25 14:06:19 +00:00
docs Backing up everything from the legacy dotfiles codebase 2023-07-25 14:06:19 +00:00
gnupg Update Linuz zshrc to load OhMyZsh after my other stuff 2021-10-20 21:56:50 +08:00
nixos@e83f5ecce7 Add nixos-config-hub repo as submodule :) 2021-11-01 16:38:38 +08:00
tests Add tests to the bootstrap script for Ubuntu in GHA first 2022-06-11 19:30:33 +08:00
tools Add quality of life improvements to different parts of my config 2022-08-22 23:16:16 +08:00
update-golang@a71ff4fb72 Add update-golang Git module 2021-07-13 22:14:02 +08:00
.config Migrate config files stuff to config directory 2022-06-23 21:57:23 +08:00
.copyrightheader License code under MPL-2.0 2022-08-23 00:17:23 +08:00
.dockerignore chore(docker): add dockerignore for future stuff 2021-07-01 22:38:49 +08:00
.dotfiles.kdev4 Backing up everything from the legacy dotfiles codebase 2023-07-25 14:06:19 +00:00
.envrc.example modify Linux nanorc and bashrc for Debian 2021-09-16 21:36:56 +08:00
.gitignore Backing up everything from the legacy dotfiles codebase 2023-07-25 14:06:19 +00:00
.gitmodules Update submodule path for nanorc stuff 2022-07-06 22:20:04 +08:00
.kateproject chore(global): update gitignore + add kateproject config 2022-09-11 00:50:05 +08:00
.mailmap Backing up everything from the legacy dotfiles codebase 2023-07-25 14:06:19 +00:00
.wakatime-project submodules: Add github:gjsheep/bash-wakatime.git 2021-04-13 19:21:59 +08:00
LICENSE License code under MPL-2.0 2022-08-23 00:17:23 +08:00
README.md Backing up everything from the legacy dotfiles codebase 2023-07-25 14:06:19 +00:00
bootstrap Backing up everything from the legacy dotfiles codebase 2023-07-25 14:06:19 +00:00
htoprc chore(htporc): update htoprc stuff from the UI 2021-06-19 15:23:09 +08:00
systemd Migrate config files stuff to config directory 2022-06-23 21:57:23 +08:00

README.md

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: https://mau.dev/ajhalili2006/dotfiles1
  • SourceHut (official instance): https://git.sr.ht/~ajhalili2006/dotfiles (SSH: git@git.sr.ht:~ajhalili2006/dotfiles)

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-) https://ctrl-c.club/~ajhalili2006/bin/essientials-setup-dotfiles.sh

# Run the bootstrap script without Doppler
$(command -v curl>>/dev/null && echo curl -o- || echo wget -q0-) https://gitlab.com/ajhalili2006/dotfiles/raw/main/bootstrap | 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

Documentation

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/public-inbox@lists.sr.ht) 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 dotfiles-bootstrapper-script.sh and setup.sh 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. mau.dev 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. ↩︎