architecture

Describe the architecture and components of a NixOS dotfiles repository.

Updated May 16, 2019
One-click install
npx skills add https://github.com/cgeorgii/dots --skill architecture-cgeorgii
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture
Source: https://github.com/cgeorgii/dots/tree/main/.claude/skills/architecture
Command: npx skills add https://github.com/cgeorgii/dots --skill architecture-cgeorgii

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Helps users quickly understand the layout and components of a NixOS dotfiles repository, including system configuration, user management, and automation strategies.

Core Features & Use Cases

  • Maps the repository's key components (flake.nix, common.nix, home/cgeorgii.nix, nix/git-repos.nix, dotfiles/) and their roles.
  • Explains the desktop environment stack (Niri, Waybar, Fuzzel, Kitty, Zellij) and the dotfile management strategy via symlinks.
  • Useful for onboarding new maintainers or answering questions about repository structure, deployment flow, and maintenance tasks.

Quick Start

Review the top-level layout and identify where configuration lives to understand how the architecture is wired.

Frequently Asked Questions about architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How is a NixOS dotfiles repository structured using flakes and home-manager?

A NixOS dotfiles repository using flakes and home-manager is structured around a top-level flake.nix for system entry, common.nix for shared configuration, and home/cgeorgii.nix for user-specific settings.

How does NixOS handle automated git repository management in dotfiles?

NixOS handles automated git repository management by defining repository sources and destinations in a dedicated nix/git-repos.nix module, which clones and syncs repositories during the system or user build process.

What components are needed for a Wayland desktop environment stack in NixOS?

A Wayland desktop environment stack in NixOS can be composed of Niri as the compositor, Waybar for status bars, Fuzzel as the launcher, Kitty terminal, and Zellij for multiplexing.

What is the best way to manage dotfiles via symlinks in a NixOS flake?

Managing dotfiles via symlinks in a NixOS flake involves storing configuration files in a dedicated dotfiles directory and using home-manager to generate symlinks during system activation.