No description
| Documentation | ||
| legacy-nyx | ||
| nyx | ||
| other | ||
| Current-Patch.md | ||
| flake.nix | ||
| README.md | ||
| Roadmap.md | ||
Nyx — NixOS System Management Toolkit
Nyx is a modular toolkit that makes managing NixOS easier — faster rebuilds, automated cleanup, shell customization, and an optional TUI interface.
Features
- Enhanced Rebuilds — Git auto-push, optional code formatting, and rebuild logs.
- Automated Cleanup — Prune old generations, run garbage collection, and optimize the Nix store.
- Shell Tools — Custom banners, helper scripts, and handy aliases.
- TUI Interface — A clean, simple, and user-friendly menu for all Nyx tools.
- Roadmap — See planned features in the Roadmap.
Requirements
| Tool / Service | Required | Notes |
|---|---|---|
| NixOS / Nix | ✅ | Core platform |
sudo |
✅ | Needed for system changes |
| Git | ✅ | Required for autoPush features |
nix-output-monitor |
✅ | Installed automatically by Nyx |
Quick Install
1. Add Nyx to your flake
# flake.nix
{
inputs.nyx.url = "github:Peritia-System/Nyx-Tools";
outputs = inputs @ { nixpkgs, nyx, ... }: {
nixosConfigurations.HOSTNAME = nixpkgs.lib.nixosSystem {
modules = [ ./configuration.nix ];
};
};
}
2. Import in your Configuration
# configuration.nix
{
imports = [ inputs.nyx.nixosModules.default ];
}
3. Enable modules
nyx = {
enable = true;
username = "alex";
nixDirectory = "/home/alex/NixOS"; # full path to flake repo
logDir = "/home/alex/.nyx/logs";
autoPush = false;
nyx-tool.enable = true; # must be enabled for others
nyx-rebuild.enable = true;
nyx-cleanup.enable = true;
nyx-tui.enable = true;
};
Checkout the Documentation for a full Guide
Usage
nyx-rebuild --update # Update flake + rebuild
nyx-rebuild --repair # Repair and clean unfinished logs
nyx-cleanup # Remove old generations + GC
nyx-cleanup --dry-run # Preview cleanup
nyx-tui # Launch TUI
nyx-tui --pretty # TUI with animation
Showcase
nyx-tui
Module Options
| Module | Key Options |
|---|---|
nyx-rebuild |
startEditor, formatter, enableAlias |
nyx-cleanup |
keepGenerations, enableAlias |
nyx-tui |
enableAlias |
nyx-tool |
Shell banners & helpers (base req) |
Tips
nyx-toolmust be enabled for other modules.nixDirectorymust be a full Git repo path forautoPushto work.
More Info
refer to: Documentaion
📜 License
MIT — Contributions welcome!