Bilkin
July 21, 2024, 5:34pm
1
I’m trying to configure Zellij using KDL. I believe there exists a nix-to-kdl parser. However, I’m struggling to generate certain KDL constructs using nix.
Where can I obtain documentation for the KDL format conversion in NixOS? Is there a general repository containing conversion details for nix-to-toml, nix-to-yaml and other formats? I’m getting a little tired of just poking around, hoping something works.
Thank you!
NOTE: I originally posted this on reddit, but it appears to have been lost in other discussion. I will repost any working solutions there.
2 Likes
nix-to-{to,ya}ml is available in Nixpkgs:
https://noogle.dev/f/pkgs/writers/writeTOML
https://noogle.dev/f/pkgs/writers/writeYAML
However I never heard of KDL as a format used in Nixpkgs. Indeed it would be a nice addition to Nixpkgs!
1 Like
To add a cross-reference, there is an open discussion of supporting the KDL format over on github.
GH issues don’t really go anywhere, they’re just for tracking purposes. However there was a PR created that stalled a few months ago:
NixOS:master
← feathecutie:formats-kdl
opened 03:04AM - 12 Mar 24 UTC
## Description of changes
<!--
For package updates please link to a changelo… g or describe changes, this helps your fellow maintainers discover breaking updates.
For new packages please briefly describe the package or provide a link to its homepage.
-->
Adds `pkgs.formats.kdl`, a Nix representation of the [KDL document language](https://kdl.dev/) using the standard `pkgs.formats` format.
Also inits `json2kdl`, a custom-built application which is required for the core functionality of `pkgs.formats.kdl`.
Closes #198655.
## Things done
- Built on platform(s)
- [x] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- For non-Linux: Is sandboxing enabled in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
- [ ] `sandbox = relaxed`
- [ ] `sandbox = true`
- [ ] Tested, as applicable:
- [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- and/or [package tests](https://nixos.org/manual/nixpkgs/unstable/#sec-package-tests)
- or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)
- made sure NixOS tests are [linked](https://nixos.org/manual/nixpkgs/unstable/#ssec-nixos-tests-linking) to the relevant packages
- [x] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)
- [x] Tested basic functionality of all binary files (usually in `./result/bin/`)
- [24.05 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2405.section.md) (or backporting [23.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2305.section.md) and [23.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2311.section.md) Release notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
<!--
To help with the large amounts of pull requests, we would appreciate your
reviews of other pull requests, especially simple package updates. Just leave a
comment describing what you have tested in the relevant package/service.
Reviewing helps to reduce the average time-to-merge for everyone.
Thanks a lot if you do!
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-contributions
-->
---
Add a :+1: [reaction] to [pull requests you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc