# saneaspect/dotfiles architecture

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

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

## Overview

This repository is a personal Hyprland desktop configuration, not an application runtime. Its intended user experience is an Arch Linux desktop with Hyprland, a Waybar status bar, Wofi launcher, and Alacritty terminal; it also includes audio, font, theme, editor, and shell settings. The README names these tools and roles, but no source excerpts show how individual configuration files are consumed or how components interact. Dashed, unevidenced links indicate likely configuration targets, not verified runtime calls.

Main entry points: [`.config/hypr/hyprland.conf`](https://github.com/saneaspect/dotfiles/blob/main/.config/hypr/hyprland.conf) (Hyprland settings), [`.config/hypr/binds.conf`](https://github.com/saneaspect/dotfiles/blob/main/.config/hypr/binds.conf) (Key bindings), [`.config/hypr/hyprpaper.conf`](https://github.com/saneaspect/dotfiles/blob/main/.config/hypr/hyprpaper.conf) (Wallpaper settings), [`.config/waybar/config`](https://github.com/saneaspect/dotfiles/blob/main/.config/waybar/config) (Waybar settings)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_desktop["Desktop session"]
  node_hyprland_config["Hyprland settings<br/>[hyprland.conf]"]
  node_hyprland_binds["Key bindings<br/>[binds.conf]"]
  node_hyprpaper["Wallpaper settings<br/>[hyprpaper.conf]"]
  node_hyprland["Hyprland"]
  node_waybar_config["Waybar settings<br/>[config]"]
  node_waybar_style["Waybar styling<br/>[style.css]"]
  node_waybar["Waybar"]
  node_wofi["Wofi launcher"]
end

subgraph group_appearance["Appearance and media"]
  node_alacritty_config["Alacritty settings<br/>[alacritty.yml]"]
  node_alacritty_colors["Terminal colors<br/>[colors.yml]"]
  node_alacritty_fonts["Terminal fonts<br/>[fonts.yml]"]
  node_alacritty["Alacritty"]
  node_fontconfig["Font configuration<br/>[fonts.conf]"]
  node_cava_config["Cava settings<br/>[config]"]
  node_cava_shaders["Cava shaders<br/>[shaders]"]
  node_cava["Cava"]
  node_spicetify_theme["Everforest theme<br/>[Everforest]"]
  node_spicetify["Spicetify"]
end

subgraph group_tools["Shell and tools"]
  node_lvim_config["LunarVim settings<br/>[config.lua]"]
  node_lvim["LunarVim"]
  node_zshrc["Zsh settings<br/>[.zshrc]"]
  node_zprofile["Zsh profile<br/>[.zprofile]"]
  node_zshenv["Zsh environment<br/>[.zshenv]"]
  node_p10k["Prompt settings<br/>[.p10k.zsh]"]
  node_zsh["Zsh"]
end

node_user(("Desktop user"))

node_user -.->|"uses desktop"| node_hyprland
node_hyprland_config -.->|"configures"| node_hyprland
node_hyprland_binds -.->|"configures"| node_hyprland
node_hyprpaper -.->|"configures"| node_hyprland
node_waybar_config -.->|"configures"| node_waybar
node_waybar_style -.->|"styles"| node_waybar
node_alacritty_config -.->|"configures"| node_alacritty
node_alacritty_colors -.->|"styles"| node_alacritty
node_alacritty_fonts -.->|"sets fonts"| node_alacritty
node_fontconfig -.->|"sets fonts"| node_alacritty
node_cava_config -.->|"configures"| node_cava
node_cava_shaders -.->|"styles"| node_cava
node_spicetify_theme -.->|"themes"| node_spicetify
node_lvim_config -.->|"configures"| node_lvim
node_zshrc -.->|"configures"| node_zsh
node_zprofile -.->|"configures"| node_zsh
node_zshenv -.->|"configures"| node_zsh
node_p10k -.->|"styles prompt"| node_zsh

click node_hyprland_config "https://github.com/saneaspect/dotfiles/blob/main/.config/hypr/hyprland.conf"
click node_hyprland_binds "https://github.com/saneaspect/dotfiles/blob/main/.config/hypr/binds.conf"
click node_hyprpaper "https://github.com/saneaspect/dotfiles/blob/main/.config/hypr/hyprpaper.conf"
click node_waybar_config "https://github.com/saneaspect/dotfiles/blob/main/.config/waybar/config"
click node_waybar_style "https://github.com/saneaspect/dotfiles/blob/main/.config/waybar/style.css"
click node_alacritty_config "https://github.com/saneaspect/dotfiles/blob/main/.config/alacritty/alacritty.yml"
click node_alacritty_colors "https://github.com/saneaspect/dotfiles/blob/main/.config/alacritty/colors.yml"
click node_alacritty_fonts "https://github.com/saneaspect/dotfiles/blob/main/.config/alacritty/fonts.yml"
click node_fontconfig "https://github.com/saneaspect/dotfiles/blob/main/.config/fontconfig/fonts.conf"
click node_cava_config "https://github.com/saneaspect/dotfiles/blob/main/.config/cava/config"
click node_cava_shaders "https://github.com/saneaspect/dotfiles/tree/main/.config/cava/shaders"
click node_spicetify_theme "https://github.com/saneaspect/dotfiles/tree/main/.config/spicetify/Themes/Everforest"
click node_lvim_config "https://github.com/saneaspect/dotfiles/blob/main/.config/lvim/config.lua"
click node_zshrc "https://github.com/saneaspect/dotfiles/blob/main/.zshrc"
click node_zprofile "https://github.com/saneaspect/dotfiles/blob/main/.zprofile"
click node_zshenv "https://github.com/saneaspect/dotfiles/blob/main/.zshenv"
click node_p10k "https://github.com/saneaspect/dotfiles/blob/main/.p10k.zsh"

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_config,node_hyprland_binds,node_hyprpaper,node_hyprland,node_waybar_config,node_waybar_style,node_waybar,node_wofi,node_user toneBlue
class node_alacritty_config,node_alacritty_colors,node_alacritty_fonts,node_alacritty,node_fontconfig,node_cava_config,node_cava_shaders,node_cava,node_spicetify_theme,node_spicetify toneAmber
class node_lvim_config,node_lvim,node_zshrc,node_zprofile,node_zshenv,node_p10k,node_zsh toneMint
```

## Components

### Desktop session

- [Hyprland settings](https://github.com/saneaspect/dotfiles/blob/main/.config/hypr/hyprland.conf): `.config/hypr/hyprland.conf`
- [Key bindings](https://github.com/saneaspect/dotfiles/blob/main/.config/hypr/binds.conf): `.config/hypr/binds.conf`
- [Wallpaper settings](https://github.com/saneaspect/dotfiles/blob/main/.config/hypr/hyprpaper.conf): `.config/hypr/hyprpaper.conf`
- **Hyprland**
- [Waybar settings](https://github.com/saneaspect/dotfiles/blob/main/.config/waybar/config): `.config/waybar/config`
- [Waybar styling](https://github.com/saneaspect/dotfiles/blob/main/.config/waybar/style.css): `.config/waybar/style.css`
- **Waybar**
- **Wofi launcher**

### Appearance and media

- [Alacritty settings](https://github.com/saneaspect/dotfiles/blob/main/.config/alacritty/alacritty.yml): `.config/alacritty/alacritty.yml`
- [Terminal colors](https://github.com/saneaspect/dotfiles/blob/main/.config/alacritty/colors.yml): `.config/alacritty/colors.yml`
- [Terminal fonts](https://github.com/saneaspect/dotfiles/blob/main/.config/alacritty/fonts.yml): `.config/alacritty/fonts.yml`
- **Alacritty**
- [Font configuration](https://github.com/saneaspect/dotfiles/blob/main/.config/fontconfig/fonts.conf): `.config/fontconfig/fonts.conf`
- [Cava settings](https://github.com/saneaspect/dotfiles/blob/main/.config/cava/config): `.config/cava/config`
- [Cava shaders](https://github.com/saneaspect/dotfiles/tree/main/.config/cava/shaders): `.config/cava/shaders`
- **Cava**
- [Everforest theme](https://github.com/saneaspect/dotfiles/tree/main/.config/spicetify/Themes/Everforest): `.config/spicetify/Themes/Everforest`
- **Spicetify**

### Shell and tools

- [LunarVim settings](https://github.com/saneaspect/dotfiles/blob/main/.config/lvim/config.lua): `.config/lvim/config.lua`
- **LunarVim**
- [Zsh settings](https://github.com/saneaspect/dotfiles/blob/main/.zshrc): `.zshrc`
- [Zsh profile](https://github.com/saneaspect/dotfiles/blob/main/.zprofile): `.zprofile`
- [Zsh environment](https://github.com/saneaspect/dotfiles/blob/main/.zshenv): `.zshenv`
- [Prompt settings](https://github.com/saneaspect/dotfiles/blob/main/.p10k.zsh): `.p10k.zsh`
- **Zsh**

### Other components

- **Desktop user**

## Connections

- Desktop user → Hyprland: uses desktop
- Hyprland settings → Hyprland: configures
- Key bindings → Hyprland: configures
- Wallpaper settings → Hyprland: configures
- Waybar settings → Waybar: configures
- Waybar styling → Waybar: styles
- Alacritty settings → Alacritty: configures
- Terminal colors → Alacritty: styles
- Terminal fonts → Alacritty: sets fonts
- Font configuration → Alacritty: sets fonts
- Cava settings → Cava: configures
- Cava shaders → Cava: styles
- Everforest theme → Spicetify: themes
- LunarVim settings → LunarVim: configures
- Zsh settings → Zsh: configures
- Zsh profile → Zsh: configures
- Zsh environment → Zsh: configures
- Prompt settings → Zsh: styles prompt
