astro / astro/nix-openwrt-imagebuilder
PR to support modular interface?
- Dominant language
- Nix
- Stars
- 267
- Forks
- 31
- PR merge metrics
- No merged PRs in 30d
Description
Hello, and thanks for this neat and useful toolchain. I'm trying to do a better job of managing my OpenWRT-based router and APs, and as a confirmed Nixaholic this repository is just what I needed.
Would you be interested in a PR introducing a modular interface to the OpenWRT image builder code? I have a (very) rough cut at such an interface up on SourceHut [here](https://git.sr.ht/~tomeon/nix-openwrt-imagebuilder-module).
The high-level view:
```nix
{
openwrtImages.default = self.lib.openwrtImage {
modules = [
{
image = {
profileName = "avm_fritz7412";
packages.include = ["tcpdump"];
packages.exclude = ["ppp"];
disabledServices = ["dnsmasq"];
snippets."etc/uci-defaults/99-custom".text = ''
uci -q batch << EOI
set system.@system[0].hostname='testap'
commit
EOI
'';
};
}
];
};
}
```
If specified as a flake output, the image and associated assets could then be built with `nix build '.#openwrtImages.default.config.system.build.image' `. I plan to add a wrapper command for this that would permit doing, say, `nix-openwrt-imagebuild '.#default'`.
Any interest in integrating something like this in your project?
Thank you!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the current OpenWRT image builder code and the rough SourceHut prototype linked in the issue. Compare the proposed modular interface, flake output, and wrapper command with the repository; the issue does not define files, tests, acceptance criteria, or a completed scope.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100