awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
NixOS avatar

NixOS/nix.dev

0
View on GitHub↗
3,630 stele·315 fork-uri·Nix·cc-by-sa-4.0·8 vizualizărinix.dev↗

Nix.dev

This project provides a functional package manager and a reproducible build system designed to ensure identical build inputs always produce the same outputs. It serves as the foundation for a declarative Linux distribution where the entire system state is defined in a configuration file, enabling predictable deployments and full-system rollbacks.

The system uses a deterministic functional language and a lazy-evaluation expression engine to manage software dependencies and isolate build environments. It distinguishes itself through a content-addressable store that allows multiple versions of software to coexist without conflict and a binary-cache mechanism for sharing pre-compiled artifacts across different machines.

Capabilities cover a broad surface including deterministic package management, infrastructure-as-code provisioning for virtual machines and bootable images, and the creation of reproducible development shells. It also supports distributed build infrastructure, allowing compilation tasks to be offloaded to remote servers via SSH.

This repository hosts the comprehensive technical documentation, configuration manuals, and administration guides for the package manager and the associated operating system.

Features

  • Package Managers - Implements a functional package manager for automating the retrieval, installation, and dependency management of software.
  • Declarative Linux Distributions - Provides a complete Linux distribution where the system state is defined entirely via a declarative configuration file.
  • Functional Build Derivations - Uses a deterministic functional language to describe build tasks, ensuring identical inputs always produce the same outputs.
  • Declarative Configuration Systems - Defines the entire operating system state through a declarative configuration system to enable predictable deployments.
  • Build and Dependency Management - Implements a reproducible build system that manages a strict set of inputs and outputs to ensure consistent software builds.
  • Functional - Provides a deterministic functional package manager that ensures reproducible binary outputs from the same inputs.
  • Content-Addressable Stores - Uses a content-addressable store to uniquely identify and isolate packages based on the cryptographic hash of their inputs.
  • Binary Cache Managers - Directs the package manager to fetch pre-built binaries from specific remote servers to avoid source rebuilds.
  • Binary Cache Distributions - Implements a binary-cache mechanism for sharing pre-compiled artifacts via remote servers.
  • Binary Cache Hosting - Hosts pre-built objects on a network server to share artifacts and eliminate redundant compilation across different machines.
  • Build Artifact Caching - Stores compiled binaries in a cache to avoid rebuilding unchanged dependencies from source.
  • Configuration Composers - Aggregates separate expressions into a single attribute set to define system configurations.
  • Shell Environment Configurations - Provides the ability to create reproducible shell environments with specific packages and environment variables.
  • Development Environments - Provides automated, consistent development environments that launch instantly when entering a project directory.
  • Declarative Environment Configurations - Uses version-controlled files to define development environment tooling and setup in a declarative format.
  • Environment Provisioning - Provisions isolated development shells with all necessary dependencies and environment variables.
  • Global Dependency Pinning - Maps pinned dependencies to system-wide lookup paths to ensure consistency during system rebuilds.
  • Version Rollbacks - Enables reverting software installations to previous states using versions preserved in the content-addressable store.
  • Nix Packages - Offers comprehensive technical documentation and guides for managing packages using the Nix functional language.
  • Functional Package Manager Integrations - Implements a purely functional package model that ensures deterministic builds and supports multiple coexisting versions.
  • Functional Expressions - Uses a deterministic functional language to describe build inputs and environment variables for reproducible packages.
  • Package Dependency Management - Validates that all dependencies are explicitly specified by isolating packages from global system locations.
  • Dependency Isolation - Isolates packages in unique directories to ensure that all runtime dependencies are explicitly and completely specified.
  • Functional Package Management - Implements a package manager using a lazy-evaluated functional language for isolated dependencies and atomic upgrades.
  • Package Installers - Provides command-line tools to fetch and install software packages from various sources.
  • Version Locking - Generates lockfiles that record specific commit hashes and checksums to guarantee absolute build reproducibility.
  • Declarative Shells - Enables the creation of reproducible shells where runtimes and libraries are defined declaratively.
  • Remote Repository Code Fetchers - Programmatically tracks and retrieves external code and data from remote repositories for use in build derivations.
  • Version Pinning Tools - Pins packages to exact commit hashes via URLs to ensure that build expressions remain deterministic and reproducible.
  • Versioned Package Managers - Allows multiple versions of the same software to coexist in isolated paths to prevent dependency conflicts.
  • Deterministic Build Metadata - Ensures bit-for-bit deterministic outputs by using functional logic to control all build inputs and metadata.
  • Declarative Configuration Schemas - Defines named options with types and default values to create structured configuration schemas.
  • Build Dependency Management - Explicitly manages the required libraries and toolchains that must be present during the software build process.
  • Distributed Build Systems - Offloads compilation tasks to remote computing clusters and shares binaries via a distributed cache.
  • Dependency Version Locking - Provides mechanisms for recording exact package versions in lock files to ensure consistent, reproducible builds.
  • Infrastructure as Code Frameworks - Provides a framework for generating bootable images and virtual machines from version-controlled configuration files.
  • Isolated Build Environments - Creates temporary, isolated build environments to ensure deterministic binary outputs regardless of the host system.
  • Deterministic Package Definitions - Provides a functional language to ensure that package definitions always yield identical, reproducible outputs.
  • Remote Resource Fetching - Retrieves source code, tarballs, and other remote resources from the network into a content-addressable store.
  • Reproducible Build Systems - Implements a build system using content-addressable storage and isolated environments to guarantee reproducible software outputs.
  • Development Environment Reproducibility - Defines shell environments and scripts that produce identical results across different machines.
  • Lock-File Pinning - Tracks specific revisions of remote sources in lock files to maintain reproducibility across different environments.
  • Software Packaging - Provides tools for constructing software packages with a deterministic and reproducible structure.
  • Atomic System Updates - Implements atomic system updates using symlink switching to ensure instant upgrades and reliable rollbacks.
  • Atomic System Upgrades - Provides atomic system updates that allow immediate reversal to previous working configurations.
  • System State Rollbacks - Allows reverting to a previous working system configuration directly from the bootloader menu.
  • Configuration Modularization - Supports splitting large configurations into multiple files by importing separate modules.
  • Purely Functional Derivations - Models software builds as purely functional derivations where identical inputs always produce identical binary outputs.
  • Build Input-Output Declarations - Provides structured project entrypoints to declare inputs and outputs for consistent, reproducible builds.
  • Reproducible Builds - Prevents external system states from altering outputs by explicitly defining all build environment parameters.
  • System Configuration Management - Manages the entire operating system state declaratively to enable predictable deployments and full-system rollbacks.
  • User-Defined Types - Uses attribute sets, lists, and primitive types to define complex data structures within configurations.
  • Package Store Sweepers - Scans the content-addressable store to remove unreferenced packages and reclaim disk space.
  • User-Level Installers - Provides non-privileged software installation where users can maintain their own personal software profiles.
  • Binary Package Managers - Fetches pre-compiled binaries from remote caches and verifies them with public keys to accelerate installation.
  • Build Environment Shells - Allows build-time dependencies to be shared with interactive shells for easier compilation and debugging.
  • Custom Build Hooks - Allows developers to override default build steps to execute custom shell commands and hooks during compilation.
  • Configuration Module Composition - Aggregates separate configuration fragments into a single merged attribute set to manage complex system settings.
  • Hierarchical Configuration Namespaces - Creates hierarchical configuration structures using submodules to organize related options.
  • Cross-Platform Build Targets - Supports creating binaries for different target platforms by defining specific toolchains and platform configurations.
  • Package Overrides - Enables overriding specific arguments of an existing package derivation to produce customized software variants.
  • Dependency Resolvers - Implements a functional mechanism to resolve complex interdependent dependency graphs between package recipes.
  • Virtual Machine Provisioning - Provisions virtual machine instances using infrastructure-as-code tools and system images.
  • Environment Activation - Automatically loads a declarative shell environment when entering a project directory.
  • Module Dependency Declarations - Specifies requirements between configuration modules to ensure a correct order of evaluation.
  • Configuration Value Mergers - Combines values for the same attribute from different expressions based on their data types to resolve configuration conflicts.
  • Package Customizations - Allows for the modification and tailoring of existing software packages to meet specific build or runtime requirements.
  • Parameterization - Allows modifying build derivations through custom arguments to avoid code duplication in package recipes.
  • Dependency Override Managers - Allows programmatic swapping of pinned remote sources to test different versions of a dependency without modifying the main recipe.
  • Direct URL Installations - Allows downloading and configuring software packages directly from web addresses for rapid setup.
  • Verifiable Source Fetching - Downloads source code archives from URLs and ensures integrity via cryptographic hashes.
  • Shell Environment Managers - Spawns ephemeral shell environments with specific tools without altering the global system state.
  • Remote Software Deployers - Pushes software configurations and packages to remote machines for centralized fleet management.
  • Source Builds - Allows compiling software packages directly from source code to apply custom build options.
  • Distributed Build Clusters - Supports distributing compilation tasks across remote servers to increase build speed and resource utilization.
  • Configuration Deployment - Provisions remote machines by delivering system configurations via SSH or hardware installers.
  • Configuration Merging Engines - Provides a mechanism for combining global and local configuration attribute sets using recursive merging logic.
  • Docker Image Building - Generates Docker images directly from declarative package definitions and architecture specifications.
  • Continuous Integration Pipelines - Integrates reproducible build processes and verification workflows into continuous integration pipelines.
  • Dependency Alignment - Overrides recursive library dependencies to ensure a single, synchronized version is used across the entire project.
  • Binary and Source Installation - Supports software installation using either pre-built binary packages from caches or by compiling from source.
  • Incremental Configuration Updates - Enables pushing updated configuration files to running instances without the need to recreate the entire machine.
  • Software Distribution - Provides curated distributions of software packages optimized for compatibility and stability.
  • Remote Server Provisioning - Automates the installation of a complete system configuration onto remote Linux machines via SSH.
  • NixOS Deployments - Enables the deployment of systems using NixOS modules and Flakes for precise dependency tracking.
  • Remote Toolkit Deployments - Updates system settings on remote hosts without requiring a full re-installation of the OS.
  • Remote Build Orchestration - Offloads the compilation process to remote servers to reduce local resource consumption.
  • System Image Generation - Creates bootable ISOs, virtual machines, and Docker images derived from a single system configuration.
  • Disk and Mount Management - Allows declarative specification of disk partitions, filesystem formats, and mount points.
  • Bootable Image Creation - Generates customized, bootable disk images from declarative configuration files for hardware execution.
  • Virtual Machines - Creates QEMU-based virtual machines directly from declarative system configuration files.
  • Conditional Logic - Implements conditional logic within configuration files to apply settings only when specific criteria are met.
  • Configuration Expression Resolvers - Loads and evaluates functional expressions and resource relationships from external files.
  • Interactive Read-Eval-Print Loops - Includes an interactive REPL for testing expressions and inspecting values in real-time.
  • Variable Bindings - Implements let-bindings to assign names to values for reuse within a specific scope.
  • Custom Type Constraint Enforcement - Validates that configuration values adhere to specific expected types to ensure system stability.
  • Lazy-Evaluation Expression Engines - Employs a lazy-evaluation expression engine to manage complex dependencies and modular configuration imports efficiently.
  • Module Configuration Resolution - Processes a set of modules to resolve and merge final configuration values for the system.
  • Recursive Attribute References - Allows linking attributes within a configuration set to each other to avoid repeating values.
  • Source File Evaluation - Allows computing the value of expressions stored in files directly from the command line.
  • Binary Signing - Ensures the authenticity of binaries served from a cache using cryptographic key pairs for signing.
  • Data Type Validation - Enforces data type constraints on configuration options to ensure the system state adheres to a structured schema.
  • Reproducible Scripts - Enables the creation of reproducible scripts with explicit dependency declarations for consistent execution across environments.
  • Disk Space Cleaners - Includes a garbage collector to remove unreferenced packages and reclaim system storage.
  • System Administration Guides - Provides detailed administration guides for deploying and managing a declarative Linux distribution.
  • User Software Profiles - Allows non-privileged users to install and manage software within individual, personal profiles.
  • System Integration Test Runners - Runs integration tests within virtual machines to verify system behavior before deployment.

