Type-safe dotfiles manager built with Deno and dax, targeting Pop!_OS 24.04 and Ubuntu 24.04.
Install Deno:
curl -fsSL https://deno.land/install.sh | shAdd to your shell profile (~/.bashrc or ~/.zshrc):
export DENO_INSTALL="$HOME/.deno"
export PATH="$DENO_INSTALL/bin:$PATH"git clone https://github.com/tarotene/dotfiles.git
cd dotfiles
deno task setup --dry-run # Preview changes
deno task setup # Apply all changes| Task | Description |
|---|---|
deno task setup |
Run all setup tasks in sequence |
deno task install-packages |
Install APT and Cargo packages |
deno task create-symlinks |
Create config file symlinks |
deno task install-dev-tools |
Install development tools |
deno task install-fonts |
Install Nerd Fonts from config |
All tasks support --dry-run (-n) and --help (-h).
lib/ Shared TypeScript utilities
types.ts Common type definitions
dry-run.ts Dry-run aware command execution
platform.ts OS/distro/WSL detection
output.ts Colored output and result summary
args.ts CLI argument parsing
mod.ts Barrel export
scripts/ Executable task scripts
config/ Static configuration files
packages/declarative/ Declarative package lists
tests/ Test files
deno task check # Type-check
deno task test # Run tests
deno fmt # Format code
deno lint # Lint code
deno task compile # Compile setup to single binary- Simplicity — No unnecessary abstractions. Scripts stay under 200 lines.
- Type safety — Strict TypeScript with no
any. - Dry-run first — All destructive operations support
--dry-run. - Declarative — Package lists and symlinks defined as data, not code.
- APT + Cargo only — No Snap, Flatpak, or pip for system packages.