This is the redesigned dotfiles repo for ~ajhalili2006, because my first repo became a mess so hard to fix it in, built from scratch and based on https://drewdevault.com/2019/12/30/dotfiles.html.
# Working on it soon.
curl -fsSL https://scripts.andreijiroh.dev/dotfiles/setup.sh | bash -
This project is hosted on ~tulir's Manimum GitLab instance (mau.dev) at https://mau.dev/andreijiroh-dev/dotfiles, although I manitain the following git mirrors for conveience:
- mau.dev: https://mau.dev/andreijiroh-dev/dotfiles (technically canonical due to how mirroring work and usualy pushed there first)
- GitHub: https://github.com/andreijiroh-dev/dotfiles
- Launchpad.net: https://git.launchpad.net/ajhalili2006-dotfiles
- ~vern git: https://git.vern.cc/ajhalili2006/dotfiles-modern
- tildegit: https://tildegit.org/ajhalili2006/dotfiles-modern
- Hack Club Nest: https://git.hackclub.app/andreijiroh-dev/dotfiles
# on a Alpine Linux sandbox VM (or chroot)
apk add yadm git gnupg
yadm clone https://mau.dev/andreijiroh-dev/dotfiles
yadm restore --staged $HOME
yadm checkout -- $HOME
# run the bootstrap script
yadm bootstrap
It's easy, although this will be different because git clone <clone-url-above>
will
scream some errors when attempt to do so after creating a user with their own home directory.
# go back to your $HOME
cd ~
# init repo, add origin to git.sr.ht repo (have you got your SSH keys?)
git init
git remote add origin [email protected]:~ajhalili2006/dotfiles-modern
# another route here is cloning the repo before the user creation take place
# so you can skip the "fetch and force checkout hellscape"
git clone [email protected]:~ajhalili2006/dotfiles-modern /home/ajhalili2006
# ...create user "ajhalili2006" here
chown ajhalili2006:ajhalili2006 -Rv /home/ajhalili2006
# fetch and force checkout, RIP any unstashed hellscapes
git fetch
git checkout -f main
# logout and login again to refresh your shell env
Because this cause confusion to most cloud dev environment services, although they'll symlink stuff when there's no install script, but that is a design flaw to be work around in the future.
TL;DR before we dive in to legalese:
- Everything is licensed under both MIT + MPL 2.0, unless otherwise noted. Most third-party code and submodules used here aren't covered by this policy.
- Open source !== open contribution. Since this is just a personal project, expect your contributions to be either rewritten or declined.
- For contributors who wish to send patches, either an agreement to the DCO (via
--signoff
flag on commits and when sending email patches via~ajhalili2006/[email protected]
) or through signing the project-specific Individual CLA alongside this specific copyright transfer agreement on this project (requires separate signature, uses FSFe's FLA 2.0) is mostly enough. Doing both is recommended to avoid further legal headaches down the line, atlhough ~sircmpwn recommends against signing the CLA, especially due to legalities around copyright assignments in OSS.