Skip to content

Claude/review latest commit files 011 c uo yy2a6oh19nm4 s mi cx a#3620

Closed
MicrolithInc wants to merge 3 commits intoLinuxCNC:masterfrom
MicrolithInc:claude/review-latest-commit-files-011CUoYY2a6oh19nm4SMiCxA
Closed

Claude/review latest commit files 011 c uo yy2a6oh19nm4 s mi cx a#3620
MicrolithInc wants to merge 3 commits intoLinuxCNC:masterfrom
MicrolithInc:claude/review-latest-commit-files-011CUoYY2a6oh19nm4SMiCxA

Conversation

@MicrolithInc
Copy link

No description provided.

MicrolithInc and others added 3 commits November 4, 2025 13:15
This commit adds complete Nix flake support for building and deploying
LinuxCNC on NixOS with proper real-time kernel configuration.

New files:
- flake.nix: Main Nix flake with LinuxCNC package definition and NixOS module
  * Includes all build dependencies (boost, python3, tcl/tk, gtk3, etc.)
  * Configures user-space real-time (uspace) build
  * Provides NixOS module for RT-PREEMPT kernel setup
  * Sets up real-time performance tuning (CPU isolation, governor, etc.)
  * Includes PAM limits for real-time priority

- flake.lock: Lock file pinning dependency versions
  * nixpkgs: nixos-unstable
  * flake-utils: for cross-system support
  * flake-compat: for backward compatibility

- NIXOS_SETUP.md: Comprehensive setup and configuration guide
  * Explains RT-PREEMPT kernel requirements and tuning
  * Hardware support documentation (parallel port, Mesa, EtherCAT)
  * Performance testing and troubleshooting
  * Latency testing guidelines

- QUICKSTART_NIX.md: Quick start guide for users
  * Three methods: direct run, dev shell, system installation
  * Step-by-step NixOS system integration
  * Verification and testing procedures

- nixos-configuration-example.nix: Example NixOS configuration
  * Shows how to enable LinuxCNC service
  * Real-time kernel configuration
  * User group setup
  * System tuning recommendations

Modified files:
- default.nix: Updated to use flake-compat for backward compatibility
- shell.nix: Updated to use flake-compat for nix-shell users
- .gitignore: Added Nix-specific entries (result, result-*, .direnv/)

Key features:
- Full dependency management via Nix
- Real-time kernel (RT-PREEMPT) support
- Proper PAM limits for real-time priority
- CPU isolation and performance governor
- Hardware access configuration (parallel port, udev rules)
- Development environment with all build tools
- Simulation mode support for testing without hardware

Usage:
- `nix run` - Run LinuxCNC directly
- `nix develop` - Enter development shell
- `nix build` - Build LinuxCNC package
- NixOS module for system-wide installation with RT kernel

This enables LinuxCNC to run on NixOS with proper real-time performance
required for CNC machine control. The RT-PREEMPT kernel provides the
deterministic latency needed for precise motion control.
@MicrolithInc MicrolithInc deleted the claude/review-latest-commit-files-011CUoYY2a6oh19nm4SMiCxA branch November 12, 2025 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants