default.nix (903B)
1 { 2 lib, 3 pkgs, 4 5 user, 6 email, 7 ... 8 }: 9 { 10 environment.persistence."/fix".users.${user} = { 11 files = [ 12 { 13 file = ".local/share/rbw/device_id"; 14 parentDirectory.mode = "0700"; 15 } 16 ]; 17 directories = [ 18 { 19 directory = ".cache/rbw"; 20 mode = "0700"; 21 } 22 ]; 23 }; 24 25 home-manager.users.${user} = 26 { config, ... }: 27 { 28 home.sessionVariables = { 29 SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/rbw/ssh-agent-socket"; 30 }; 31 32 programs.rbw = { 33 enable = true; 34 settings = { 35 email = email; 36 pinentry = pkgs.writeShellScriptBin "rbw-pinentry-wrapper" '' 37 if [ -n "$WAYLAND_DISPLAY" ]; then 38 exec ${lib.getExe config.programs.wayprompt.package} "$@" 39 else 40 exec ${lib.getExe pkgs.pinentry-tty} "$@" 41 fi 42 ''; 43 }; 44 }; 45 }; 46 }