Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
1d6b402
internal/scl-singlenode: Make unconfigured state a no-op
samueldr-at-cyberus Jan 23, 2026
b2cbca8
lib: Add check-modules-no-ops
samueldr-at-cyberus Jan 25, 2026
6f5f8db
modules: Drop unneeded version gating
samueldr-at-cyberus Jan 25, 2026
f3282af
checks: Only run vms check on plausible systems
samueldr-at-cyberus Jan 25, 2026
77fb0e1
checks: Add modules checks for Linux evals
samueldr-at-cyberus Jan 25, 2026
a322a43
modules: Drop developer, create profiles
samueldr-at-cyberus Jan 23, 2026
81d91a5
checks/developer: Use the new profile
samueldr-at-cyberus Jan 23, 2026
bd4068e
README: developer → profiles
samueldr-at-cyberus Jan 25, 2026
4141bf3
README: Drop the `ctrl-os.*.enable` hint
samueldr-at-cyberus Jan 25, 2026
a2bd52c
NO-NOT-MERGE: fix out-of-tree docs for developer module
samueldr-at-cyberus Jan 23, 2026
8b7c468
modules: add Nvidia Jetson Nano Boot Module
messemar Jan 9, 2026
faca49c
packages: add packages definition and NVidia Jetson Orin installer
messemar Jan 9, 2026
6a6d1e6
flake: update dependencies
messemar Jan 9, 2026
4068058
github-workflow: add installer iso build process
messemar Jan 16, 2026
2e4bd08
lib: Init with getVendorsModules and mapDirs
samueldr-at-cyberus Jan 22, 2026
1c68e52
treewide: Fix jetson-orin-nano-super name
samueldr-at-cyberus Jan 22, 2026
7ba7359
modules/platform: Make generic and self-describing via structure
samueldr-at-cyberus Jan 22, 2026
1637be6
modules/platform: Make platform module handle gating off modules
samueldr-at-cyberus Jan 22, 2026
144e3ff
devices/nvidia/jetson-orin-nano-super: Remove gating from module
samueldr-at-cyberus Jan 23, 2026
3ca8415
hardware: Reorganize modules directory structure
samueldr-at-cyberus Jan 23, 2026
b022c2c
hardware: Reorganize options structure
samueldr-at-cyberus Jan 23, 2026
6f8efa9
jetsonOrinNanoInstaller: Move to new option structure
samueldr-at-cyberus Jan 25, 2026
85e4f76
WIP: packages/hardware: Init hardware device installer outputs
samueldr-at-cyberus Jan 22, 2026
09830c2
flakeModule: Drop now-unneeded installer "packages"
samueldr-at-cyberus Jan 23, 2026
5943a00
modules: Init hardware.developer namespace
samueldr-at-cyberus Jan 26, 2026
a478111
modules: developer.nvidia.tegra: init
samueldr-at-cyberus Jan 26, 2026
72e6430
DO NOT MERGE: packages: temp reformat before discussing structure
samueldr-at-cyberus Jan 26, 2026
48da35d
DO NOT MERGE: packages: Add hardware packages scope
samueldr-at-cyberus Jan 26, 2026
feb9ccb
WIP: packages: jetpack-sdks: Init
samueldr-at-cyberus Jan 26, 2026
8e9fbb7
packages: orin.platform-firmware-tooling: Init
samueldr-at-cyberus Jan 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,15 @@ jobs:
fi
- name: Build the Modules for ${{ matrix.nixOpts.tag }}
run: nix -L flake check ${{ matrix.nixOpts.flag }}
- name: Build the NixOS installer for Nvidia Jetson Orin Nano devices
run: nix -L build .#packages.x86_64-linux.jetsonOrinNanoInstaller
- name: Upload the installer as artifact
uses: actions/upload-artifact@v6
with:
name: nvidia-jetson-orin-nano-nixos-${{ github.sha }}
path: result/iso/nixos-minimal-*.iso
retention-days: 7
if-no-files-found: error
- name: Export Nix Store
if: always()
run: |
Expand Down
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@ All modules are available via `nixosModules` of this Flake. If you don't use
Flakes, import the module file in `/modules` directly. We will streamline this
later!

Modules follow a simple configuration pattern. Module `foo` has its
configuration under `ctrl-os.foo`. So to enable module `foo`, you
typically write `ctrl-os.foo.enable = true`;
Modules have different purposes and semantics, and thus interfaces. Read the
usage for your chosen modules for more details about their use.

## Available Modules

Expand All @@ -36,7 +35,7 @@ status symbols:

| Module | Status | Unstable | 26.05 | 24.05 | Description |
|--------------------------------------------------------------------|----------|----------|-------|-------|----------------------------------------------|
| [`developer`](https://docs.ctrl-os.com/modules/ctrl-os-developer/) | **Beta** | ✅ | 🚧 | ✅ | Useful settings for developers using CTRL-OS |
| [`profiles`](https://docs.ctrl-os.com/modules/ctrl-os-profiles/) | **Beta** | ✅ | 🚧 | ✅ | Different opinionated settings for CTRL-OS |
| [`vms`](https://docs.ctrl-os.com/modules/ctrl-os-vms/) | **Beta** | ✅ | 🚧 | ❌ | Declarative way to run generic VMs |

## Hardware Support
Expand Down
10 changes: 9 additions & 1 deletion checks/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,17 @@
checks = {
developer = pkgs.callPackage ./developer.nix { inherit (self) nixosModules; };
}
// inputs.nixpkgs.lib.optionalAttrs (pkgs.stdenv.isLinux) {
modules = pkgs.callPackage ./modules.nix { inherit (self) nixosModules; };
}
//
inputs.nixpkgs.lib.optionalAttrs
(inputs.nixpkgs.lib.versionAtLeast inputs.nixpkgs.lib.version "25.11")
(
inputs.nixpkgs.lib.versionAtLeast inputs.nixpkgs.lib.version "25.11"
&& pkgs.stdenv.isLinux
# Package ‘vm-test-run-vms’ [...] is not available on the requested hostPlatform: hostPlatform.system = "aarch64-linux"
&& pkgs.stdenv.isx86_64
)
{
vms = pkgs.callPackage ./vms.nix { inherit (self) nixosModules; };
};
Expand Down
6 changes: 3 additions & 3 deletions checks/developer.nix
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{ nixosModules, testers }:
testers.nixosTest {
name = "developer";
name = "profiles.developer";

nodes.machine = {
imports = [ nixosModules.developer ];
imports = [ nixosModules.profiles ];

ctrl-os.developer.enable = true;
ctrl-os.profiles.developer.enable = true;
};

testScript = ''
Expand Down
14 changes: 14 additions & 0 deletions checks/modules.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
pkgs,
nixosModules,
}:

let
check = import ../lib/check-modules-no-ops.nix {
inherit pkgs;
modules = nixosModules;
};
in
builtins.seq check.result (
(pkgs.writeText "modules-check" (builtins.toJSON check.result)) // { inherit check; }
)
36 changes: 18 additions & 18 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
./checks/pre-commit.nix
];

flake.nixosModules = import ./modules inputs.nixpkgs.lib;
flake.nixosModules = import ./modules;

perSystem =
{
Expand Down
Loading
Loading