feat(taskwarrior): add enable option
This commit is contained in:
@@ -63,7 +63,6 @@
|
|||||||
bash.addBinToPath = true;
|
bash.addBinToPath = true;
|
||||||
};
|
};
|
||||||
anki.enable = true;
|
anki.enable = true;
|
||||||
anki.enable = true;
|
|
||||||
k8s.k9s.enable = true;
|
k8s.k9s.enable = true;
|
||||||
taskwarrior.enable = true;
|
taskwarrior.enable = true;
|
||||||
audio.enable = true;
|
audio.enable = true;
|
||||||
|
|||||||
@@ -61,6 +61,7 @@
|
|||||||
anki.enable = true;
|
anki.enable = true;
|
||||||
k8s.k9s.enable = true;
|
k8s.k9s.enable = true;
|
||||||
taskwarrior.enable = true;
|
taskwarrior.enable = true;
|
||||||
|
secrets.enable = true;
|
||||||
my.yubikey.enable = true;
|
my.yubikey.enable = true;
|
||||||
audio.enable = true;
|
audio.enable = true;
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
|
|||||||
@@ -90,6 +90,7 @@
|
|||||||
redis.enable = true;
|
redis.enable = true;
|
||||||
};
|
};
|
||||||
anki.enable = true;
|
anki.enable = true;
|
||||||
|
taskwarrior.enable = true;
|
||||||
k8s.enable = true;
|
k8s.enable = true;
|
||||||
shell.enable = true;
|
shell.enable = true;
|
||||||
my.stylix.enable = true;
|
my.stylix.enable = true;
|
||||||
|
|||||||
@@ -10,9 +10,14 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
cfg = config.taskwarrior;
|
||||||
sops = myUtils.sopsAvailability config osConfig;
|
sops = myUtils.sopsAvailability config osConfig;
|
||||||
standalone = osConfig == null;
|
standalone = osConfig == null;
|
||||||
in
|
in
|
||||||
|
{
|
||||||
|
options.taskwarrior.enable = lib.mkEnableOption "taskwarrior";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable (
|
||||||
lib.optionalAttrs standalone {
|
lib.optionalAttrs standalone {
|
||||||
sops = {
|
sops = {
|
||||||
secrets = myUtils.mkSopsSecrets "${toString inputs.nix-secrets}/secrets" null {
|
secrets = myUtils.mkSopsSecrets "${toString inputs.nix-secrets}/secrets" null {
|
||||||
@@ -33,9 +38,8 @@ lib.optionalAttrs standalone {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
// {
|
// {
|
||||||
|
|
||||||
warnings =
|
warnings =
|
||||||
lib.optional (!sops.available && config.programs.taskwarrior.enable)
|
lib.optional (!sops.available)
|
||||||
"taskwarrior is enabled, but sops templates are not available. taskwarrior sync will not be configured.";
|
"taskwarrior is enabled, but sops templates are not available. taskwarrior sync will not be configured.";
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -70,10 +74,12 @@ lib.optionalAttrs standalone {
|
|||||||
colorTheme = "dark-256";
|
colorTheme = "dark-256";
|
||||||
config = {
|
config = {
|
||||||
recurrence = "off";
|
recurrence = "off";
|
||||||
reserved.lines = 3; # without this I would have to scroll up 3 lines
|
reserved.lines = 3;
|
||||||
};
|
};
|
||||||
extraConfig = lib.optionalString sops.available ''
|
extraConfig = lib.optionalString sops.available ''
|
||||||
include ${sops.templates."taskrc.d/sync".path}
|
include ${sops.templates."taskrc.d/sync".path}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
{ config, ... }:
|
{ lib, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
cfg = config.taskwarrior;
|
||||||
inherit (config.secrets) owner;
|
inherit (config.secrets) owner;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = {
|
options.taskwarrior.enable = lib.mkEnableOption "taskwarrior";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
secrets.groups.taskwarrior = [
|
secrets.groups.taskwarrior = [
|
||||||
"sync-server-url"
|
"sync-server-url"
|
||||||
"sync-server-client-id"
|
"sync-server-client-id"
|
||||||
|
|||||||
Reference in New Issue
Block a user