42 个仓库
Frameworks for defining system or environment states through declarative configuration files.
Distinguishing note: Focuses on the declarative approach to system state rather than imperative scripts.
Explore 42 awesome GitHub repositories matching software engineering & architecture · Declarative Configuration Systems. Refine with filters or upvote what's useful.
Homebrew is a command-line package management tool designed to automate the installation, configuration, and maintenance of software on local development environments. It functions as a cross-platform software distributor, enabling users to install tools from pre-compiled binary archives or source code without requiring administrative privileges. By managing complex dependency trees and versioning, it ensures that software remains consistent and compatible across different system architectures. The project distinguishes itself through a declarative approach to system configuration, allowing u
Defines a desired state for installed software and dependencies in a configuration file to ensure reproducible environments.
Drone is a container-based continuous integration and delivery platform, source control management system, and artifact registry. It functions as a hosted workspace provider for cloud-based developer environments and a system for hosting and versioning code repositories. The platform executes build and deployment pipelines within isolated containers, using declarative configurations to automate software delivery. It includes a centralized registry for managing and versioning compiled binaries and build outputs to ensure consistent deployments across environments. The system covers a broad ca
Uses structured declarative configuration files to define build and deployment pipeline sequences.
vim-plug is a plugin manager for the Vim text editor that functions as a git-based dependency manager and configuration bootstrapper. It downloads and organizes external plugin packages from remote repositories to extend the editor's functionality. The project acts as a lazy-loading orchestrator to reduce editor startup time by deferring the loading of plugins until specific commands or file types are encountered. It enables version pinning by allowing plugins to be fetched using specific git branches, tags, or commit hashes. The manager provides a framework for plugin installation, lifecycl
Uses a declarative Vim script file to define the desired state of the plugin environment.
LazyVim is a modular configuration framework and distribution for Neovim that transforms a base text editor into a comprehensive integrated development environment. It provides a structured system for managing, loading, and orchestrating editor extensions using Lua, designed to standardize professional development workflows through a curated collection of settings and plugins. The project distinguishes itself through a focus on performance and stability, utilizing deferred plugin initialization to minimize startup latency and resource consumption. Its architecture relies on a directory-based
Uses a structured, declarative system to define editor behavior and manage plugin dependencies.
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
Defines system state and package configurations through functional, declarative expressions to ensure reproducible builds.
Authentik is a centralized identity and access management platform designed to serve as a unified authentication authority. It enables enterprise single sign-on across diverse applications and services, providing a cloud-native identity provider that manages user sessions and security protocols from a single location. The platform distinguishes itself through a policy-driven flow engine and a visual orchestration interface. This allows administrators to design complex, custom authentication workflows by chaining modular verification stages and conditional logic. These workflows can be further
Uses structured data files to define and replicate complex system setups and resource configurations declaratively.
Omarchy is a directory structure orchestrator that automates the provisioning and maintenance of file system hierarchies. By utilizing declarative configuration files, it allows users to define a desired workspace layout that serves as a single source of truth, ensuring that local development environments remain consistent and reproducible across distributed teams. The tool functions as an infrastructure-as-code utility for local environments, employing idempotent reconciliation to compare the current file system state against the defined configuration. It automatically applies only the neces
Uses structured configuration files to define the desired state of the local file system hierarchy.
Universal Android Debloater is a desktop utility designed to manage and remove pre-installed software from Android devices. By utilizing the Android Debug Bridge, the tool allows users to identify and disable or uninstall system applications on non-rooted devices to improve privacy, storage availability, and overall system performance. The software distinguishes itself through its ability to reconcile current device states against declarative configuration files, enabling the automated application of software removal profiles. It supports multi-instance management, allowing users to connect t
Uses declarative configuration files to define and reconcile desired system application states.
Windows10Debloater is a PowerShell-based utility designed to automate the removal of pre-installed software and the modification of system settings on Windows operating systems. It functions as a configuration manager that streamlines the desktop environment by uninstalling bundled applications and adjusting background services to reduce resource consumption. The tool distinguishes itself by providing a centralized orchestration layer for system hardening and privacy management. It allows users to restrict diagnostic data collection and block telemetry services, effectively limiting backgroun
Maintains backup instructions to restore registry keys and system settings to factory defaults.
This project is a curated directory of applications, utilities, and tools designed to enhance the macOS experience. It serves as a comprehensive resource for discovering software that improves system management, productivity, and professional development workflows. The collection distinguishes itself by organizing resources into specialized categories that address specific user needs, such as automating routine system tasks, configuring consistent development environments, and managing complex media or design workflows. It provides access to tools for debugging software, securing network conn
Supports defining system states through version-controlled declarative configuration files.
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
Provides a declarative configuration system for defining operating system and software states via a dedicated language.
systemd is a comprehensive system and service manager for Linux that orchestrates the entire operating system lifecycle. It functions as the primary init system, managing the transition from firmware to a fully initialized user space while providing a unified framework for service orchestration, hardware management, and resource control. The project distinguishes itself through its declarative, unit-based configuration model and dynamic dependency resolution, which allow for efficient, on-demand service activation and socket-based process management. It integrates deep system observability th
Defines system state and service dependencies using a declarative, unit-based configuration model for efficient initialization.
Pearcleaner is a system maintenance utility designed to reclaim disk space on macOS by identifying and removing residual files left behind after software uninstallation. It functions as an application uninstaller and storage management tool, ensuring that configuration files, caches, and support data are purged to maintain a clean system state. The application distinguishes itself through event-driven automation, utilizing kernel-level monitoring to detect when files are moved to the trash and triggering immediate scans for orphaned data. It integrates directly into the desktop environment vi
Allows users to define directory inclusion and exclusion rules for automated scanning operations.
Bottom is a cross-platform system monitoring tool that provides real-time visibility into hardware performance and process activity within a terminal-based interface. Built as a command-line utility, it tracks metrics for processor, memory, storage, and network usage while offering tools to inspect, organize, and terminate active system processes. The application utilizes a modular layout engine that allows users to arrange independent data-visualization widgets into a custom grid. This interface is powered by an immediate-mode rendering approach and an event-driven input loop, ensuring the d
Maps external text-based configuration files into internal application state to define persistent user preferences.
This project is a configuration suite for the Hyprland Wayland compositor, providing a set of automated scripts and files to deploy a consistent desktop environment across Linux distributions. It functions as an automation tool that synchronizes system settings, software packages, and interface themes to ensure a uniform workspace state. The environment distinguishes itself through deep integration with language models, allowing users to access local or cloud-based AI assistants directly from the desktop interface for tasks such as text translation and content generation. Visual consistency i
Defines the desktop environment state through declarative configuration files for consistent system deployment.
Glazewm is a tiling window manager and desktop automation framework designed to organize application windows into non-overlapping layouts. It functions as a keyboard-driven controller, allowing users to manage window focus, workspace navigation, and layout configurations entirely through custom keybindings. By intercepting system-level events, the software overrides default window placement and behavior to maximize screen space and maintain a structured workspace. The project distinguishes itself through a highly configurable environment that supports complex multi-monitor setups and dynamic
Uses declarative configuration files to define window tiling, workspace organization, and keyboard shortcut mappings.
This repository serves as a library of reference patterns and scripts for infrastructure automation and configuration management. It provides a collection of standardized examples designed to demonstrate how to define and maintain server environments as code, ensuring consistency across development, testing, and production stages. The project focuses on implementing infrastructure as code best practices by showcasing how to structure automation logic for complex deployments. These examples illustrate the use of declarative modeling to define desired system states, alongside modular task abstr
Defines desired system states using human-readable declarative configuration files.
Llama-GPT is a self-hosted generative AI model runner that provides a private web interface for interacting with large language models. By executing these models directly on local hardware, it ensures that all intelligent assistance remains offline and independent of external cloud service providers. The project functions as a private assistant that maintains complete data ownership by storing all application state and model interactions on local storage volumes. It is designed to operate within a broader self-hosted computing environment, allowing users to maintain control over their persona
Maintains desired system and network states through structured configuration files that define the entire local infrastructure.
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
Implements a gRPC-based declarative system for managing host and cluster configuration without manual file editing.
Umbrel is a home server operating system designed to centralize the management of self-hosted applications and personal data services. It provides a unified, web-based graphical dashboard that abstracts complex system administration tasks, allowing users to deploy and maintain private cloud infrastructure, blockchain nodes, and media streaming services without requiring command-line interaction. The platform distinguishes itself through a modular application marketplace that automates the retrieval, configuration, and lifecycle management of containerized software. It integrates local artific
Implements declarative configuration to automatically reconcile the system state with desired application setups.