From 5650125d7eeb95c0a9dbcb4d88473817bab3e4cb Mon Sep 17 00:00:00 2001 From: John Ogle Date: Wed, 5 Mar 2025 13:25:08 -0800 Subject: [PATCH] Add .goosehints --- .goosehints | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/.goosehints b/.goosehints index f0bf2c7..efc2c01 100644 --- a/.goosehints +++ b/.goosehints @@ -1,21 +1,22 @@ -This repository contains NixOS configurations for different machines and roles. Here's a brief overview based on the files present: +NixOS Configurations Repository +================================ -- **Secrets:** - - `secrets/secrets.yaml`: Contains secret configurations, possibly encrypted or sensitive data. - -- **Packages:** - - `packages/`: Nix package definitions. - -- **Flake:** - - `flake.nix` and `flake.lock`: Nix Flake configuration files for managing the Nix environment dependencies. - -- **Roles:** - - Various directories like `roles/kodi/`, `roles/bluetooth/`, etc., each containing `default.nix` files which possibly define role-specific configurations and modules. - -- **Machines:** - - `machines/`: Machine-specific configurations for different machines like `nix-book`, `z790prors`, `boxy`, and `wixos`. - - Each machine has `configuration.nix` and `hardware-configuration.nix`, detailing the machine's system and hardware configuration. - -- **Home:** - - `home/`: Pertains to user-specific configurations with different modules and home environment setups. Contains files like `home-nix-book.nix`, `home-z790prors.nix`, etc. - - Includes specific modules for software like Emacs, tmux, i3+sway, etc. +Overview: +--------- +This repository hosts modular and reproducible NixOS configurations managed via Nix flakes. It is structured to separate concerns across machine-specific setups, common roles, and custom packages. + +Directory Structure: +---------------------- +• secrets/ - Confidential data (passwords, keys, etc.) required for system configuration. +• packages/ - Custom Nix packages leveraged across various configurations. +• roles/ - Role-based configurations (e.g., kodi, bluetooth) each with its own module (default.nix) for inclusion in machine setups. +• machines/ - Machine-specific configurations (e.g., nix-book, z790prors, boxy, wixos) including configuration.nix and hardware-configuration.nix tailored for each hardware. +• home/ - Home-manager configurations for personal environments and application settings (e.g., home-nix-book.nix, home-z790prors.nix). + +Design Principles: +------------------ +• Modularity: Clear separation between roles, machines, and packages allows for flexible and reusable configurations. +• Declarative & Reproducible: Using Nix flakes guarantees a fully declarative setup that can be effortlessly reproduced across systems. +• Scalability: The structure is designed to accommodate adding new roles or machines with minimal disruption to existing configurations. + +This file serves as a concise guide for navigating and understanding the repository from an advanced Nix perspective. Further documentation can be found within the respective directories or individual README files where applicable.