mirror of
https://github.com/TheWanderingCrow/CrOS.git
synced 2026-01-10 01:24:05 -05:00
Compare commits
2 commits
8979293f63
...
e41cdeb3b3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e41cdeb3b3 | ||
|
|
741b82a10d |
4 changed files with 170 additions and 51 deletions
109
flake.lock
generated
109
flake.lock
generated
|
|
@ -1,8 +1,27 @@
|
|||
{
|
||||
"nodes": {
|
||||
"actualbudget-report": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767150681,
|
||||
"narHash": "sha256-7jwftrKGKHEec1hozqsL1v6KYPFTHKqSsOejiLhLGrY=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "586e336cb885cbc87d2f296e995590385e9d60d9",
|
||||
"revCount": 30,
|
||||
"type": "git",
|
||||
"url": "https://git.wanderingcrow.net/TheWanderingCrow/actualbudget-report"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.wanderingcrow.net/TheWanderingCrow/actualbudget-report"
|
||||
}
|
||||
},
|
||||
"deferred-apps": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766929169,
|
||||
|
|
@ -55,6 +74,24 @@
|
|||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1762810396,
|
||||
"narHash": "sha256-dxFVgQPG+R72dkhXTtqUm7KpxElw3u6E+YlQ2WaDgt8=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "0bdadb1b265fb4143a75bd1ec7d8c915898a9923",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nvix",
|
||||
|
|
@ -133,7 +170,7 @@
|
|||
"iamb-flake": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
|
|
@ -203,14 +240,14 @@
|
|||
},
|
||||
"nix-secrets": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765919359,
|
||||
"narHash": "sha256-gUvmyGPzRf7skvhuwl6ose5SwvkdBtzgt7z9uYmGY/c=",
|
||||
"lastModified": 1767150874,
|
||||
"narHash": "sha256-F59DlANI2cCSEmDYdCGBxI5jlIq+g+6prZPvtX8mBeg=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "0cefdfc056fbfe8d6ab706c89675193fa5b59f77",
|
||||
"revCount": 162,
|
||||
"rev": "048111b8d221fbcefee6855ca6f8bde0b7d636bf",
|
||||
"revCount": 164,
|
||||
"type": "git",
|
||||
"url": "ssh://git@github.com/TheWanderingCrow/nix-secrets"
|
||||
},
|
||||
|
|
@ -221,11 +258,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1766651565,
|
||||
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=",
|
||||
"lastModified": 1762596750,
|
||||
"narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539",
|
||||
"rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -251,6 +288,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1761765539,
|
||||
"narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "719359f4562934ae99f5443f20aa06c2ffff91fc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1766201043,
|
||||
|
|
@ -284,6 +336,22 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1766651565,
|
||||
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1736883708,
|
||||
"narHash": "sha256-uQ+NQ0/xYU0N1CnXsa2zghgNaOPxWpMJXSUJJ9W7140=",
|
||||
|
|
@ -299,7 +367,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1736320768,
|
||||
"narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=",
|
||||
|
|
@ -315,7 +383,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1750605355,
|
||||
"narHash": "sha256-xT8cPLTxlktxI9vSdoBlAVK7dXgd8IK59j7ZwzkkhnI=",
|
||||
|
|
@ -329,7 +397,7 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1766201043,
|
||||
"narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=",
|
||||
|
|
@ -345,7 +413,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1757745802,
|
||||
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
|
||||
|
|
@ -361,7 +429,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1756696532,
|
||||
"narHash": "sha256-6FWagzm0b7I/IGigOv9pr6LL7NQ86mextfE8g8Q6HBg=",
|
||||
|
|
@ -380,9 +448,9 @@
|
|||
"nvf": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"mnw": "mnw",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
|
|
@ -401,7 +469,7 @@
|
|||
},
|
||||
"nvix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"nvf": "nvf"
|
||||
},
|
||||
"locked": {
|
||||
|
|
@ -435,6 +503,7 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"actualbudget-report": "actualbudget-report",
|
||||
"deferred-apps": "deferred-apps",
|
||||
"disko": "disko",
|
||||
"hardware": "hardware",
|
||||
|
|
@ -443,7 +512,7 @@
|
|||
"impermanence": "impermanence",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nix-secrets": "nix-secrets",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixpkgs-darwin": "nixpkgs-darwin",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
|
|
@ -454,7 +523,7 @@
|
|||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736994333,
|
||||
|
|
|
|||
|
|
@ -121,5 +121,6 @@
|
|||
# CrOS inputs
|
||||
nix-secrets.url = "git+ssh://git@github.com/TheWanderingCrow/nix-secrets";
|
||||
nvix.url = "github:TheWanderingCrow/nvix";
|
||||
actualbudget-report.url = "git+https://git.wanderingcrow.net/TheWanderingCrow/actualbudget-report";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,28 +63,35 @@ in
|
|||
|
||||
virtualisation.oci-containers.backend = lib.mkDefault "podman";
|
||||
|
||||
nix.settings = {
|
||||
connect-timeout = 5;
|
||||
log-lines = 25;
|
||||
min-free = 128000000;
|
||||
max-free = 1000000000;
|
||||
nix = {
|
||||
settings = {
|
||||
connect-timeout = 5;
|
||||
log-lines = 25;
|
||||
min-free = 128000000;
|
||||
max-free = 1000000000;
|
||||
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
fallback = true;
|
||||
auto-optimise-store = true;
|
||||
fallback = true;
|
||||
auto-optimise-store = true;
|
||||
|
||||
trusted-users = [ "@wheel" ];
|
||||
substituters = [
|
||||
"https://cache.nixos.org/"
|
||||
"https://nix-community.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
trusted-users = [ "@wheel" ];
|
||||
substituters = [
|
||||
"https://cache.nixos.org/"
|
||||
"https://nix-community.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
};
|
||||
# Automatic garbage collect
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,12 @@ let
|
|||
sopsFolder = builtins.toString inputs.nix-secrets + "/sops";
|
||||
in
|
||||
{
|
||||
nixpkgs.overlays = [ inputs.actualbudget-report.overlays.default ];
|
||||
|
||||
imports = [
|
||||
inputs.actualbudget-report.nixosModules.default
|
||||
];
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d ${volumePath}/actualbudget"
|
||||
"d ${volumePath}/actualbudget-api"
|
||||
|
|
@ -24,22 +30,52 @@ in
|
|||
"actualbudget/client-id" = {
|
||||
sopsFile = "${sopsFolder}/services.yaml";
|
||||
};
|
||||
"actualbudget/recipients" = {
|
||||
sopsFile = "${sopsFolder}/services.yaml";
|
||||
};
|
||||
"actualbudget/client-secret" = {
|
||||
sopsFile = "${sopsFolder}/services.yaml";
|
||||
};
|
||||
"actualbudget/sync-id" = {
|
||||
sopsFile = "${sopsFolder}/services.yaml";
|
||||
};
|
||||
"generic/smtp/server" = {
|
||||
sopsFile = "${sopsFolder}/services.yaml";
|
||||
};
|
||||
"generic/smtp/port" = {
|
||||
sopsFile = "${sopsFolder}/services.yaml";
|
||||
};
|
||||
"generic/smtp/user" = {
|
||||
sopsFile = "${sopsFolder}/services.yaml";
|
||||
};
|
||||
"generic/smtp/pass" = {
|
||||
sopsFile = "${sopsFolder}/services.yaml";
|
||||
};
|
||||
};
|
||||
|
||||
templates."actualbudget-env".content = ''
|
||||
ACTUAL_OPENID_DISCOVERY_URL=https://auth.wanderingcrow.net/.well-known/openid-configuration
|
||||
ACTUAL_OPENID_CLIENT_ID=${config.sops.placeholder."actualbudget/client-id"}
|
||||
ACTUAL_OPENID_CLIENT_SECRET=${config.sops.placeholder."actualbudget/client-secret"}
|
||||
ACTUAL_OPENID_SERVER_HOSTNAME=https://budget.wanderingcrow.net
|
||||
'';
|
||||
templates."actualbudget-api-env".content = ''
|
||||
ACTUAL_SERVER_URL=https://budget.wanderingcrow.net
|
||||
ACTUAL_SERVER_PASSWORD=${config.sops.placeholder."actualbudget/pass"}
|
||||
API_KEY=${config.sops.placeholder."actualbudget/key"}
|
||||
'';
|
||||
templates = {
|
||||
"actualbudget-env".content = ''
|
||||
ACTUAL_OPENID_DISCOVERY_URL=https://auth.wanderingcrow.net/.well-known/openid-configuration
|
||||
ACTUAL_OPENID_CLIENT_ID=${config.sops.placeholder."actualbudget/client-id"}
|
||||
ACTUAL_OPENID_CLIENT_SECRET=${config.sops.placeholder."actualbudget/client-secret"}
|
||||
ACTUAL_OPENID_SERVER_HOSTNAME=https://budget.wanderingcrow.net
|
||||
'';
|
||||
"actualbudget-api-env".content = ''
|
||||
ACTUAL_SERVER_URL=https://budget.wanderingcrow.net
|
||||
ACTUAL_SERVER_PASSWORD=${config.sops.placeholder."actualbudget/pass"}
|
||||
API_KEY=${config.sops.placeholder."actualbudget/key"}
|
||||
'';
|
||||
"actualbudget-report-env".content = ''
|
||||
BASE_URL=https://api.budget.wanderingcrow.net
|
||||
API_KEY=${config.sops.placeholder."actualbudget/key"}
|
||||
SYNC_ID=${config.sops.placeholder."actualbudget/sync-id"}
|
||||
SMTP_USERNAME=${config.sops.placeholder."generic/smtp/user"}
|
||||
SMTP_PASSWORD=${config.sops.placeholder."generic/smtp/pass"}
|
||||
SMTP_HOST=${config.sops.placeholder."generic/smtp/server"}
|
||||
SMTP_PORT=${config.sops.placeholder."generic/smtp/port"}
|
||||
SMTP_RECIPIENTS=${config.sops.placeholder."actualbudget/recipients"}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
services.caddy = {
|
||||
|
|
@ -76,4 +112,10 @@ in
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.actualbudget-report = {
|
||||
enable = true;
|
||||
interval = "Sun 12:00:00";
|
||||
environmentFile = config.sops.templates."actualbudget-report-env".path;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue