After months of research, design, and hands-on coding, Im excited to launch a completely new concept of system automation and dotfile management one that brings profiling, synchronization, automation, and Git integration into a single powerful CLI tool: DotCtl.
🧠 The Concept
What if you could capture the full configuration of your system as a portable "profile" , version it in Git, apply it on any machine with one command, and run pre/post install scripts to bootstrap the whole environment?
DotCtl is not just a dotfile manager. Its a config profiling system designed for developers, sysadmins, and IT professionals who manage multiple environments desktops, servers, containers, VMs and want to keep everything consistent, reproducible, and shareable.
What DotCtl Does
🌐 Track your entire system config (dotfiles, services, packages, env vars) as a named profile.
🔄 Sync profiles with Git for reliable versioning and deployment across machines.
🔧 Define pre/post hooks to automate package installations, service restarts, and more.
📤 Export profiles to portable
.dtsv
files for backup or sharing.https://articles.linuxastra.in/🧪 Apply any profile to configure a fresh system instantly.
🧰 Use Case
DevOps Teams / Remote Onboarding
Imagine onboarding a new developer into your company or project. Instead of handing over a doc with 15+ setup steps, you hand them this:
pip install dotctl
dotctl import company_dev_stack.dtsv
dotctl apply
Thats it their environment is up and running with exactly the configs, tools, aliases, themes, and services used by the rest of the team.
🔗 Want to explore or contribute?
Check out the full README, command examples, and source on GitHub:
👉 https://github.com/pankajackson/dotctl
Id love feedback, collaborations, or use-case discussions especially from fellow infrastructure folks, power users, and open-source enthusiasts.
💬 Curious how DotCtl could simplify your own environment setup or CI workflows? Lets talk! Drop a comment or message me directly. 🙌