# mhd-gdev/riceinstaller architecture

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

- Interactive diagram: https://gitdiagram.com/mhd-gdev/riceinstaller
- Repository: https://github.com/mhd-gdev/riceinstaller

## Overview

MHD RiceInstaller is a Wayland/Hyprland desktop setup and theming collection. The user installs the environment, selects one of 13 rices, and can change wallpapers or use desktop utilities; the selected configuration supplies a consistent look across desktop and development tools. The README documents these capabilities, but most scripts and configuration files were not sampled, so their internal calls are not shown. The sampled Fastfetch renderer also gathers system information and can request a logo from the external `fastfetch` command.

Main entry points: [`ConfigFiles/wayland/rices`](https://github.com/mhd-gdev/riceinstaller/tree/master/ConfigFiles/wayland/rices) (13 rice configurations), [`RiceInstaller.sh`](https://github.com/mhd-gdev/riceinstaller/blob/master/RiceInstaller.sh) (Rice installer), [`ConfigFiles/wayland/scripts/rice-selector`](https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/scripts/rice-selector) (Rice selector), [`ConfigFiles/wayland/scripts/wallpaper-selector`](https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/scripts/wallpaper-selector) (Wallpaper selector)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_setup["Installation"]
  node_installer["Rice installer<br/>[RiceInstaller.sh]"]
  node_package_sets["Package selections"]
end

subgraph group_desktop["Desktop environment"]
  node_desktop_configs["Desktop configurations"]
  node_hyprland["Hyprland setup<br/>[hyprland.lua]"]
  node_fastfetch_config["Fastfetch config<br/>[config.jsonc]"]
  node_fetch["3D system fetch<br/>[fetch.c]"]
end

subgraph group_themes["Themes and utilities"]
  node_rice_selector["Rice selector"]
  node_rice_configs["13 rice configurations"]
  node_wallpaper_selector["Wallpaper selector"]
  node_wallpapers["Rice wallpapers"]
  node_utilities["Desktop utilities"]
end

subgraph group_development["Development tools"]
  node_nvim["Neovim IDE"]
  node_zsh["Zsh setup<br/>[.zshrc]"]
  node_tmux["Tmux config<br/>[tmux.conf]"]
end

node_user(("Desktop user"))
node_fastfetch["Fastfetch"]

node_user -->|"runs setup"| node_installer
node_installer -->|"selects packages"| node_package_sets
node_installer -->|"sets up"| node_desktop_configs
node_user -->|"selects theme"| node_rice_selector
node_rice_selector -->|"switches theme"| node_rice_configs
node_user -->|"chooses wallpaper"| node_wallpaper_selector
node_wallpaper_selector -->|"selects from"| node_wallpapers
node_rice_configs -.->|"themes desktop"| node_desktop_configs
node_rice_configs -->|"shares theme colors"| node_nvim
node_rice_configs -->|"shares theme colors"| node_tmux
node_user -->|"runs utilities"| node_utilities
node_user -->|"uses IDE"| node_nvim
node_user -->|"uses shell setup"| node_zsh
node_fetch -->|"loads logos"| node_fastfetch

click node_installer "https://github.com/mhd-gdev/riceinstaller/blob/master/RiceInstaller.sh"
click node_package_sets "https://github.com/mhd-gdev/riceinstaller/blob/master/arch-rice-wayland-packs.txt"
click node_desktop_configs "https://github.com/mhd-gdev/riceinstaller/tree/master/ConfigFiles/wayland"
click node_hyprland "https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/hypr/hyprland.lua"
click node_fastfetch_config "https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/fastfetch/config.jsonc"
click node_fetch "https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/fastfetch/3dfetch/fetch.c"
click node_rice_selector "https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/scripts/rice-selector"
click node_rice_configs "https://github.com/mhd-gdev/riceinstaller/tree/master/ConfigFiles/wayland/rices"
click node_wallpaper_selector "https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/scripts/wallpaper-selector"
click node_wallpapers "https://github.com/mhd-gdev/riceinstaller/tree/master/ConfigFiles/wayland/rices"
click node_utilities "https://github.com/mhd-gdev/riceinstaller/tree/master/ConfigFiles/wayland/scripts"
click node_nvim "https://github.com/mhd-gdev/riceinstaller/tree/master/IDE/nvim"
click node_zsh "https://github.com/mhd-gdev/riceinstaller/blob/master/.zshrc"
click node_tmux "https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/tmux/tmux.conf"

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_package_sets,node_user toneBlue
class node_desktop_configs,node_hyprland,node_fastfetch_config,node_fetch toneAmber
class node_rice_selector,node_rice_configs,node_wallpaper_selector,node_wallpapers,node_utilities toneMint
class node_nvim,node_zsh,node_tmux toneRose
class node_fastfetch toneIndigo
```

## Components

### Installation

- [Rice installer](https://github.com/mhd-gdev/riceinstaller/blob/master/RiceInstaller.sh): `RiceInstaller.sh`
- [Package selections](https://github.com/mhd-gdev/riceinstaller/blob/master/arch-rice-wayland-packs.txt): `arch-rice-wayland-packs.txt`

### Desktop environment

- [Desktop configurations](https://github.com/mhd-gdev/riceinstaller/tree/master/ConfigFiles/wayland): `ConfigFiles/wayland`
- [Hyprland setup](https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/hypr/hyprland.lua): `ConfigFiles/hypr/hyprland.lua`
- [Fastfetch config](https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/fastfetch/config.jsonc): `ConfigFiles/wayland/fastfetch/config.jsonc`
- [3D system fetch](https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/fastfetch/3dfetch/fetch.c): `ConfigFiles/wayland/fastfetch/3dfetch/fetch.c`

### Themes and utilities

- [Rice selector](https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/scripts/rice-selector): `ConfigFiles/wayland/scripts/rice-selector`
- [13 rice configurations](https://github.com/mhd-gdev/riceinstaller/tree/master/ConfigFiles/wayland/rices): `ConfigFiles/wayland/rices`
- [Wallpaper selector](https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/scripts/wallpaper-selector): `ConfigFiles/wayland/scripts/wallpaper-selector`
- [Rice wallpapers](https://github.com/mhd-gdev/riceinstaller/tree/master/ConfigFiles/wayland/rices): `ConfigFiles/wayland/rices`
- [Desktop utilities](https://github.com/mhd-gdev/riceinstaller/tree/master/ConfigFiles/wayland/scripts): `ConfigFiles/wayland/scripts`

### Development tools

- [Neovim IDE](https://github.com/mhd-gdev/riceinstaller/tree/master/IDE/nvim): `IDE/nvim`
- [Zsh setup](https://github.com/mhd-gdev/riceinstaller/blob/master/.zshrc): `.zshrc`
- [Tmux config](https://github.com/mhd-gdev/riceinstaller/blob/master/ConfigFiles/wayland/tmux/tmux.conf): `ConfigFiles/wayland/tmux/tmux.conf`

### Other components

- **Desktop user**
- **Fastfetch**

## Connections

- Desktop user → Rice installer: runs setup (evidence: `README.md`)
- Rice installer → Package selections: selects packages (evidence: `README.md`)
- Rice installer → Desktop configurations: sets up (evidence: `README.md`)
- Desktop user → Rice selector: selects theme (evidence: `README.md`)
- Rice selector → 13 rice configurations: switches theme (evidence: `README.md`)
- Desktop user → Wallpaper selector: chooses wallpaper (evidence: `README.md`)
- Wallpaper selector → Rice wallpapers: selects from (evidence: `README.md`)
- 13 rice configurations → Desktop configurations: themes desktop
- 13 rice configurations → Neovim IDE: shares theme colors (evidence: `README.md`)
- 13 rice configurations → Tmux config: shares theme colors (evidence: `README.md`)
- Desktop user → Desktop utilities: runs utilities (evidence: `README.md`)
- Desktop user → Neovim IDE: uses IDE (evidence: `README.md`)
- Desktop user → Zsh setup: uses shell setup (evidence: `README.md`)
- 3D system fetch → Fastfetch: loads logos (evidence: `ConfigFiles/wayland/fastfetch/3dfetch/fetch.c`)