Istoric stele

Graficul istoricului de stele pentru nixos/nix.devGraficul istoricului de stele pentru nixos/nix.dev

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Nix.dev

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Nix.dev.
  • nixos/nixAvatar NixOS

    NixOS/nix

    17,090Vezi pe GitHub↗

    Nix is a functional package manager, purely functional build system, and declarative configuration system. It serves as a reproducible environment manager designed to eliminate manual installation drift by defining software and operating system states through a configuration language. The project provides a means of managing software dependencies in isolated environments to prevent conflicts between different versions of the same tool. It enables the creation of consistent system configurations and development environments that replicate exactly across multiple machines. Its capabilities cov

    C++c-plus-plusdeclarative-languagefunctional-programming
    Vezi pe GitHub↗17,090
  • nixos/nixpkgsAvatar NixOS

    NixOS/nixpkgs

    23,527Vezi pe GitHub↗

    Nixpkgs is a comprehensive repository of declarative software definitions used to build and manage reproducible system environments. It functions as a framework for assembling operating system components and application dependencies into consistent, versioned, and verifiable software collections. By utilizing a functional derivation graph and a lazy evaluation model, the project ensures that software environments are defined as pure expressions, resulting in absolute reproducibility across different machines. The repository distinguishes itself through its ability to manage complex software l

    Nixhacktoberfestlinuxnix
    Vezi pe GitHub↗23,527
  • siderolabs/talosAvatar siderolabs

    siderolabs/talos

    10,659Vezi pe GitHub↗

    Talos is a minimal, immutable Linux distribution designed specifically for deploying and managing Kubernetes clusters. It functions as an API-driven infrastructure manager that replaces traditional shell access with a declarative gRPC interface to control operating system state and configuration. The system is distinguished by its use of a read-only root filesystem and a security-hardened kernel, which removes standard GNU utilities to reduce the attack surface. It ensures environment consistency by distributing the operating system as versioned, signed images and utilizes TPM-backed verified

    Gocloud-nativecontainerdgo
    Vezi pe GitHub↗10,659
  • moonrepo/moonAvatar moonrepo

    moonrepo/moon

    3,687Vezi pe GitHub↗

    Moon is a monorepo build system and task runner designed to orchestrate complex projects with multiple packages. It functions as a dependency graph orchestrator that executes build targets in topological order and utilizes input hashing to cache results and skip redundant work. The project features a polyglot toolchain manager that automates the installation and versioning of language runtimes and CLI tools to ensure environment consistency. It also includes a plugin framework based on WebAssembly, allowing developers to extend build logic and toolchain behavior using any supported language.

    Rustbuild-systembuild-toolbun
    Vezi pe GitHub↗3,687
