Skip to content

Add NixOS module for payjoin-mailroom#1366

Merged
spacebear21 merged 1 commit intopayjoin:masterfrom
spacebear21:payjoin-mailroom-nixos-module
Mar 2, 2026
Merged

Add NixOS module for payjoin-mailroom#1366
spacebear21 merged 1 commit intopayjoin:masterfrom
spacebear21:payjoin-mailroom-nixos-module

Conversation

@spacebear21
Copy link
Collaborator

@spacebear21 spacebear21 commented Feb 27, 2026

Expose a nixosModules.payjoin-mailroom flake output that provides a systemd service. Operators declare settings as native Nix attrsets (serialized to TOML), keep secrets in an environment file, and get DynamicUser, state persistence, and auto-start on boot out of the box.

Disclosure: co-authored by Claude Code
Another disclosure: I don't run nixOS so can't validate that this works as intended

Pull Request Checklist

Please confirm the following before requesting review:

Expose a nixosModules.payjoin-mailroom flake output that provides a
systemd service. Operators declare settings as native Nix attrsets
(serialized to TOML), keep secrets in an environment file, and get
DynamicUser, state persistence, and auto-start on boot out of the box.
Copy link
Collaborator

@benalleng benalleng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TACK adcbab0 built with a minimal flake on a test nixos machine.

# /etc/nixos/flake.nix
{                                                                                 
  description = "Payjoin-mailroom test flake";                                         
                                                                                       
  inputs = {                                                                      
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";                             
    rust-payjoin = {                                                              
      url = "github:spacebear21/rust-payjoin/payjoin-mailroom-nixos-module";
    };                                                                            
  };                                                                              
                                                                                       
  outputs = { self, nixpkgs, rust-payjoin, ... }: {                               
   nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {                 
     modules = [                                                                 
         rust-payjoin.nixosModules.payjoin-mailroom                                
        ./configuration.nix                                                       
      ];                                                                          
    };                                                                            
  };                                                                              
}

I did not add any flags or specific configs. I only confirmed that I could see the payjojn-mailroom as enabled in the systemctl

@spacebear21 spacebear21 marked this pull request as ready for review March 2, 2026 22:19
@spacebear21 spacebear21 merged commit 2b19582 into payjoin:master Mar 2, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants