Add basic readme to setup a nix flake for standalone payjoin-mailroom#1381
Add basic readme to setup a nix flake for standalone payjoin-mailroom#1381benalleng wants to merge 1 commit intopayjoin:masterfrom
Conversation
f1726f8 to
9c95457
Compare
Pull Request Test Coverage Report for Build 22767683746Details
💛 - Coveralls |
spacebear21
left a comment
There was a problem hiding this comment.
cACK, a few comments on specifics below
payjoin-mailroom/README.md
Outdated
| inputs = { | ||
| nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; | ||
| rust-payjoin = { | ||
| url = "github:payjoin/rust-payjoin/master"; |
There was a problem hiding this comment.
This should probably point to a tag (and so should docker-compose.toml for that matter).
DanGould
left a comment
There was a problem hiding this comment.
I'm pretty bearish on READMEs as documentation without deliberate plan to prevent bitrot from the getgo. Less in it, less to rot.
Concrete mitigations
- Is CI-test of example flake cost-prohibitive or possible (I comment a suggestion)
- Totally agree with @spacebear21's suggestion to relative link example flake If the file moves, the link breaks in GitHub.
- Omit the version pin from the example or use a placeholder. The nixos-25.11 and payjoin-mailroom-0.1.0 in the example flake will age quickly. Better to either use a comment like # pin to your preferred release or the nixos-unstable channel, with a note directing users to the releases page for stable pins.
- Keep the config reference minimal and point to the canonical file. The current approach of just saying "see config.example.toml" is it.
- "last tested" datestamp or version badge if CI isn't feasible is probably fine
payjoin-mailroom/flake.example.nix
Outdated
| rust-payjoin = { | ||
| url = "github:payjoin/rust-payjoin/tree/payjoin-mailroom-0.1.0"; | ||
| }; |
There was a problem hiding this comment.
This is out of date immediately. If we used
| rust-payjoin = { | |
| url = "github:payjoin/rust-payjoin/tree/payjoin-mailroom-0.1.0"; | |
| }; | |
| rust-payjoin.url = "github:payjoin/rust-payjoin"; |
and the local path in CI
nix flake check ./nix/modules/example \
--override-input rust-payjoin path:$(pwd) \
--no-write-lock-file
We would make sure this example actually keeps working. Could use big ### pin to your preferred release or the nixos-unstable channel. see <release link> for versions in the example if really necessary.
|
Happy to make this as minimal as possible to avoid this ever getting stale, my intention with the flake.example.nix is only to demonstrate how a basic flake should be setup (inputs, outputs, etc) and to bring attention to the fact that we have the module to support this. |
7c20536 to
6bb2d7c
Compare
payjoin-mailroom/flake.example.nix
Outdated
| { | ||
| self, | ||
| nixpkgs, | ||
| ruts-payjoin, |
There was a problem hiding this comment.
| ruts-payjoin, | |
| rust-payjoin, |
payjoin-mailroom/flake.example.nix
Outdated
|
|
||
| inputs = { | ||
| nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; | ||
| rust-payjoin.url = "github:payjoin/rust-payjoin/tree/<payjoin-mailroom-latest>"; |
There was a problem hiding this comment.
Just track master and ref latest with a comment?
| rust-payjoin.url = "github:payjoin/rust-payjoin/tree/<payjoin-mailroom-latest>"; | |
| rust-payjoin.url = "github:payjoin/rust-payjoin"; |
Robot says /tree is web UI path only and github: shorthand for a tag here would be
rust-payjoin.url = "github:payjoin/rust-payjoin/<payjoin-mailroom-0.1.0>";I'm inclined to believe
6bb2d7c to
19878ca
Compare
This is a minimal readme for recreating the nix flake to run a payjoin-mailroom instance in standalone nix systems.
The settings added here are not intended to actually produce a functional setup, those will come as a followup, this PR is only intended to show the format for how a flake should be organized.
Pull Request Checklist
Please confirm the following before requesting review:
AI
in the body of this PR.