Vezi toate cele 30 alternative pentru Nix.dev→

Întrebări frecvente

Ce face nixos/nix.dev?

This project provides a functional package manager and a reproducible build system designed to ensure identical build inputs always produce the same outputs. It serves as the foundation for a declarative Linux distribution where the entire system state is defined in a configuration file, enabling predictable deployments and full-system rollbacks.

Care sunt principalele funcționalități ale nixos/nix.dev?

Principalele funcționalități ale nixos/nix.dev sunt: Package Managers, Declarative Linux Distributions, Functional Build Derivations, Declarative Configuration Systems, Build and Dependency Management, Functional, Content-Addressable Stores, Binary Cache Managers.

Care sunt câteva alternative open-source pentru nixos/nix.dev?

Alternativele open-source pentru nixos/nix.dev includ: nixos/nix — Nix is a functional package manager, purely functional build system, and declarative configuration system. It serves… nixos/nixpkgs — Nixpkgs is a comprehensive repository of declarative software definitions used to build and manage reproducible system… siderolabs/talos — Talos is a minimal, immutable Linux distribution designed specifically for deploying and managing Kubernetes clusters.… moonrepo/moon — Moon is a monorepo build system and task runner designed to orchestrate complex projects with multiple packages. It… pypa/sampleproject — This project is a reference implementation and tutorial designed to demonstrate the end-to-end workflow of building,… bottlerocket-os/bottlerocket — Bottlerocket is a container-optimized operating system and minimal Linux distribution designed specifically for…