No description
Find a file
2025-09-29 14:21:29 +02:00
Documentation Fix Title 2025-08-13 11:56:54 +02:00
legacy-nyx add an Info 2025-08-13 13:55:10 +02:00
nyx feat: use $PAGER instead of less directly 2025-08-13 13:52:50 +02:00
other Release Ver 1.2.0 2025-08-13 11:40:03 +02:00
Current-Patch.md feat: use $PAGER instead of less directly 2025-08-13 13:52:50 +02:00
flake.lock feat: add lock file 2025-09-29 14:21:29 +02:00
flake.nix Release Ver 1.2.0 2025-08-13 11:40:03 +02:00
README.md fix Title 2025-08-13 11:58:46 +02:00
Roadmap.md changelog for 1.2.1. 2025-08-13 13:41:07 +02:00

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-tool must be enabled for other modules.
  • nixDirectory must be a full Git repo path for autoPush to work.

More Info

refer to: Documentaion


📜 License

MIT — Contributions welcome!