No description
- Rust 86.9%
- Nix 13.1%
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
NixOS Config Builder
A Rust iced GUI application for browsing NixOS options and generating configuration.
Features
- Browse NixOS options by category tree
- Search options by name or description
- Generate
configuration.nixfrom selected options - Full NixOS module coverage via nixosOptionsDoc
Requirements
- Rust 1.70+
- NixOS (for generating options.json)
Getting Started
1. Generate options.json
# Using nix
nix run github:NixOS/nixpkgs/nixos-unstable -- \
--expr 'let pkgs = import <nixpkgs> { system = "x86_64-linux"; }; in pkgs.nixosOptionsDoc { options = (pkgs.lib.evalModules { system = "x86_64-linux"; modules = [ (import <nixpkgs/nixos/modules/lib/eval-modules.nix { modules = import <nixpkgs/nixos/modules/module-list.nix;> }) ]; }).config; }'
2. Build and Run
cargo build --release
./target/release/nixos-config-builder
Architecture
The application follows a clean 4-layer architecture:
src/
├── app/ # Application state and messages
├── config/ # Config generation (pure functions)
├── data/ # Schema types and JSON loading
├── search/ # Trie-based search
└── ui/ # iced GUI components
License
MIT