mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 11:13:54 -05:00
30 lines
919 B
Nix
30 lines
919 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
cfg = config.ar.home.apps.backblaze;
|
|
in {
|
|
config = lib.mkIf cfg.enable {
|
|
home = {
|
|
activation.backblazeAuthentication = lib.hm.dag.entryAfter ["reloadSystemd"] ''
|
|
${
|
|
if ((cfg.keyIdFile != null) && (cfg.keyFile != null))
|
|
then
|
|
(
|
|
if !(builtins.pathExists "${config.xdg.configHome}/b2/account_info")
|
|
then ''
|
|
XDG_RUNTIME_DIR=''${XDG_RUNTIME_DIR:-/run/user/$(id -u)}
|
|
run --quiet ${lib.getExe pkgs.backblaze-b2} authorize_account `${lib.getExe' pkgs.coreutils "cat"} ${cfg.keyIdFile}` `${lib.getExe' pkgs.coreutils "cat"} ${cfg.keyFile}`''
|
|
else ''run echo "backblaze: Already authenticated."''
|
|
)
|
|
else ''run echo "backblaze: Missing keyIDfile and keyFile."''
|
|
}
|
|
'';
|
|
|
|
packages = with pkgs; [backblaze-b2];
|
|
};
|
|
};
|
|
}
|