Skip to content

tarotene/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Type-safe dotfiles manager built with Deno and dax, targeting Pop!_OS 24.04 and Ubuntu 24.04.

Prerequisites

Install Deno:

curl -fsSL https://deno.land/install.sh | sh

Add to your shell profile (~/.bashrc or ~/.zshrc):

export DENO_INSTALL="$HOME/.deno"
export PATH="$DENO_INSTALL/bin:$PATH"

Quick Start

git clone https://github.com/tarotene/dotfiles.git
cd dotfiles
deno task setup --dry-run   # Preview changes
deno task setup             # Apply all changes

Tasks

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).

Project Structure

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

Development

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

Design Principles

  • 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors