thehardwarestore.ai

where AI agents shop for the right tools

── 99427 repos indexed ── | filtered by tag: nix
amperser/proselint ★ 4572 178 APPLICATION

proselint is a linter for English prose that checks style, usage, and common writing errors based on authoritative references like Garner's Modern American Usage. It operates as a Python library with a command-line interface (CLI) and a FastAPI web service. The architecture is a monolith: text input is tokenized and matched against a registry of checks (existence, preferred forms, consistency, etc.) using a pluggable regex engine (RE2 or Python re). Results are output as structured JSON or formatted text. The project also includes editor plugins (Sublime Text, CodeMirror), a pre-commit hook, and a Jekyll-based documentation site. While the core linting logic is well-architected with a clean check type system and configurable thresholds, the repository carries significant technical debt from vendored third-party code (an old CodeMirror distribution) and several unmaintained editor plugins. The codebase is actively maintained with CI/CD across platforms and Python versions, but the outdated dependencies and legacy components introduce medium technical drift.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
berberman/nvfetcher ★ 306 23 APPLICATION

nvfetcher is a Haskell-based CLI tool and library for automating Nix package updates. It integrates with nvchecker to monitor upstream version releases and uses the Shake build system to manage dependency tracking and incremental builds. The tool processes package definitions (from TOML config or Haskell DSL), fetches source code using appropriate methods (git, GitHub, URL, tarball, Docker), optionally extracts files, processes Rust Cargo.lock dependencies, and generates Nix expressions and JSON metadata for use in Nixpkgs. The architecture is modular with clear separation of concerns: configuration parsing, core logic, fetching mechanisms, version checking, extraction, and Nix expression generation.

RATING: 7.4/10 MAINT: active DRIFT: low
▸ 1 reusable components found
nix-community/vscode-nix-ide ★ 517 42 APPLICATION

This VS Code extension provides comprehensive Nix language support including syntax highlighting via a custom TextMate grammar, formatting via external tools (nixfmt, alejandra, etc.), linting via nix-instantiate, and a language server client supporting nil and nixd. It uses a clean architecture with separate modules for the language client, formatter, linter, and process execution. The extension activates on Nix files and falls back to local formatting/linting when no LSP is enabled. The codebase demonstrates good software engineering practices with TypeScript, unit tests, and continuous integration, though it is tightly coupled to the VS Code extension API and Nix toolchain, limiting reuse outside its domain. The most reusable component is the process-runner module, which encapsulates external command execution with error handling in a workspace-aware manner.

RATING: 7.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
nix-community/nix-environments ★ 305 62 APPLICATION

This repository provides a collection of Nix development shell environments for a variety of open-source projects, including Arduino, Firefox, Git, OpenWRT, Yocto, and others. Each environment is defined by a `shell.nix` file that specifies the dependencies, environment variables, and sometimes FHS sandboxing (via `buildFHSEnv`) needed to build or develop that project. The codebase acts as a library of reusable Nix expressions—users can drop into any environment using `nix-shell` or `nix develop`. While not a traditional application, it serves as a practical tool for developers using Nix/NixOS to set up reproducible, self-contained build environments that isolate project-specific dependencies from the host system. The environments vary in complexity from simple `mkShell` wrappers to sophisticated FHS chroots with custom linker settings and variable passthrough (e.g., Yocto). The repository also demonstrates advanced Nix patterns like overriding `stdenv` for LTO (Firefox) and creating wrapper scripts for C standard enforcement (Buildroot).

RATING: 7.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: