A modular, auto-importing configuration for NixOS and Home Manager using flake-parts and import-tree.
Apply the latest configuration:
nh os switch ~/dotconfigsUpdate all flake inputs:
nix flake update --flake ~/dotconfigsCheck for errors before applying:
nix flake checkmodules/system/features/- System-level modules (NixOS). Auto-imported via import-tree.modules/user/features/- User-level modules (Home Manager). Auto-imported via import-tree.modules/hosts/<hostname>/- Host-specific configurations (hardware, hostname).modules/flake/- Flake logic andmkSystemhelper.
Create a new .nix file in the appropriate features/ directory. It will be auto-imported.
Example for a user module (modules/user/features/myapp.nix):
{ pkgs, ... }: {
programs.myapp = {
enable = true;
# Your configuration here
};
}- Files: kebab-case.nix
- Variables: camelCase
- Booleans: enable/disable prefix
- Formatter: nixfmt with 2-space indentation
andrew-pc- Desktop workstationandrew-laptop- Laptop (includes aic8800 WiFi driver)
See AGENTS.md for developer documentation on building, testing, and code conventions.