# zasdaym/dotfiles architecture

> Architecture diagram of the GitHub repository zasdaym/dotfiles, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/zasdaym/dotfiles
- Repository: https://github.com/zasdaym/dotfiles

## Overview

This repository manages personal dotfiles and bootstraps a fresh macOS or Linux machine. The documented flow is either to run the installer, which installs mise, clones the repository, and starts bootstrap, or to invoke mise bootstrap directly; afterward, mise dotfiles apply symlinks configuration files. The tree shows managed configuration and platform-specific mise files, but no source excerpts were provided, so the graph is limited to README-documented relationships.

Main entry points: [`install.sh`](https://github.com/zasdaym/dotfiles/blob/main/install.sh) (Installer), [`.config`](https://github.com/zasdaym/dotfiles/tree/main/.config) (User configs)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_bootstrap["Bootstrap"]
  node_installer["Installer<br/>[install.sh]"]
  node_mise["mise"]
  node_host_setup["Host setup"]
end

subgraph group_management["Dotfile management"]
  node_dotfiles["Dotfiles checkout"]
  node_apply["Apply configs"]
end

subgraph group_settings["Managed settings"]
  node_config["User configs<br/>[.config]"]
  node_mise_config["mise settings<br/>[mise.toml]"]
  node_mac_config["macOS settings<br/>[mise.macos.toml]"]
  node_linux_config["Linux settings<br/>[mise.linux.toml]"]
end

node_user(("Machine owner"))

node_user -->|"runs installer"| node_installer
node_installer -->|"installs"| node_mise
node_installer -->|"clones"| node_dotfiles
node_installer -->|"runs bootstrap"| node_mise
node_user -->|"runs bootstrap"| node_mise
node_mise -->|"bootstraps host"| node_host_setup
node_user -->|"requests apply"| node_apply
node_apply -->|"uses dotfiles command"| node_mise
node_mise -->|"symlinks configs"| node_config

click node_installer "https://github.com/zasdaym/dotfiles/blob/main/install.sh"
click node_config "https://github.com/zasdaym/dotfiles/tree/main/.config"
click node_mise_config "https://github.com/zasdaym/dotfiles/blob/main/mise.toml"
click node_mac_config "https://github.com/zasdaym/dotfiles/blob/main/mise.macos.toml"
click node_linux_config "https://github.com/zasdaym/dotfiles/blob/main/mise.linux.toml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_installer,node_mise,node_host_setup toneBlue
class node_dotfiles,node_apply toneAmber
class node_config,node_mise_config,node_mac_config,node_linux_config toneMint
class node_user toneIndigo
```

## Components

### Bootstrap

- [Installer](https://github.com/zasdaym/dotfiles/blob/main/install.sh): `install.sh`
- **mise**
- **Host setup**

### Dotfile management

- **Dotfiles checkout**
- **Apply configs**

### Managed settings

- [User configs](https://github.com/zasdaym/dotfiles/tree/main/.config): `.config`
- [mise settings](https://github.com/zasdaym/dotfiles/blob/main/mise.toml): `mise.toml`
- [macOS settings](https://github.com/zasdaym/dotfiles/blob/main/mise.macos.toml): `mise.macos.toml`
- [Linux settings](https://github.com/zasdaym/dotfiles/blob/main/mise.linux.toml): `mise.linux.toml`

### Other components

- **Machine owner**

## Connections

- Machine owner → Installer: runs installer (evidence: `README.md`)
- Installer → mise: installs (evidence: `README.md`)
- Installer → Dotfiles checkout: clones (evidence: `README.md`)
- Installer → mise: runs bootstrap (evidence: `README.md`)
- Machine owner → mise: runs bootstrap (evidence: `README.md`)
- mise → Host setup: bootstraps host (evidence: `README.md`)
- Machine owner → Apply configs: requests apply (evidence: `README.md`)
- Apply configs → mise: uses dotfiles command (evidence: `README.md`)
- mise → User configs: symlinks configs (evidence: `README.md`)
