Update da docs, especially adding contributing docs

Signed-off-by: Andrei Jiroh Eugenio Halili <ajhalili2006@gmail.com>
This commit is contained in:
Andrei Jiroh Halili 2022-08-26 00:07:45 +08:00
parent d522caab21
commit cccd25b29e
No known key found for this signature in database
GPG Key ID: D4A928E0527DB795
4 changed files with 102 additions and 31 deletions

View File

@ -1,44 +1,50 @@
# My Personal Dotfiles
# Andrei Jiroh's Personal Dotfiles
<!-- markdownlint-disable-file MD033 -->
Personal configuration for Linux/macOS stuff. If you're
working at The Pins Team, see [our dotfiles][df-gl].
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).
[df-gl]: https://gitlab.com/MadeByThePinsHub/dotfiles
## Getting Started
### Running from
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/dotfiles`
* 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.
```sh
# configure required variables
export GITLAB_LOGIN=ajhalili2006
export GITLAB_TOKEN=<my-gitlab1dotcom-PAT>
# 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
$(command -v curl>>/dev/null && echo curl -o- || echo wget -q0-) https://raw.githubusercontent.com/ajhalili2006/dotfiles/main/bootstrap | bash -
# Done? Don't forget to cleanup as needed.
unset GITLAB_TOKEN GITLAB_LOGIN && history -c
```
### With Cloning the Repo
```sh
# assuming git is installed
git clone https://github.com/ajhalili2006/dotfiles $HOME/.dotfiles
cd $HOME/.dotfiles
# you may need to export the required variables before running the bootstrap script locally
# you may optionally run the bootstrapper script if you want
GITLAB_LOGIN=AndreiJirohHaliliDev2006 GITLAB_TOKEN=<my-gitlab-saas-pat> ./bootstrap --flags-over here
# 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 -
```
### Documentation
Available documentation for the on/offboarding processes I do + other tidbits of the bootstrap script can be accessible through [the `docs` directory](./docs).
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
Code is licensed under [the MPL-2.0](LICENSE) license, while docs on my MediaWiki-powered wiki
uses [CC BY-SA 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
Patches are welcome, but technical support for forks is currently unavailable due to this repository
being used for personal day-to-day use.
<details>
<summary>Deprecated docs stashed here for archival purposes, might be removed later.</summary>
## 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][template] to start from our template.
[template]: https://github.com/MadeByThePinsHub/dotfiles-template
@ -48,3 +54,5 @@ Follow the checklist below after forking to ensure no references to mine are fou
* [ ] 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.
</details>

56
docs/CONTRIBUTING.md Normal file
View File

@ -0,0 +1,56 @@
# Contributing to my dotfiles
## Development
Usually Andrei Jiroh clone the dotfiles repository in `~/.dotfiles` directory, but feel free
to customize the clone location. The rest of this section contains the TL;DR version of the
contribution process, plus additional information about each parts.
```sh
## easy path: use Gitpod and GLab CLI ##
xdg-open "https://gitpod.io/#https://gitlab.com/ajhalili2006/dotfiles"
# ssh to the workspace using an owner token - https://www.gitpod.io/docs/ides-and-editors/command-line#access-token-ssh
ssh ajhalili2006-dotfiles-abcdefg123456#ownerToken@ajhalili2006-dotfiles-abcdefg123456.ssh.ws-us62.gitpod.io
# use GLab CLI to fork the repo and configure remotes
glab repo fork --remote=true # assuming GITLAB_TOKEN is set for GitLab SaaS
# do your own homework here and push to your personal branch
git switch -c username/some-descriptive-name-here
nano bootstrap config/bashrc/aliases # or <vi|emacs> bootstrap config/bashrc/aliases
shellcheck --severity=warning bootstrap config/bashrc/aliases # run the shell linter for issues
git commit --signoff # commit with Signed-off-by trailer for DCO
git push origin username/some-descriptive-name-here # publish your changes before submiting patches
glab mr create -R https://gitlab.com/ajhalili2006/dotfiles -b main # create a merge request
## the mailing list way: use sourcehut mirror ##
docker run --rm -v $HOME:/home/gildedguy quay.io/ajhalili2006/docker-alpine-env
mkdir ~/git-projects/ajhalili2006
git clone https://git.sr.ht/~ajhalili2006/dotfiles ~/git-projects/ajhalili2006/dotfiles && cd ~/git-projects/ajhalili2006/dotfiles
# do your own homework here and (optionally) push to your personal branch
git switch -c username/some-descriptive-name-here
nano bootstrap config/bashrc/aliases # or <vi|emacs> bootstrap config/bashrc/aliases
shellcheck --severity=warning bootstrap config/bashrc/aliases # run the shell linter for issues
git commit --signoff # commit with Signed-off-by trailer for DCO
git remote add username-srht git@git.sr.ht:~username/ajhalili2006-dotfiles-patches && git push username-srht username/some-descriptive-name-here # if it doesn't exist, creates a repo on push
# configure your local copy, per https://git-send-email.io/#
git config sendemail.to "~ajhalili2006/public-inbox@lists.sr.ht"
git config format.subjectprefix "PATCH dotfiles" # or sandbox-dotfiles for sandbox/main branch
```
## Submitting patches
### DCO and CLA
Recap Time Squad's CLA do not apply in this project, although I might use Eclipse Contributor Agreement to legally codify DCO in case of corporate contributions.
### Sending patches via email
If you prefer to send patches via email, please set your local copy of this repository with
the following configuration for `git send-email`:
```sh
git config sendemail.to "~ajhalili2006/public-inbox@lists.sr.ht"
git config format.subjectprefix "PATCH dotfiles" # or sandbox-dotfiles for sandbox/main branch
```
Please note that I'll not accept patches that sent to my personal email address/es instead of
through the public inbox mailing list.

View File

@ -5,17 +5,17 @@ This onboarding page documents how do I bootstrap stuff for an new Linux machine
## Prerequisites
* Access to my Bitwarden vault for GitLab PAT AND Tailscale reusable authtoken on an Vaultwarden instance at Railway. Once email has been fixed, probably my phone with 2FA number used for Google OR Authy app and Telegram client of choice.
* An working browser, preferrly Firefox.
* An working browser, preferrly Firefox or Chromium.
* An desktop environment preinstalled, in case of Alpine/Arch/Gentoo-based distros, proceed with Xfce4. Unless has atleast 4 GBs of memory on an amd64 machine, install GNOME or KDE instead.
### Pre-flight Check
* Check if the init system is systemd, and if not, check if we can swap init systems. This is required so we can install stuff using `snapd`. Using Flatpak is still being considered as alternative option.
* If you messing up with partitioning, especially Windows might go berserk when resizing, backup everything as much as possible. Ohterwise, we might be f\*\*ked.
* Check if the init system is systemd, and if not, check if we can swap init systems (or at least attempt to install systemd from source). This is required so we can install stuff using `snapd`. Using Flatpak is still being considered as alternative option.
* If you messing up with partitioning, especially Windows might go berserk when resizing, backup everything as much as possible. Ohterwise, we might be fucked.
* Check if Bash and/or Git is preinstalled while in live environment.
* Remember to note down the root password! You may also need to take down notes of your regular account password too, if sudo is configured.
* If you're trying an new distro (Arch, Gentoo, RHEL) or got an ChromeOS preinstalled and enabled devmode and Linux stuff, please install the tools one by one and note it down here in this document.
* Check if that distro either has GitHub CLI from the official package repos (or atleast community maintained ones). Otherwise, maybe opt to building from source or use prebuilt binaries from GitHub Releases.
* Check if that distro either has GitHub CLI, GLab CLI and/or `hut` from the official package repos (or atleast community maintained ones). Otherwise, maybe opt to building from source or use prebuilt binaries from GitHub/GitLab/SourceHut Releases.
## Per-Distro/Platform Docs
@ -74,7 +74,7 @@ you need to `apk add bash@edge git@edge curl@edge coreutils@edge` instead.
### Gitpod?
Currently unsupported yet, but we can setup an meta-workspace with my dotfiles stuff loaded too, in the future, probably.
~~Currently unsupported yet, but we can setup an meta-workspace with my dotfiles stuff loaded too, in the future, probably.~~ This is currently planned to work on since Gitpod already added dotfiles support, but for now the system will symlinking everything from the dotfiles repo.
### WSL 2-specific back pain treatment for Tailscale
@ -97,3 +97,4 @@ sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1; sudo sysctl -w net.ipv6.conf.de
## Optionals
* Install Cloudflare tunnel and login. There's Tailscale, but if I don't brothered adding another device to the tailnet, we can setup da API instead.

View File

@ -1,5 +1,7 @@
# Bloody Docs for installing Arch Linux
> Wiki version: https://ajhalili2006.miraheze.org/wiki/Onboarding_new_device/Computers/Linux/Arch
## Afer booting into the hell
If you're inside an Virtualbox eenvironment, make sure SSH is enabled and setup port forwarding stuff. Don't forget changing the root password for live
@ -32,11 +34,15 @@ grub-install --target=i386-pc /dev/sda; grub-mkconfig -o /boot/grub/grub.cfg
```sh
# Change sda into device name for your target hard drive/SSD
grub-install --target=i386-pc /dev/sda; grub-mkconfig -o /boot/grub/grub.cfg
grub-install --target=x86_64-efi /dev/sda; grub-mkconfig -o /boot/grub/grub.cfg
```
* With Secure Boot:
```sh
# TBD, check the docs!
```
## Final Steps
* Exit the chroot and reboot. Don't forget to remove the installation media before the reboot.