7karni/sanixos — Static Analysis of NixOS configurations

Performs static analysis of NixOS configurations. Supports custom benchmark suites. Generates JSON and optional HTML reports.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit May 6, 2026
License
AGPL 3.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: 7karni/sanixos@7013e2b4778093ee44d407cd6a18c24527447221 # v0.6.9

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
configNixOS configuration name (e.g. x86_64-linux or your hostname)x86_64-linux
flakeFlake reference (path or URL).
benchmarkPath to a benchmark JSON file (relative to the repository root)""
benchmark_urlURL to download a benchmark JSON from (overrides benchmark file path)""
outputOutput directory for reportsreports
threadsNumber of parallel eval threads4
timeoutTimeout in seconds for each nix eval command60
htmlAlso generate an HTML reportfalse
verboseEnable verbose output (shell commands, raw output, test details)false
logWrite console output to a log filefalse
upload_artifactUpload reports as a GitHub Actions artifacttrue
artifact_nameName of the uploaded artifactsanixos-reports
retention_daysNumber of days to retain the artifact (1–90, 0 uses the repo default)0
namedescription
passedNumber of passed checks
failedNumber of failed checks
errorsNumber of evaluation errors
skippedNumber of skipped checks
totalTotal number of checks evaluated
pass_ratePass rate percentage (0–100)
json_reportPath to the JSON report
html_reportPath to the HTML report (only if html input is true)