Skip to content

Ending digga #503

Open
Open
@Pacman99

Description

@Pacman99

I would be hard pressed to recommend digga to anyone anymore. It has become increasingly difficult to maintain and has a number of bugs hidden behind its API. I believe many of the original users have switched to std or other frameworks and I myself am thinking of re-basing my repos on flake parts and removing dependence on digga.

I'm happy with what we've done through this repo, it was a really fun and effective project that helped me (and I hope others) understand and get started with flakes. I believe it has inspired other efforts in projects in this same space. If we had more manpower, maybe we could refactor and improve digga to be better, but I don't see that happening anytime soon. I wish we could keep it going, but I think pretending this project is still alive is a lie and harmful to anyone planning to use digga.

I think the best path forward is to add a message in the README linking here and eventually archive the repo. But I don't want to make this decision without general community support.

For anyone wanting to transition out of digga, I think either std, flake.parts, or flake-utils-plus covers most of the exporting related features digga provides. And those projects are simpler in scope and have better designed APIs.

Digga's unique features are auto-exporting, building hosts and home configurations, and automatic host testing.

Auto-exporting is riddled with bugs (ex: #496) and in retrospect I think it was a mistake.

Building configurations can just be done manually with nixosSystem and deploy-rs functions without too much work. I think std is adding this feature in the future and I could see flake.parts improving their nixosConfigurations module, or maybe some external module that improves nixosConfigurations and deploy exports.

I've haven't used the testing features much, but I do know it makes a lot of assumptions that end up making them fail often, so it's probably better to manually define tests anyways.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions