{"id":15061926,"url":"https://github.com/appthrust/kcl-nix","last_synced_at":"2025-10-10T14:36:00.706Z","repository":{"id":256089595,"uuid":"853101675","full_name":"appthrust/kcl-nix","owner":"appthrust","description":"This repository provides a Nix flake for the KCL (Kubernetes Configuration Language) toolchain, including the KCL CLI and KCL Language Server.","archived":false,"fork":false,"pushed_at":"2025-05-23T02:30:32.000Z","size":28,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-26T10:56:41.769Z","etag":null,"topics":["daily-updates","kcl","nix","nix-flake"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/appthrust.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-06T02:01:06.000Z","updated_at":"2025-05-23T02:30:36.000Z","dependencies_parsed_at":"2024-09-08T23:37:39.476Z","dependency_job_id":"aa9ba4ae-51e0-4047-8dac-f7cae9531a8f","html_url":"https://github.com/appthrust/kcl-nix","commit_stats":{"total_commits":10,"total_committers":2,"mean_commits":5.0,"dds":"0.30000000000000004","last_synced_commit":"43aa29252706fd28c9efc7060c5b5b318cac59ca"},"previous_names":["appthrust/kcl-nix"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/appthrust/kcl-nix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appthrust%2Fkcl-nix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appthrust%2Fkcl-nix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appthrust%2Fkcl-nix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appthrust%2Fkcl-nix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appthrust","download_url":"https://codeload.github.com/appthrust/kcl-nix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appthrust%2Fkcl-nix/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262973547,"owners_count":23393254,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["daily-updates","kcl","nix","nix-flake"],"created_at":"2024-09-24T23:27:10.519Z","updated_at":"2025-10-10T14:35:55.667Z","avatar_url":"https://github.com/appthrust.png","language":"Nix","readme":"# KCL Nix Flake\nThis repository provides a Nix flake for the KCL (Kubernetes Configuration Language) toolchain, including the KCL CLI, KCL Language Server, and kubectl-kcl plugin.\n\n## Features\n\n- Easy installation and usage of KCL tools through Nix\n- Cross-platform support (Linux and macOS, both x86_64 and aarch64)\n- Reproducible builds and development environments\n- Seamless integration with other Nix-based projects\n\n## Prerequisites\n\n- Nix package manager with flakes enabled\n\n## Usage\n\nTo use this flake in your project, add it to your `flake.nix` inputs:\n\n```nix\n{\n  inputs = {\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixos-unstable\";\n    flake-utils.url = \"github:numtide/flake-utils\";\n    kclpkgs.url = \"github:appthrust/kcl-nix\";\n  };\n\n  outputs = { self, nixpkgs, flake-utils, kclpkgs }:\n    flake-utils.lib.eachDefaultSystem (system:\n      let\n        pkgs = import nixpkgs { inherit system; };\n        kcl = kclpkgs.default.${system};\n      in\n      {\n        devShells.default = pkgs.mkShell {\n          buildInputs = [\n            kcl.cli\n            kcl.language-server\n            kcl.kubectl-kcl\n          ];\n        };\n      }\n    );\n}\n```\n\nThen, you can enter a development shell with KCL tools available:\n\n```bash\nnix develop\n```\n\n## Available Tools\n\n- `kcl`: The KCL Command Line Interface\n- `kcl-language-server`: The KCL Language Server\n- `kubectl-kcl`: The KCL kubectl plugin\n\n## Automated Updates\n\nThis repository includes a GitHub Actions workflow that automatically checks for new KCL releases daily. When a new version is available, it updates the `flake.nix` file using a template (`flake.nix.tpl`) and a Python script (`update_flake.py`), then creates a pull request with the changes. This ensures that the flake always provides the latest KCL tools.\n\nThe `update_flake.py` script handles fetching the latest KCL version, calculating hashes for different architectures, and generating the updated `flake.nix` file.\n\n### Contributing to flake.nix\n\nThe `flake.nix` file is automatically generated from the `flake.nix.tpl` template. If you need to make changes to the flake configuration, please modify the template file instead of directly editing `flake.nix`. The automated update process will use your changes in the template to generate the new `flake.nix` file.\n\nIf you need to modify the update process itself, you can edit the `update_flake.py` script.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. Remember to modify `flake.nix.tpl` instead of `flake.nix` when making changes to the flake configuration.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- KCL developers and contributors\n- Nix and flakes community\n\nFor more information about KCL, visit the [official KCL documentation](https://kcl-lang.io/).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappthrust%2Fkcl-nix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappthrust%2Fkcl-nix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappthrust%2Fkcl-nix/lists"}