Skip to content

DHD

Declarative Home Deployment - The modern way to manage your system configuration

TypeScript-Powered

Write your configuration in TypeScript with full type safety, autocompletion, and IDE support.

Cross-Platform

Works seamlessly across Linux distributions, macOS, and Windows. Platform-specific logic is built-in.

Declarative & Idempotent

Define what you want, not how to get there. Run multiple times safely - DHD only makes necessary changes.

Fast & Parallel

Intelligent dependency resolution and parallel execution make DHD blazingly fast.

import { defineModule, packageInstall, gitConfig, directory } from "dhd";
export default defineModule("dev-setup")
.description("Essential development tools")
.tags(["core", "development"])
.actions([
packageInstall({
names: ["git", "neovim", "tmux", "ripgrep"]
}),
gitConfig({
scope: "global",
settings: {
"user.name": "Your Name",
"user.email": "your@email.com"
}
}),
directory({ path: "~/.config/nvim" })
]);
  • Modular Configuration: Organize your setup into reusable modules with tags and dependencies
  • Rich Action Library: Package management, file operations, system services, and more
  • Platform Detection: Conditional actions based on OS and distribution
  • Dry Run Mode: Preview changes before applying them
  • Progress Tracking: Real-time feedback on what’s happening
  • Error Recovery: Graceful handling of failures with detailed error messages

Ready to take control of your system configuration?