# recleun/dotfiles architecture

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

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

## Overview

This repository is a personal dotfiles collection with a command-line installer. The documented workflow is a user invoking `rotfiles.sh` to install or uninstall a module or bundle, or to list modules and bundles and check installation status. The configuration spans desktop environments, shell and terminal tools, development applications, and utilities. The tree identifies these configuration areas, but no installer source was sampled, so internal dispatch and bundle membership are not shown.

Main entry points: [`rotfiles.sh`](https://github.com/recleun/dotfiles/blob/main/rotfiles.sh) (rotfiles CLI), [`modules/hyprland`](https://github.com/recleun/dotfiles/tree/main/modules/hyprland) (Hyprland), [`modules/i3`](https://github.com/recleun/dotfiles/tree/main/modules/i3) (i3), [`modules/waybar`](https://github.com/recleun/dotfiles/tree/main/modules/waybar) (Waybar)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_install["Dotfiles Installer"]
  node_rotfiles["rotfiles CLI<br/>[rotfiles.sh]"]
end

subgraph group_desktop["Desktop Environment"]
  node_hyprland["Hyprland"]
  node_i3["i3"]
  node_waybar["Waybar"]
  node_eww["Eww"]
  node_dunst["Dunst"]
  node_picom["Picom"]
end

subgraph group_terminal["Shell And Terminal"]
  node_fish["Fish Shell"]
  node_kitty["Kitty"]
  node_starship["Starship"]
end

subgraph group_development["Development Tools"]
  node_neovim["Neovim"]
  node_lazygit["Lazygit"]
end

subgraph group_utilities["Utilities And Appearance"]
  node_rofi["Rofi"]
  node_noctalia["Noctalia"]
  node_fastfetch["Fastfetch"]
  node_i3status["i3status"]
  node_xdg["XDG User Dirs"]
  node_xinit["X Init"]
  node_scripts["User Scripts"]
end

node_user(("User"))

node_user -->|"runs commands"| node_rotfiles
node_rotfiles -->|"installs module"| node_hyprland
node_rotfiles -->|"installs module"| node_i3
node_rotfiles -->|"installs module"| node_waybar
node_rotfiles -->|"installs module"| node_eww
node_rotfiles -->|"installs module"| node_dunst
node_rotfiles -->|"installs module"| node_picom
node_rotfiles -->|"installs module"| node_fish
node_rotfiles -->|"installs module"| node_kitty
node_rotfiles -->|"installs module"| node_starship
node_rotfiles -->|"installs module"| node_neovim
node_rotfiles -->|"installs module"| node_lazygit
node_rotfiles -->|"installs module"| node_rofi
node_rotfiles -->|"installs module"| node_noctalia
node_rotfiles -->|"installs module"| node_fastfetch
node_rotfiles -->|"installs module"| node_i3status
node_rotfiles -->|"installs module"| node_xdg
node_rotfiles -->|"installs module"| node_xinit
node_rotfiles -->|"installs module"| node_scripts

click node_rotfiles "https://github.com/recleun/dotfiles/blob/main/rotfiles.sh"
click node_hyprland "https://github.com/recleun/dotfiles/tree/main/modules/hyprland"
click node_i3 "https://github.com/recleun/dotfiles/tree/main/modules/i3"
click node_waybar "https://github.com/recleun/dotfiles/tree/main/modules/waybar"
click node_eww "https://github.com/recleun/dotfiles/tree/main/modules/eww"
click node_dunst "https://github.com/recleun/dotfiles/tree/main/modules/dunst"
click node_picom "https://github.com/recleun/dotfiles/tree/main/modules/picom"
click node_fish "https://github.com/recleun/dotfiles/tree/main/modules/fish"
click node_kitty "https://github.com/recleun/dotfiles/tree/main/modules/kitty"
click node_starship "https://github.com/recleun/dotfiles/tree/main/modules/starship"
click node_neovim "https://github.com/recleun/dotfiles/tree/main/modules/neovim"
click node_lazygit "https://github.com/recleun/dotfiles/tree/main/modules/lazygit"
click node_rofi "https://github.com/recleun/dotfiles/tree/main/modules/rofi"
click node_noctalia "https://github.com/recleun/dotfiles/tree/main/modules/noctalia"
click node_fastfetch "https://github.com/recleun/dotfiles/tree/main/modules/fastfetch"
click node_i3status "https://github.com/recleun/dotfiles/tree/main/modules/i3status"
click node_xdg "https://github.com/recleun/dotfiles/tree/main/modules/xdg"
click node_xinit "https://github.com/recleun/dotfiles/tree/main/modules/xinit"
click node_scripts "https://github.com/recleun/dotfiles/tree/main/modules/scripts"

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_rotfiles,node_user toneBlue
class node_hyprland,node_i3,node_waybar,node_eww,node_dunst,node_picom toneAmber
class node_fish,node_kitty,node_starship toneMint
class node_neovim,node_lazygit toneRose
class node_rofi,node_noctalia,node_fastfetch,node_i3status,node_xdg,node_xinit,node_scripts toneIndigo
```

## Components

### Dotfiles Installer

- [rotfiles CLI](https://github.com/recleun/dotfiles/blob/main/rotfiles.sh): `rotfiles.sh`

### Desktop Environment

- [Hyprland](https://github.com/recleun/dotfiles/tree/main/modules/hyprland): `modules/hyprland`
- [i3](https://github.com/recleun/dotfiles/tree/main/modules/i3): `modules/i3`
- [Waybar](https://github.com/recleun/dotfiles/tree/main/modules/waybar): `modules/waybar`
- [Eww](https://github.com/recleun/dotfiles/tree/main/modules/eww): `modules/eww`
- [Dunst](https://github.com/recleun/dotfiles/tree/main/modules/dunst): `modules/dunst`
- [Picom](https://github.com/recleun/dotfiles/tree/main/modules/picom): `modules/picom`

### Shell And Terminal

- [Fish Shell](https://github.com/recleun/dotfiles/tree/main/modules/fish): `modules/fish`
- [Kitty](https://github.com/recleun/dotfiles/tree/main/modules/kitty): `modules/kitty`
- [Starship](https://github.com/recleun/dotfiles/tree/main/modules/starship): `modules/starship`

### Development Tools

- [Neovim](https://github.com/recleun/dotfiles/tree/main/modules/neovim): `modules/neovim`
- [Lazygit](https://github.com/recleun/dotfiles/tree/main/modules/lazygit): `modules/lazygit`

### Utilities And Appearance

- [Rofi](https://github.com/recleun/dotfiles/tree/main/modules/rofi): `modules/rofi`
- [Noctalia](https://github.com/recleun/dotfiles/tree/main/modules/noctalia): `modules/noctalia`
- [Fastfetch](https://github.com/recleun/dotfiles/tree/main/modules/fastfetch): `modules/fastfetch`
- [i3status](https://github.com/recleun/dotfiles/tree/main/modules/i3status): `modules/i3status`
- [XDG User Dirs](https://github.com/recleun/dotfiles/tree/main/modules/xdg): `modules/xdg`
- [X Init](https://github.com/recleun/dotfiles/tree/main/modules/xinit): `modules/xinit`
- [User Scripts](https://github.com/recleun/dotfiles/tree/main/modules/scripts): `modules/scripts`

### Other components

- **User**

## Connections

- User → rotfiles CLI: runs commands
- rotfiles CLI → Hyprland: installs module
- rotfiles CLI → i3: installs module
- rotfiles CLI → Waybar: installs module
- rotfiles CLI → Eww: installs module
- rotfiles CLI → Dunst: installs module
- rotfiles CLI → Picom: installs module
- rotfiles CLI → Fish Shell: installs module
- rotfiles CLI → Kitty: installs module
- rotfiles CLI → Starship: installs module
- rotfiles CLI → Neovim: installs module
- rotfiles CLI → Lazygit: installs module
- rotfiles CLI → Rofi: installs module
- rotfiles CLI → Noctalia: installs module
- rotfiles CLI → Fastfetch: installs module
- rotfiles CLI → i3status: installs module
- rotfiles CLI → XDG User Dirs: installs module
- rotfiles CLI → X Init: installs module
- rotfiles CLI → User Scripts: installs module
