divnix / digga

A flake utility library to craft shell-, home-, and hosts- environments.
https://digga.divnix.com
MIT License
1k stars 107 forks source link

Documentation Overhaul #456

Open Pacman99 opened 2 years ago

Pacman99 commented 2 years ago

Intro

I'm writing this up in reference to #451 #372 and #313 The documentation and onboarding user story is horrible. After the digga transition, #430, and all sorts of changes before, the documentation doesn't reflect the current state of what digga can do and what it means to users. I realize I'm creating yet another issue for something that has been repeated before. I'm hoping this issue can serve as a thread to collect specific action items to improve the documentation.

Target Users

I just want to start with the type of people we're writing the documentation for.

Action items

If anyone is interested in helping please post here, I wanted to get these listed out, I'm not sure when I'll get around to working on them. And I'm definitely missing things, so feel free to edit the issue or let me know if you would like to add more goals.

montchr commented 2 years ago

This is great! And definitely very important.

montchr commented 2 years ago

One question (plus sub-questions 😆) I have, which could be added to this list: what is the current state of bud? Is it worth improving or are there plans to ditch it? If it's sticking around, what needs improvement? Clarity on that would help guide decisions about approaches to documentation.

anthr76 commented 2 years ago

FWIW with considering this issue https://github.com/NixOS/nixpkgs/issues/169193 bud in it's current state is somewhat broken,

blaggacao commented 2 years ago

FWIW, std just landed ADR & Docs nudging:

https://github.com/divnix/std/blob/2e761e3c3271d37ffeffabda8c5d1552eb1f3189/cells/std/devshellProfiles.nix#L24-L68

I'm also planning to leverage these two projects shortly for extra UX:

Pacman99 commented 2 years ago

what is the current state of bud?

Current plans are to ditch it. This means removing any reference to bud in docs. bud build should be replaced with nixos-generator commands, bud switch(rebuild? idk bud syntax) should be replaced with deploy or nixos-rebuild.

rummik commented 1 year ago

Some additional notes for the documentation overhaul:

One thing that tripped me up for a bit is Digga sets users.mutableUsers = false, so that would be nice to have documented.

This also interacts with the NixOS documentation for users.users.<name>.passwordFile being a bit misleading, since it suggests you should follow the documentation for chpasswd -e, which indicates that you should prefix password lines with a username, rather than it expecting a file containing the value that would be supplied to hashedPassword (ex: mkpasswd -m sha-512, etc)

tl;dr: It took me forever to realize I should use mkpasswd -m sha-512 > password-file 🤦🏻‍♀️