outlook-oauth-hack/nix/hm-module.nix

42 lines
987 B
Nix
Raw Normal View History

2024-04-05 18:47:33 -04:00
self: { config
, lib
, pkgs
, ...
}:
2024-04-05 18:13:16 -04:00
with lib;
let
inherit (pkgs.stdenv.hostPlatform) system;
package = self.packages.${system}.default;
cfg = config.programs.o365-auth;
2024-04-05 18:47:33 -04:00
in
{
2024-04-05 18:13:16 -04:00
options.programs.o365-auth = {
enable = mkEnableOption "o365 token refresh script";
2024-04-05 18:47:33 -04:00
package = mkOption {
type = types.package;
default = package;
};
2024-04-05 22:11:51 -04:00
passwordPath = mkOption {
type = types.str;
};
2024-04-05 18:13:16 -04:00
config = mkOption {
type = types.str;
default = ''
2024-04-05 18:49:50 -04:00
[default]
2024-04-05 18:47:33 -04:00
ClientId = "08162f7c-0fd2-4200-a84a-f25a4db0b584"
ClientSecret = "TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82"
Scopes = ['https://outlook.office.com/IMAP.AccessAsUser.All','https://outlook.office.com/SMTP.Send']
Authority = false
'';
2024-04-05 18:13:16 -04:00
};
};
config = mkIf cfg.enable {
2024-04-05 18:47:33 -04:00
home.packages = [ cfg.package ];
2024-04-05 22:11:51 -04:00
home.file.".o365-auth-config.toml".text = cfg.config + ''
[security]
PasswordPath = "${cfg.passwordPath}"
'';
2024-04-05 18:13:16 -04:00
};
}