{"repo":"a-kenji/flake-edit","free":true,"listed":false,"github":"https://github.com/a-kenji/flake-edit","clone":"git clone https://github.com/a-kenji/flake-edit.git","description":"Edit your flake inputs with ease.","language":"Rust","stars":79,"topics":["cli","flakes","library","nix","rust","automation","configuration","nixos"],"license":"MIT","category":"workflow-automation","readme_excerpt":"$ flake-edit - edit your flake inputs with ease Since Nix flake.nix input attributes are a constrained subset of the Nix language, and don't actually have functions I wanted to have a safe way to programmatically edit them. In particular I was interested in two things, that in the flake native way are managed through the flake.nix files: follow as well as pin and general update management. Pin management: As a consumer of other sources I might only want to depend on release versions of projects. To solve this problem other projects have set up hosted services to be a proxy between the input and the lock file. Meaning when running nix flake update flake-edit the service would give a different path back, depending on the last released version. This functionality should be possible without a specifically hosted middle man service. That's what the flake-edit update subcommand is for. Follow management: Flake dependencies are transitive by default - adding an input also adds the inputs of that input. Which can genuinely be useful. But that also means in larger systems and dependency graphs there tends to be an often avoidable duplication of inputs. There is a mechanism to deduplicate transitive dependencies: flake-edit.inputs.nixpkgs.follows = \"nixpkgs\" . Here the nixpkgs input of flake-edit is now the same input as the nixpkgs input. This is a common pattern. flake-edit follow will do this automatically. - $ flake-edit - edit your flake inputs with ease - $ flake-edit - usage - $","default_branch":null,"files":null,"tree":[],"storefront":"/r/a-kenji","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/a-kenji/flake-edit/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."}