Skip to content

Commit 7cb310d

Browse files
authored
Add Actual Budget (#146)
* Add Actual Budget * Format code
1 parent d76b46b commit 7cb310d

File tree

6 files changed

+94
-2
lines changed

6 files changed

+94
-2
lines changed

hosts/bastion/profiles/authelia/default.nix

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,24 @@
127127
redirect_uris = [ "https://termix.e10.camp/users/oidc/callback" ];
128128
token_endpoint_auth_method = "client_secret_post";
129129
}
130+
{
131+
client_id =
132+
"pV6drSFL4uNhslIfnTxi~oDMhqTIVVWM~307jSrBE9CNPuuwqMRDwYnW0PG6tYYL5HqCpFJu";
133+
client_name = "Actual Budget";
134+
client_secret =
135+
"$pbkdf2-sha512$310000$78au487f6p.HXge7fFeMcQ$FXpI9224tVfyMNkyLj3sqtP.gWUUN./gJemo3l0KcwjVseC0Wlqe50LsYtm6lBBzRXuBxAa/Jhw2q3EaIGMd3A";
136+
public = false;
137+
authorization_policy = "two_factor";
138+
require_pkce = false;
139+
pkce_challenge_method = "";
140+
redirect_uris = [ "https://actual.e10.camp/openid/callback" ];
141+
scopes = [ "openid" "profile" "groups" "email" ];
142+
response_types = [ "code" ];
143+
grant_types = [ "authorization_code" ];
144+
access_token_signed_response_alg = "none";
145+
userinfo_signed_response_alg = "none";
146+
token_endpoint_auth_method = "client_secret_basic";
147+
}
130148
];
131149
};
132150

hosts/bastion/profiles/caddy/default.nix

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,11 @@
261261
inherit (hosts.controller.config.services.termix) port;
262262
};
263263

264+
"actual.e10.camp" = {
265+
host = hosts.matrix;
266+
inherit (hosts.matrix.config.services.actual.settings) port;
267+
};
268+
264269
"jellyfin.e10.video" = {
265270
host = hosts.htpc;
266271
port = 8096;

hosts/matrix/configuration.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
profiles.media-management.immich.default
1010
profiles.networking.printing
1111
profiles.power.tripp-lite-smart1500lcd
12+
profiles.services.actual.default
1213
profiles.services.attic-watch-store.default
1314
profiles.services.bentopdf
1415
profiles.services.changedetection-io
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{ config, ... }: {
2+
sops.secrets = {
3+
actual_oauth2_client_secret = {
4+
sopsFile = ./secrets.json;
5+
mode = "0777";
6+
};
7+
};
8+
9+
services.actual = {
10+
enable = true;
11+
openFirewall = true;
12+
settings = {
13+
loginMethod = "openid";
14+
openId = {
15+
discoveryURL = "https://auth.e10.camp";
16+
client_id =
17+
"pV6drSFL4uNhslIfnTxi~oDMhqTIVVWM~307jSrBE9CNPuuwqMRDwYnW0PG6tYYL5HqCpFJu";
18+
client_secret._secret =
19+
config.sops.secrets.actual_oauth2_client_secret.path;
20+
server_hostname = "https://actual.e10.camp";
21+
authMethod = "oauth2";
22+
};
23+
};
24+
};
25+
}

modules/profiles/services/actual/secrets.json

Lines changed: 43 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/profiles/services/glance/default.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
cache = "1m";
3434
title = "Services";
3535
sites = let
36-
mkSite = { title, url, check-url ? null, icon
37-
, basicAuth ? false }: {
36+
mkSite =
37+
{ title, url, check-url ? null, icon, basicAuth ? false }: {
3838
inherit title url check-url icon;
3939
basic-auth = lib.mkIf basicAuth {
4040
username = "\${AUTHELIA_BASIC_AUTH_USERNAME}";

0 commit comments

Comments
 (0)