The nxbd
Tool¶
The smart NixOS Configuration Check, Build, and Deploy Tool
Developed and maintained by Applicative Systems and Nixcademy
What is nxbd
?¶
nxbd
is a lightweight, safety-focused NixOS deployment tool that helps you manage multiple NixOS systems with confidence. Unlike other deployment tools, nxbd
focuses on validating your configurations before deployment to prevent common pitfalls and system lockouts.
Features¶
-
Deploy Anywhere
Deploy to local or remote NixOS systems, even from macOS, with automatic remote building support.
-
Safety First
Prevent SSH lockouts, broken sudo permissions, and configuration errors before they happen with comprehensive pre-deployment checks for SSH access, sudo/wheel permissions, boot loader/disk space, service configs, and security settings.
-
System Health
Monitor updates, service status, and reboot requirements across all your systems.
-
Zero Configuration
Works with vanilla NixOS configurations - no special code or extra files needed. Automatically handles all the complexities that
nixos-rebuild
requires manual configuration for. -
Fancy Optics
Enjoy a polished user experience with real-time build progress and output thanks to
nix-output-monitor
integration (when available).
Quick Start¶
First, obtain nxbd
either via nix shell
:
...or install it in your nix profile:
Now you can use it in any repository that contains a flake.nix
with
NixOS configurations:
# Run all the checks
$ nxbd check
# Fix or ignore failed checks
$ nxbd check --save-ignore
# Deploy with automatic reboots if needed
$ nxbd switch-remote --reboot .#machine1 .#machine2
# Monitor system status
$ nxbd status
Example output¶
$ nxbd check .#dash .#marketing
Reading configurations of .#dash .#marketing...
=== .#dash ===
sudo_security - Sudo Security Settings (1 checks, 0 passed, 0 ignored)
Checks if sudo is configured securely
❌ wheel_only - Only wheel group members should be allowed to use sudo
- Set security.sudo.execWheelOnly = true
=== .#marketing ===
✅ 26 checks passed (8 ignored fails)
Error: The following checks failed:
System .#dash:
- sudo_security.wheel_only
To proceed, either:
- Fix the failing checks
- Run 'nxbd check --save-ignore' to ignore these checks
$ nxbd status .#dash .#marketing
Reading configurations of .#dash .#marketing...
Querying status of dash.applicative.systems marketing.applicative.systems...
System Status:
=== .#dash ===
✗ systemd units: 1 failed
✓ System generation up to date
✓ Reboot required: no
Uptime: 0d 16h 12m
=== .#marketing ===
✓ systemd units: all OK
✓ System generation up to date
✓ Reboot required: no
Uptime: 0d 16h 12m
Documentation¶
Professional Support¶
Need help integrating nxbd
into your infrastructure?
- Custom Development: Tailored features for your specific needs
- Integration Support: Help with your deployment workflows
- Training: Expert guidance for your team
Contact us:
- Email: hello@applicative.systems
- Schedule a meeting: nixcademy.com/meet
Community¶
Join our community:
- Matrix: #applicative.systems:matrix.org
- GitHub: applicative-systems/nxbd