Skip to content

Repository files navigation

Dynamo's dotfiles 🏠 

> Managed with chezmoi 🤖 

Stargazers Issues

📖  Overview

This repository contains all my dotfiles and working configurations managed by chezmoi.

💻 Supported Platforms

Key Definition
✅ Fully supported
❔ Limited supported
❌ Not supported
🧪 Experimental

Architecture

OS/Distro amd64 armv8 (arm64) armv7 (arm) Note
Gentoo ✅ ✅ ❔
Arch Linux ✅ ✅ ❔ Included ARM version
Ubuntu ✅ ❔ ❔ Only from 24.04 LTS version
Alpine ✅ ✅ ❔ Only for container
MacOS ❌ ✅
Android ❔ ✅ ❌ Not need to rooted
Windows ❌ ❌ ❌ Some tools on WSL can work, but not tested

GUI server protocols

  • Linux Wayland: ✅
  • Linux X11: ❔
  • MacOS Quartz Compositor: ✅

🧠  Philosophy

  • Everything must be under control
  • Everything must be easy to initial or change
  • Everything must be automatically, with fewest manual steps before setup
  • Everything must be dynamic, on every places
  • Everything must have same pastel, with harmony

🔧  Rules

  • Manage all configurations by only chezmoi, not use any other tool (dotbot, comtrya, stow...) or IaC tool (ansible, nix...).
  • Use script and template of chezmoi to generate and run anything.
  • Use YAML to store shared config
  • Use age with separated identity for each purpose
  • Manage my home folders, some of OS configurations across multiple machines and working-in-progress folders
  • Must convert configurations of a tool to use Git submodule as a part of dotfiles, if match any of below conditions:
    • Not existed in any machine, and has large disk usage (>=1MiB)
    • Can be separated as a Git repository to get more stargazers, or to contribute from other folks :)
    • Conflict with this repository's LICENSE

📷  Screenshots

TODO: List all screenshots

📥  Installation

Run these commands:

curl -sSL https://raw.githubusercontent.com/dynamotn/dotfiles/main/scripts/prerequisite.sh | bash -
git clone https://github.com/dynamotn/dotfiles ~/Dotfiles
bash ~/Dotfiles/scripts/setup.sh

Answer questions, and wait to finish all setup scripts.

Note

  • If you aren't me, need to answer no (n) for "Do you want to decrypt... secrets?" questions. Don't ask me why :)
  • My chezmoi configurations are stored in my private chezmoi repo for all machines
  • You need to grant "Full Disk Access" permission for terminal apps to fully set up machine

📜  Cheatsheet

Key bindings

See key bindings

Commands

See commands

🔧  Tools & Packages

via my dytoy scripts

See dytoy

via Mason of neovim

All LSP servers, debuggers, formatters, linters when I used with neovim will be managed by mason plugin. I also have a custom registry in neovim config.

Releases

Packages

Contributors

Languages