{"repo":"hoh/nix-manipulator","free":true,"listed":false,"github":"https://github.com/hoh/nix-manipulator","clone":"git clone https://github.com/hoh/nix-manipulator.git","description":"Parse, manipulate, and reconstruct Nix source code with high-level abstractions.","language":"Python","stars":92,"topics":["cli","code-manipulation","nix","python","tree-sitter"],"license":"LGPL-3.0","category":"cli-tools","readme_excerpt":"Nix-manipulator (Nima) A Python library and tools for parsing, manipulating, and reconstructing Nix source code. Overview Started during SaltSprint 2025, Nix-manipulator aims to fill the absence of tools for easily updating and editing Nix code. Popular tools such as nix-update rely on simple string replacement or regular expressions for updating Nix code. Features and Goals - Ease of use - Simple CLI and API for common operations. - High-level abstractions make manipulating expressions easy. - Preserving formatting and comments in code that respects RFC-0166. Non-goals - Preserving eccentric formatting that does not respect RFC-0166 and would add unnecessary complexity. Targeted applications - Updating values in Nix code by hand, scripts, pipelines, and frameworks. - Writing refactoring tools. - Interactive modifications from a REPL. Foundations Nix-manipulator leverages tree-sitter , a multilingual concrete-syntax AST, and its Nix grammar tree-sitter-nix. Project Status The project is still is in alpha state: - All Nix syntax is supported - Test-driven approach prevents regressions - All Nix files from nixpkgs can be parsed and reproduced - CLI and API are still evolving and subject to change with the excption of some expressions that are not RFC-compliant. Target Audience Intermediate Nix users and developers working with Nix code manipulation. CLI Usage Nix-manipulator provides a command-line interface for common operations: Full docs (MkDocs + Material) live in docs/ and","default_branch":null,"files":null,"tree":[],"storefront":"/r/hoh","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/hoh/nix-manipulator/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}