# iamkevincruz/dotfiles architecture

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

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

## Overview

This repository is a personal workstation configuration managed as dotfiles, spanning shell, terminal, editor, desktop, and utility settings. The tree identifies the configured tools and several helper scripts, but there is no README or source excerpt documenting how they interact. The graph therefore maps the main configuration areas and named workflows without inferring runtime calls or service wiring.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell_terminal["Shell and terminal"]
  node_zsh["Zsh environment<br/>[dot_zshrc.tmpl]"]
  node_tmux["Tmux configuration<br/>[dot_tmux.conf]"]
  node_zellij["Zellij configuration<br/>[config.kdl]"]
  node_ghostty["Ghostty configuration<br/>[config.ghostty]"]
end

subgraph group_desktop["Desktop environment"]
  node_niri["Niri configuration<br/>[config.kdl]"]
  node_noctalia["Noctalia configuration<br/>[config.toml]"]
  node_noctalia_plugins["Noctalia plugins<br/>[plugins.json]"]
end

subgraph group_editing["Editing tools"]
  node_nvim["Neovim configuration<br/>[init.lua]"]
  node_emacs["Emacs configuration<br/>[init.el]"]
  node_bat["Bat configuration"]
end

subgraph group_utilities["Utilities and services"]
  node_git["Git settings"]
  node_lemonade["Lemonade settings<br/>[README.md]"]
  node_lemonade_service["Lemonade service<br/>[lemonade.service]"]
  node_lemonade_open["Lemonade opener"]
  node_screenshot["Screenshot helpers"]
  node_focus_launch["Focus or launch"]
  node_herdr["Herdr settings<br/>[config.toml]"]
  node_herdr_scripts["Herdr helpers"]
end

node_user(("Workstation user"))

click node_zsh "https://github.com/iamkevincruz/dotfiles/blob/main/dot_zshrc.tmpl"
click node_tmux "https://github.com/iamkevincruz/dotfiles/blob/main/dot_tmux.conf"
click node_zellij "https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/zellij/config.kdl"
click node_ghostty "https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/ghostty/config.ghostty"
click node_niri "https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/niri/config.kdl"
click node_noctalia "https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/noctalia/config.toml"
click node_noctalia_plugins "https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/noctalia/plugins.json"
click node_nvim "https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/nvim/init.lua"
click node_emacs "https://github.com/iamkevincruz/dotfiles/blob/main/dot_emacs.d/init.el"
click node_bat "https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/bat/config"
click node_git "https://github.com/iamkevincruz/dotfiles/blob/main/dot_gitconfig"
click node_lemonade "https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/lemonade/README.md"
click node_lemonade_service "https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/systemd/user/lemonade.service"
click node_lemonade_open "https://github.com/iamkevincruz/dotfiles/blob/main/dot_local/bin/executable_lemonade-open"
click node_screenshot "https://github.com/iamkevincruz/dotfiles/blob/main/dot_local/bin/executable_screenshot-region"
click node_focus_launch "https://github.com/iamkevincruz/dotfiles/blob/main/dot_local/bin/executable_focus-or-launch"
click node_herdr "https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/herdr/config.toml"
click node_herdr_scripts "https://github.com/iamkevincruz/dotfiles/blob/main/dot_local/bin/executable_herdr-name-session-from-tab"

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_zsh,node_tmux,node_zellij,node_ghostty,node_user toneBlue
class node_niri,node_noctalia,node_noctalia_plugins toneAmber
class node_nvim,node_emacs,node_bat toneMint
class node_git,node_lemonade,node_lemonade_service,node_lemonade_open,node_screenshot,node_focus_launch,node_herdr,node_herdr_scripts toneRose
```

## Components

### Shell and terminal

- [Zsh environment](https://github.com/iamkevincruz/dotfiles/blob/main/dot_zshrc.tmpl): `dot_zshrc.tmpl`
- [Tmux configuration](https://github.com/iamkevincruz/dotfiles/blob/main/dot_tmux.conf): `dot_tmux.conf`
- [Zellij configuration](https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/zellij/config.kdl): `dot_config/zellij/config.kdl`
- [Ghostty configuration](https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/ghostty/config.ghostty): `dot_config/ghostty/config.ghostty`

### Desktop environment

- [Niri configuration](https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/niri/config.kdl): `dot_config/niri/config.kdl`
- [Noctalia configuration](https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/noctalia/config.toml): `dot_config/noctalia/config.toml`
- [Noctalia plugins](https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/noctalia/plugins.json): `dot_config/noctalia/plugins.json`

### Editing tools

- [Neovim configuration](https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/nvim/init.lua): `dot_config/nvim/init.lua`
- [Emacs configuration](https://github.com/iamkevincruz/dotfiles/blob/main/dot_emacs.d/init.el): `dot_emacs.d/init.el`
- [Bat configuration](https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/bat/config): `dot_config/bat/config`

### Utilities and services

- [Git settings](https://github.com/iamkevincruz/dotfiles/blob/main/dot_gitconfig): `dot_gitconfig`
- [Lemonade settings](https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/lemonade/README.md): `dot_config/lemonade/README.md`
- [Lemonade service](https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/systemd/user/lemonade.service): `dot_config/systemd/user/lemonade.service`
- [Lemonade opener](https://github.com/iamkevincruz/dotfiles/blob/main/dot_local/bin/executable_lemonade-open): `dot_local/bin/executable_lemonade-open`
- [Screenshot helpers](https://github.com/iamkevincruz/dotfiles/blob/main/dot_local/bin/executable_screenshot-region): `dot_local/bin/executable_screenshot-region`
- [Focus or launch](https://github.com/iamkevincruz/dotfiles/blob/main/dot_local/bin/executable_focus-or-launch): `dot_local/bin/executable_focus-or-launch`
- [Herdr settings](https://github.com/iamkevincruz/dotfiles/blob/main/dot_config/herdr/config.toml): `dot_config/herdr/config.toml`
- [Herdr helpers](https://github.com/iamkevincruz/dotfiles/blob/main/dot_local/bin/executable_herdr-name-session-from-tab): `dot_local/bin/executable_herdr-name-session-from-tab`

### Other components

- **Workstation user**
