-
-
Notifications
You must be signed in to change notification settings - Fork 15.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nixos/public-inbox: init #77450
nixos/public-inbox: init #77450
Conversation
{ | ||
options = { | ||
services.public-inbox = { | ||
enable = mkEnableOption "the public-inbox mail archiver"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add some more info, perhaps upstream URL? The name "public-inbox" is not search friendly, I don't know what this is 😊
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It isn’t? When I do a web search for public-inbox (using a non-bubbling search engine) the project’s README is literally the first result. https://public-inbox.org/README.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In my duck-duck-go search it is in 4th place. Google place it in 1st, and with a better title and text snippet. I think at least for duck-duck-go users it would help to make it obvious what this module is talking about.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have never seen a URL in a mkEnableOption
, and just looked through 30 or so of them and didn’t see any there either. So I don’t think it makes sense to add one for this one module when we don’t do so elsewhere.
In Nixpkgs, package URLs go in the meta
attribute for the package, and pkgs.public-inbox.meta.homepage
is indeed set to the correct value.
Note: public-inbox does not currently build on master. #77574 will fix this. |
This module encapsulates pretty much all of public-inbox's functionality. While there are a lot of options, they're only exposed for things that either I think have a high chance of being something a large proportion of users need to set, or if the module needs to do some special setup to accomodate them. All other public-inbox configuration can be set through the `config' options.
d2c6a33
to
c9be0a3
Compare
Great work @alyssais, thanks! One remaining fix though, setting ˋmda.spamCheck == nullˋ does not work as expected because ˋpublicinboxmda.spamcheckˋ will be discarded by ˋconfigToListˋ. Note that in order to properly disable spamcheck in the final config, one has to set ˋpublicinboxmda.spamcheckˋ to something (eg. "none") to make public-inbox-mda work; it does not work to simply set the option to an empty string: public-inbox-mda still searches and fails to find ˋspamcˋ. (edit: it actually must be set to "none" in this case according to https://public-inbox.org/public-inbox-config.html )
And it would be even greater to expose config options using the ˋsettingsˋ scheme of NixOS/rfcs#42 (as done for example in the ˋsanoidˋ module). What do you think? |
We should add something like |
I marked this as stale due to inactivity. → More info |
closing in favor of #104457 |
Motivation for this change
I’ve been using this for months now, and it works great. And several other people have expressed interest in my module, so here it is. :)
This module encapsulates pretty much all of public-inbox's
functionality. While there are a lot of options, they're only exposed
for things that either I think have a high chance of being something a
large proportion of users need to set, or if the module needs to do
some special setup to accomodate them. All other public-inbox
configuration can be set through the `config' options.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)cc @catern