# superdarke14/dotfiles architecture

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

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

## Overview

#### Purpose and Entry Points
This repository is a personal Linux desktop/window-manager configuration set, centered on Hyprland and related idle, lock, wallpaper, and theming services. Primary runtime entry points are `hyprland.conf`, `hypridle.conf`, `hyprlock.conf`, `hyprpaper.conf`, and `rc.lua`.

#### Hyprland Session Configuration
`hyprland.conf` is the main compositor configuration and likely defines monitor, input, window, workspace, keybinding, and startup behavior. `hyprland_idle.config` appears to be an alternate or legacy Hyprland idle-policy file. Hyprland is the central process boundary: it launches and coordinates the Wayland desktop session.

#### Idle and Screen-Lock Pipeline
Idle detection is configured through `hypridle.conf` for Hyprland-native idle management, with `swayidle.config` retained as an alternative configuration for the Sway-compatible idle daemon. Lock-screen behavior is defined in `hyprlock.conf`; `hyprlock_backup.conf` preserves a fallback version. The expected flow is inactivity detection → screen/session actions → lock invocation.

#### Wallpaper and Visual Theme
`hyprpaper.conf` configures Hyprpaper, the wallpaper service used alongside Hyprland. Visual consistency also crosses into Lua-based theme definitions in `theme.lua`, allowing a common color/style source for Lua consumers and compositor-adjacent configuration.

#### Lua-Configured Desktop Component
`rc.lua` is the entry point for a Lua-configured component, most plausibly an AwesomeWM configuration or another Lua-driven desktop utility. It is architecturally separate from the Hyprland configuration path, indicating either an alternate window-manager setup or shared desktop customization.

#### Configuration History and Recovery
`config_backup` and `hyprlock_backup.conf` provide recovery/fallback boundaries for active configuration. `config` likely holds an additional generic configuration artifact or directory-level configuration source. These backups allow desktop-session settings to be restored without changing the primary active files.

