スキル一覧に戻る
srnnkls

dotfiles-manage

by srnnkls

0🍴 0📅 2026年1月25日
GitHubで見るManusで実行

SKILL.md


Manage Dotfiles Skill

Manage dotfiles using dotter - a dotfile manager and templater.

Environment

  • Dotfiles repo: ~/dotfiles
  • Dotter config: ~/dotfiles/.dotter/
    • global.toml: Package definitions (files to deploy)
    • local.toml: Machine-specific package selection
    • cache.toml: Deployment state cache

Core Commands

# Deploy all configured files
dotter deploy

# Preview changes without applying
dotter deploy --dry-run

# Undeploy all managed files
dotter undeploy

# Watch for changes and auto-deploy
dotter watch

Workflow: Add New Dotfile

Step 1: Add Source File

Place the configuration file in ~/dotfiles:

# Example: adding a new config
cp ~/.config/app/config.toml ~/dotfiles/.config/app/config.toml

Step 2: Define in global.toml

Add a new package or extend existing one in ~/dotfiles/.dotter/global.toml:

# New package
[myapp.files]
".config/app/config.toml" = "~/.config/app/config.toml"

# Or extend existing package
[existing-package.files]
".config/app/config.toml" = "~/.config/app/config.toml"

File mapping format: "source" = "target"

  • Source: relative path from dotfiles repo root
  • Target: absolute path or ~ for home directory

Step 3: Enable Package (if new)

Add package to ~/dotfiles/.dotter/local.toml:

packages = ["doom", "myapp"]

Step 4: Deploy

cd ~/dotfiles && dotter deploy

Workflow: Remove Dotfile

  1. Undeploy first: dotter undeploy
  2. Remove from global.toml: Delete the file mapping
  3. Remove package from local.toml (if removing entire package)
  4. Redeploy: dotter deploy
  5. Clean up source (optional): Remove file from dotfiles repo

Package Organization

Group related files into packages:

# Shell configuration
[shell.files]
".zshrc" = "~/.zshrc"
".zprofile" = "~/.zprofile"
".config/starship.toml" = "~/.config/starship.toml"

# Editor configuration
[nvim.files]
".config/nvim" = "~/.config/nvim"

# Git configuration
[git.files]
".gitconfig" = "~/.gitconfig"
".gitignore_global" = "~/.gitignore_global"

Templating

Dotter supports Handlebars templating for machine-specific values:

# In global.toml - define variables
[package.variables]
email = "default@example.com"

# In local.toml - override per machine
[variables]
email = "work@company.com"

In template files, use \{{email}} syntax.

Troubleshooting

Conflict with existing file:

# Force overwrite (use with caution)
dotter deploy --force

Check deployment status:

dotter deploy --dry-run --verbose

View what's currently deployed:

cat ~/dotfiles/.dotter/cache.toml

Best Practices

  • Keep packages granular and focused
  • Use descriptive package names
  • Commit changes to dotfiles repo after modifications
  • Test with --dry-run before deploying
  • Use templating for machine-specific values (email, paths)

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です