2022-08-25 18:07:45 +02:00
# Andrei Jiroh's Personal Dotfiles
<!-- markdownlint - disable - file MD033 -->
2021-02-27 15:28:58 +01:00
2022-08-25 18:07:45 +02:00
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][df-gl] (currently unmaintained and on old namespace).
2021-04-05 08:20:16 +02:00
[df-gl]: https://gitlab.com/MadeByThePinsHub/dotfiles
2021-02-27 15:28:58 +01:00
## Getting Started
2022-08-25 18:07:45 +02:00
While the clone URLs use GitLab SaaS as the canonical Git repository URL, you can still clone the repository from the following URLs:
2021-02-27 15:28:58 +01:00
2023-07-25 16:06:19 +02:00
* GitLab self-hosted instances: `https://mau.dev/ajhalili2006/dotfiles` [^1]
* SourceHut (official instance): `https://git.sr.ht/~ajhalili2006/dotfiles` (SSH: `git@git.sr.ht:~ajhalili2006/dotfiles` )
[^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.
2021-02-27 15:28:58 +01:00
2022-08-25 18:07:45 +02:00
To get started, run the bootstrap script which handles the repository cloning/pulling for you and then sets things up for you.
2021-04-06 12:13:45 +02:00
```sh
2022-08-25 18:07:45 +02:00
# 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
2021-04-06 12:13:45 +02:00
2022-08-25 18:07:45 +02:00
# 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 -
2021-04-06 12:13:45 +02:00
```
2022-09-10 18:49:07 +02:00
## Directory Structure
```bash
$ date & & echo & & tree -d .
2023-07-25 16:06:19 +02:00
# 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
2022-09-10 18:49:07 +02:00
```
2021-09-29 12:31:24 +02:00
### Documentation
2022-08-25 18:07:45 +02:00
Available documentation for the on/offboarding processes I do for devices + other tidbits of the bootstrap script can be accessible through [the `docs` directory ](./docs ) and on [my personal wiki hosted on Miraheze ](https://ajhalili2006.miraheze.org/wiki/Dotfiles ).
## License and contributions
2022-09-10 18:49:07 +02:00
Code is licensed under [the MPL-2.0 ](LICENSE ) license, while docs on my MediaWiki-powered wiki + here in this repository are licensed
2023-07-25 16:06:19 +02:00
under [CC BY-SA 4.0 International ](https://creativecommons.org/licenses/by-sa/4.0/legalcode ) license.
2022-09-10 18:49:07 +02:00
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.
* TBD
* [Drew DeVault's Dotfiles][sircmpwn-df], specifically some [templates][sircmpwn-dt-aerc-templates] and [config for aerc][sircmpwn-dt-aerc]
2022-08-25 18:07:45 +02:00
2022-09-10 18:49:07 +02:00
[sircmpwn-df]: https://git.sr.ht/~sircmpwn/dotfiles
[sircmpwn-dt-aerc-templates]: https://git.sr.ht/~sircmpwn/dotfiles/tree/.config/aerc/templates
[sircmpwn-dt-aerc]: https://git.sr.ht/~sircmpwn/dotfiles/tree/.config/aerc
---
2022-08-25 18:07:45 +02:00
< details >
< summary > Deprecated docs stashed here for archival purposes, might be removed later.< / summary >
2021-09-29 12:31:24 +02:00
2021-02-27 15:28:58 +01:00
## Want to fork me owo?
2022-08-25 18:07:45 +02:00
> This section is outdated and will be revised in the future since I also have other stuff to do behind the scenes.
2021-04-13 12:49:24 +02:00
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][template] to start from our template.
2021-04-06 12:13:45 +02:00
[template]: https://github.com/MadeByThePinsHub/dotfiles-template
2021-02-27 15:28:58 +01:00
2021-04-13 12:49:24 +02:00
* [ ] 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.
2021-02-27 15:28:58 +01:00
* [ ] 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.
2022-08-25 18:07:45 +02:00
< / details >