{"id":34776314,"url":"https://github.com/regulad/dotfiles","last_synced_at":"2026-04-14T10:31:43.955Z","repository":{"id":329896037,"uuid":"1114033008","full_name":"regulad/dotfiles","owner":"regulad","description":"Configuration of my tools using Chezmoi.","archived":false,"fork":false,"pushed_at":"2026-04-12T16:36:59.000Z","size":12581,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-12T18:10:14.277Z","etag":null,"topics":["bash","chezmoi","dotfiles","fedora","linux","macos","shell","ubuntu","windows","wsl","zsh"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/regulad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-10T20:00:45.000Z","updated_at":"2026-04-12T16:37:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/regulad/dotfiles","commit_stats":null,"previous_names":["regulad/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/regulad/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regulad%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regulad%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regulad%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regulad%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/regulad","download_url":"https://codeload.github.com/regulad/dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regulad%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31793212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","chezmoi","dotfiles","fedora","linux","macos","shell","ubuntu","windows","wsl","zsh"],"created_at":"2025-12-25T08:24:40.722Z","updated_at":"2026-04-14T10:31:43.950Z","avatar_url":"https://github.com/regulad.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Parker Edward \"regulad\" Wahle's Configuromicon\n\n[![wakatime](https://wakatime.com/badge/github/regulad/dotfiles.svg)](https://wakatime.com/badge/github/regulad/dotfiles)\n\nWelcome to my configuromicon. This monolithic repository contains the configurations for most of the tools that I use on an everyday basis. \n\nIt's currently backed by `chezmoi`. \nRunning `chezmoi apply` after a proper setup will enable deterministic restoration of my environment.\nAfter running `chezmoi apply` and restarting your shell, you can also use `quarantine` to launch an ephemeral environment with the same configuration. Useful for testing harmful software or for vibe-coding. `~/repositories` is mapped through to the VM.\n\nAdditionally, it includes a couple custom tools that I use; for example, a `pycalc3` command is provided that brings up an ephemeral IPython environment for quick CPE \u0026 physics calculations.\n\nThe default keyboard layout is of my [Keychron Q6 Max](https://www.keychron.com/products/keychron-q6-max-qmk-via-wireless-custom-mechanical-keyboard?variant=40799762972761). You should be able to replace the `base.json` with your keyboard's layout, but no guarantees are made. \n\n*This project is AGPL-3.0 licensed. Small request: if you choose to contribute, please do so on the GitHub fork network. This is only a request, AGPL-3.0 does not obligate you to share private modifications unless they are used through a network (i.e. shell account).*\n\n***PLEASE NOTE**: While all files provided in this repository are AGPL-3.0 licensed, the final compiled docker image and workspace contain non-libre assets like the Android SDK.*\n\n## Shell configurations\n\nSupported environments:\n\n- macOS latest (w/ `brew`)\n- Ubuntu GNU/Linux \u003e= 25.10\n- Fedora GNU/Linux \u003e= 42\n- Windows 11 `cmd`\n\nBrew will be installed on Darwin and Linux if it is not already installed. Rootless installs are supported but a warning will be emitted since I can't test every edge case.\n\nLinux environments are preferred in the following order:\n\n1. Fedora\n    - Why? DNF5 is fast, deterministic, and RHEL is the industry standard.\n    - I trust Red Hat more to ship reliable and efficient software more than I trust Canonical.\n2. Ubuntu\n    - Why? Homebrew builds against Ubuntu, and not base Debian.\n\nAll of the above environments are available in Docker pours (see the packages menu on the right). Using `latest` will get you the newest Ubuntu image since fedora-based Docker images are pretty rare.\n\n\u003e *NOTE:* Termux is no longer supported in a first-class fashion. I don't have an Android phone.\n\n\u003e The Debian setup has been migrated to Ubuntu to follow software that tests against Ubuntu.\n\n\u003e Simialrly, RHEL is no longer supported in a first-class fashion. This setup is for desktop use.\n\nSupported shells:\n\n- `zsh` (Preferred)\n- `bash`\n- `cmd` (NT-only)\n\nI have no intent to support PowerShell: I don't want to spend half of the time in my shell wrestling with different eras of features and aliases that do not have the same signature as the builtins they shadow.\n\n### Hookscripts\n\nPOSIX-like platforms will automatically install required dependencies thanks to the `./run_posix-sync.sh` hookscript.\n\nSimilarly NT platforms use `run_nt-sync.cmd` for dependency installation.\n\n### *nix Install\n\n```bash\n# Preferred: install with native package manager\napt/pkg/dnf/brew install chezmoi\n# Alternative: install to .local/bin\nsh -c \"$(curl -fsLS get.chezmoi.io/lb)\"\nexport PATH=\"$PATH:$HOME/.local/bin\"\n\n# Initalize \u0026 run first-time dependency install\nCHEZMOI_USE_DUMMY=1 chezmoi init regulad\n# CHEZMOI_USE_DUMMY instructs chezmoi to not attempt to apply any secrets.\nchezmoi apply --exclude encrypted\n\n# Configure bw for templating\nbw config server https://vw.regulad.xyz  # this is my server, obviously. replace w/ yours\nbw login --apikey  # stdio needed\n\n# Final apply with real secrets\nchezmoi init\nchezmoi apply ~/key.txt  # bootstraps age\nchezmoi apply\n```\n\n### NT Install\n\n```cmd\n# Install dependencies via scoop\nscoop install chezmoi git\n\n# Initalize \u0026 run first-time dependency install\nCHEZMOI_USE_DUMMY=1 chezmoi init regulad\n# CHEZMOI_USE_DUMMY instructs chezmoi to not attempt to apply any secrets.\nchezmoi apply --exclude encrypted\n\n# Configure bw for templating\nbw config server https://vw.regulad.xyz  # this is my server, obviously. replace w/ yours\nbw login --apikey  # stdio needed\n\n# Final apply with real secrets\nchezmoi init\nchezmoi apply %USERPROFILE%\\key.txt  # bootstraps age\nchezmoi apply\n```\n\nThe `autorun.cmd` will automatically set up Clink and doskey macros (`pipx`, `vi`, `chezmoi-cd`, `ssh-privpub`) on each shell startup.\n\n## Notes\n\n### VSCode\n\nMake sure you add any extensions you'd like to download to `vscode-extensions.txt`. The newest version of every extension listed in the file is installed on each apply.\n\n### Packages: winget/scoop/apt/pkg/brew/pnpm/uv/whatever\n\nRemember to define the package in the correct hookscript (i.e. `run_posix-sync.sh` or `run_nt-sync.sh`)\n\n## TODOs\n\n- [x] Cattle: Add userspace tailscale in vagrant for opencode/sus software\n- [x] Nt: Write NT self-bootstrapping script\n- [x] Doc: Emit warnings in vim and bash\n- [ ] Doc: Annotate `rc`s with philosophy (no network requests, fast boot, etc.\n- [x] Brew: Brew on permissionless systems w/ gentoo-style custom prefixes\n- [ ] Brew: Use zerobrew if available on macOS (way fuckin faster)\n- [x] Nvim: Fix nvim newline behaviour\n- [x] Nvim: Relative + absolute line numbers in nvim\n- [x] Nvim: Addl. language server configurations in nvim\n- [ ] Nvim: ensure that treesitter and vim-polyglot aren't clobbering each other\n- [x] Hook: Break java LTS and minimum fedora version into separate vars\n\n## LLM Usage\n\nSome trivial chunks of code in this project have been generated by LLMs. All subroutines that have been generated have been explicitly marked as such.\n\nExample:\n\n```bash\n# Generated by an AI assistant developed by Perplexity AI (model: GPT-5.2).\n# Purpose: Updates a file line matching \"^# DEP_HASH:\" to \"# DEP_HASH:\u003cnew_hash\u003e\" using awk.\n```\n\nI have quite the love-hate relationship with LLMs. Under no cirmcumstances will I knowingly use an LLM to generate any user-facing documentation. Every time you choose to use an LLM to generate documentation for your code, a young programmer-ling is turned away from trying to contribute to your project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fregulad%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fregulad%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fregulad%2Fdotfiles/lists"}