# adam-pearman/dotfiles architecture

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

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

## Overview

This repository is a personal developer-environment configuration set, not an application with a single data-processing pipeline. Its main workflow is a developer using configured editors and terminal tools; each tool reads its corresponding configuration. The tree identifies Neovim’s settings, plugin configuration, and snippets, but source excerpts and capability documentation are unavailable, so internal calls and detailed plugin behavior are not inferred.

Main entry points: [`ideavim/ideavimrc`](https://github.com/adam-pearman/dotfiles/blob/main/ideavim/ideavimrc) (IdeaVim settings), [`nvim/init.lua`](https://github.com/adam-pearman/dotfiles/blob/main/nvim/init.lua) (Neovim entry config), [`kitty/kitty.conf`](https://github.com/adam-pearman/dotfiles/blob/main/kitty/kitty.conf) (Kitty settings), [`tmux/tmux.conf`](https://github.com/adam-pearman/dotfiles/blob/main/tmux/tmux.conf) (tmux settings)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_editors["Editor configuration"]
  node_ideavim["IdeaVim"]
  node_ideavimrc["IdeaVim settings"]
  node_nvim["Neovim"]
  node_nvim_init["Neovim entry config<br/>[init.lua]"]
  node_nvim_user["User settings"]
  node_nvim_plugins["Plugin settings"]
  node_nvim_snippets["Code snippets"]
end

subgraph group_terminal["Terminal configuration"]
  node_kitty["Kitty terminal"]
  node_kitty_conf["Kitty settings<br/>[kitty.conf]"]
  node_kitty_theme["Kitty theme<br/>[current-theme.conf]"]
  node_tmux["tmux"]
  node_tmux_conf["tmux settings<br/>[tmux.conf]"]
  node_zsh["Zsh"]
  node_zshrc["Zsh settings"]
end

subgraph group_php["PHP tooling"]
  node_phpactor["Phpactor"]
  node_phpactor_config["Phpactor settings<br/>[phpactor.yml]"]
  node_phpactor_template["Laravel test template"]
end

node_developer(("Developer"))

node_developer -->|"uses"| node_ideavim
node_ideavim -->|"reads settings"| node_ideavimrc
node_developer -->|"uses"| node_nvim
node_nvim -->|"reads settings"| node_nvim_init
node_developer -->|"uses"| node_kitty
node_kitty -->|"reads settings"| node_kitty_conf
node_developer -->|"uses"| node_tmux
node_tmux -->|"reads settings"| node_tmux_conf
node_developer -->|"uses"| node_zsh
node_zsh -->|"reads settings"| node_zshrc
node_developer -->|"uses"| node_phpactor
node_phpactor -->|"reads settings"| node_phpactor_config

click node_ideavimrc "https://github.com/adam-pearman/dotfiles/blob/main/ideavim/ideavimrc"
click node_nvim_init "https://github.com/adam-pearman/dotfiles/blob/main/nvim/init.lua"
click node_nvim_user "https://github.com/adam-pearman/dotfiles/tree/main/nvim/lua/user"
click node_nvim_plugins "https://github.com/adam-pearman/dotfiles/tree/main/nvim/lua/user/plugins"
click node_nvim_snippets "https://github.com/adam-pearman/dotfiles/tree/main/nvim/snippets"
click node_kitty_conf "https://github.com/adam-pearman/dotfiles/blob/main/kitty/kitty.conf"
click node_kitty_theme "https://github.com/adam-pearman/dotfiles/blob/main/kitty/current-theme.conf"
click node_tmux_conf "https://github.com/adam-pearman/dotfiles/blob/main/tmux/tmux.conf"
click node_zshrc "https://github.com/adam-pearman/dotfiles/blob/main/zsh/zshrc"
click node_phpactor_config "https://github.com/adam-pearman/dotfiles/blob/main/phpactor/phpactor.yml"
click node_phpactor_template "https://github.com/adam-pearman/dotfiles/blob/main/phpactor/templates/laravel-test/SourceCode.php.twig"

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_ideavim,node_ideavimrc,node_nvim,node_nvim_init,node_nvim_user,node_nvim_plugins,node_nvim_snippets toneBlue
class node_kitty,node_kitty_conf,node_kitty_theme,node_tmux,node_tmux_conf,node_zsh,node_zshrc toneAmber
class node_phpactor,node_phpactor_config,node_phpactor_template toneMint
class node_developer toneIndigo
```

## Components

### Editor configuration

- **IdeaVim**
- [IdeaVim settings](https://github.com/adam-pearman/dotfiles/blob/main/ideavim/ideavimrc): `ideavim/ideavimrc`
- **Neovim**
- [Neovim entry config](https://github.com/adam-pearman/dotfiles/blob/main/nvim/init.lua): `nvim/init.lua`
- [User settings](https://github.com/adam-pearman/dotfiles/tree/main/nvim/lua/user): `nvim/lua/user`
- [Plugin settings](https://github.com/adam-pearman/dotfiles/tree/main/nvim/lua/user/plugins): `nvim/lua/user/plugins`
- [Code snippets](https://github.com/adam-pearman/dotfiles/tree/main/nvim/snippets): `nvim/snippets`

### Terminal configuration

- **Kitty terminal**
- [Kitty settings](https://github.com/adam-pearman/dotfiles/blob/main/kitty/kitty.conf): `kitty/kitty.conf`
- [Kitty theme](https://github.com/adam-pearman/dotfiles/blob/main/kitty/current-theme.conf): `kitty/current-theme.conf`
- **tmux**
- [tmux settings](https://github.com/adam-pearman/dotfiles/blob/main/tmux/tmux.conf): `tmux/tmux.conf`
- **Zsh**
- [Zsh settings](https://github.com/adam-pearman/dotfiles/blob/main/zsh/zshrc): `zsh/zshrc`

### PHP tooling

- **Phpactor**
- [Phpactor settings](https://github.com/adam-pearman/dotfiles/blob/main/phpactor/phpactor.yml): `phpactor/phpactor.yml`
- [Laravel test template](https://github.com/adam-pearman/dotfiles/blob/main/phpactor/templates/laravel-test/SourceCode.php.twig): `phpactor/templates/laravel-test/SourceCode.php.twig`

### Other components

- **Developer**

## Connections

- Developer → IdeaVim: uses
- IdeaVim → IdeaVim settings: reads settings
- Developer → Neovim: uses
- Neovim → Neovim entry config: reads settings
- Developer → Kitty terminal: uses
- Kitty terminal → Kitty settings: reads settings
- Developer → tmux: uses
- tmux → tmux settings: reads settings
- Developer → Zsh: uses
- Zsh → Zsh settings: reads settings
- Developer → Phpactor: uses
- Phpactor → Phpactor settings: reads settings