Main entry points: [`hyprlock.conf`](https://github.com/superdarke14/dotfiles/blob/main/hyprlock.conf) (Hyprlock config), [`hyprland.conf`](https://github.com/superdarke14/dotfiles/blob/main/hyprland.conf) (Hyprland config), [`hyprland_idle.config`](https://github.com/superdarke14/dotfiles/blob/main/hyprland_idle.config) (Legacy idle policy), [`hypridle.conf`](https://github.com/superdarke14/dotfiles/blob/main/hypridle.conf) (Hypridle config)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_hyprland["Hyprland Session"]
  node_hyprland_conf["Hyprland config<br/>compositor config<br/>[hyprland.conf]"]
  node_hyprland_runtime{{"Hyprland<br/>Wayland compositor"}}
  node_hyprland_idle_legacy["Legacy idle policy<br/>alternate config"]
end

subgraph group_idle_lock["Idle &amp; Lock"]
  node_hypridle_conf["Hypridle config<br/>[hypridle.conf]"]
  node_hypridle_runtime{{"Hypridle<br/>idle daemon"}}
  node_swayidle_conf["Swayidle config<br/>alternate idle config<br/>[swayidle.config]"]
  node_hyprlock_conf["Hyprlock config<br/>[hyprlock.conf]"]
  node_hyprlock_runtime{{"Hyprlock<br/>lock screen"}}
end

subgraph group_visuals["Visual Theme"]
  node_hyprpaper_conf["Hyprpaper config<br/>wallpaper config<br/>[hyprpaper.conf]"]
  node_hyprpaper_runtime{{"Hyprpaper<br/>wallpaper service"}}
  node_theme_lua["Lua theme<br/>theme definitions<br/>[theme.lua]"]
end

subgraph group_lua["Lua Desktop"]
  node_rc_lua["Lua desktop entry<br/>desktop config<br/>[rc.lua]"]
end

subgraph group_recovery["Recovery"]
  node_config["Generic config<br/>configuration source"]
  node_config_backup["Config backup<br/>recovery copy"]
  node_hyprlock_backup["Hyprlock backup<br/>recovery copy"]
end

node_hyprland_conf -->|"configures"| node_hyprland_runtime
node_hyprland_idle_legacy -.->|"alternate policy"| node_hyprland_runtime
node_hyprland_runtime -->|"starts"| node_hypridle_runtime
node_hypridle_conf -->|"configures"| node_hypridle_runtime
node_swayidle_conf -.->|"alternative idle setup"| node_hypridle_runtime
node_hypridle_runtime -->|"locks on inactivity"| node_hyprlock_runtime
node_hyprlock_conf -->|"configures"| node_hyprlock_runtime
node_hyprland_runtime -->|"starts"| node_hyprpaper_runtime
node_hyprpaper_conf -->|"configures"| node_hyprpaper_runtime
node_theme_lua -->|"provides theme"| node_rc_lua
node_config_backup -.->|"restores"| node_config
node_hyprlock_backup -.->|"restores"| node_hyprlock_conf

click node_hyprland_conf "https://github.com/superdarke14/dotfiles/blob/main/hyprland.conf"
click node_hyprland_idle_legacy "https://github.com/superdarke14/dotfiles/blob/main/hyprland_idle.config"
click node_hypridle_conf "https://github.com/superdarke14/dotfiles/blob/main/hypridle.conf"
click node_swayidle_conf "https://github.com/superdarke14/dotfiles/blob/main/swayidle.config"
click node_hyprlock_conf "https://github.com/superdarke14/dotfiles/blob/main/hyprlock.conf"
click node_hyprpaper_conf "https://github.com/superdarke14/dotfiles/blob/main/hyprpaper.conf"
click node_theme_lua "https://github.com/superdarke14/dotfiles/blob/main/theme.lua"
click node_rc_lua "https://github.com/superdarke14/dotfiles/blob/main/rc.lua"
click node_config "https://github.com/superdarke14/dotfiles/blob/main/config"
click node_config_backup "https://github.com/superdarke14/dotfiles/blob/main/config_backup"
click node_hyprlock_backup "https://github.com/superdarke14/dotfiles/blob/main/hyprlock_backup.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_hyprland_conf,node_hyprland_runtime,node_hyprland_idle_legacy toneBlue
class node_hypridle_conf,node_hypridle_runtime,node_swayidle_conf,node_hyprlock_conf,node_hyprlock_runtime toneAmber
class node_hyprpaper_conf,node_hyprpaper_runtime,node_theme_lua toneMint
class node_rc_lua toneRose
class node_config,node_config_backup,node_hyprlock_backup toneIndigo
```

## Components

### Hyprland Session

- [Hyprland config](https://github.com/superdarke14/dotfiles/blob/main/hyprland.conf): compositor config · Primary Wayland session configuration. · `hyprland.conf`
- **Hyprland**: Wayland compositor · Central desktop-session process boundary.
- [Legacy idle policy](https://github.com/superdarke14/dotfiles/blob/main/hyprland_idle.config): alternate config · `hyprland_idle.config`

### Idle & Lock

- [Hypridle config](https://github.com/superdarke14/dotfiles/blob/main/hypridle.conf): idle config · `hypridle.conf`
- **Hypridle**: idle daemon · Detects inactivity and triggers session actions.
- [Swayidle config](https://github.com/superdarke14/dotfiles/blob/main/swayidle.config): alternate idle config · `swayidle.config`
- [Hyprlock config](https://github.com/superdarke14/dotfiles/blob/main/hyprlock.conf): lock config · `hyprlock.conf`
- **Hyprlock**: lock screen

### Visual Theme

- [Hyprpaper config](https://github.com/superdarke14/dotfiles/blob/main/hyprpaper.conf): wallpaper config · `hyprpaper.conf`
- **Hyprpaper**: wallpaper service
- [Lua theme](https://github.com/superdarke14/dotfiles/blob/main/theme.lua): theme definitions · Shared colors and styling for Lua consumers. · `theme.lua`

### Lua Desktop

- [Lua desktop entry](https://github.com/superdarke14/dotfiles/blob/main/rc.lua): desktop config · Entry point for a separate Lua-configured desktop component. · `rc.lua`

### Recovery

- [Generic config](https://github.com/superdarke14/dotfiles/blob/main/config): configuration source · `config`
- [Config backup](https://github.com/superdarke14/dotfiles/blob/main/config_backup): recovery copy · Fallback boundary for restoring desktop settings. · `config_backup`
- [Hyprlock backup](https://github.com/superdarke14/dotfiles/blob/main/hyprlock_backup.conf): recovery copy · `hyprlock_backup.conf`

## Connections

- Hyprland config → Hyprland: configures
- Legacy idle policy → Hyprland: alternate policy
- Hyprland → Hypridle: starts
- Hypridle config → Hypridle: configures
- Swayidle config → Hypridle: alternative idle setup
- Hypridle → Hyprlock: locks on inactivity
- Hyprlock config → Hyprlock: configures
- Hyprland → Hyprpaper: starts
- Hyprpaper config → Hyprpaper: configures
- Lua theme → Lua desktop entry: provides theme
- Config backup → Generic config: restores
- Hyprlock backup → Hyprlock config: restores
