🔧 migrate to taskwarrior 3
This commit is contained in:
parent
c03727fd80
commit
e619cc2dab
6 changed files with 49 additions and 35 deletions
|
@ -142,7 +142,7 @@
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
machineDir = ./machines;
|
machineDir = ./machines;
|
||||||
};
|
};
|
||||||
zerotierDeviceName = "ztbn67ogn2";
|
zerotierInterface = "ztbn67ogn2";
|
||||||
components = ./components;
|
components = ./components;
|
||||||
features = ./features;
|
features = ./features;
|
||||||
};
|
};
|
||||||
|
|
|
@ -42,7 +42,10 @@ let
|
||||||
valueType;
|
valueType;
|
||||||
};
|
};
|
||||||
|
|
||||||
taskwarrior-tui = pkgs.legacy_2311.taskwarrior-tui;
|
#taskwarrior-tui = pkgs.legacy_2311.taskwarrior-tui;
|
||||||
|
taskwarrior-tui = pkgs.taskwarrior-tui;
|
||||||
|
|
||||||
|
taskwarrior = pkgs.taskwarrior3;
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
|
@ -87,28 +90,28 @@ in
|
||||||
|
|
||||||
config = mkIf config.gui.enable {
|
config = mkIf config.gui.enable {
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = [
|
||||||
|
|
||||||
taskwarrior
|
taskwarrior
|
||||||
taskwarrior-tui
|
taskwarrior-tui
|
||||||
|
|
||||||
timewarrior
|
pkgs.timewarrior
|
||||||
tasksh
|
pkgs.tasksh
|
||||||
taskwarrior-hooks
|
pkgs.taskwarrior-hooks
|
||||||
(pkgs.writeShellScriptBin "tsak" ''${pkgs.taskwarrior}/bin/task "$@"'')
|
(pkgs.writeShellScriptBin "tsak" ''${taskwarrior}/bin/task "$@"'')
|
||||||
|
|
||||||
vit
|
pkgs.vit
|
||||||
(pkgs.writers.writeBashBin "active" "${taskwarrior-tui}/bin/taskwarrior-tui -r active")
|
(pkgs.writers.writeBashBin "active" "${taskwarrior-tui}/bin/taskwarrior-tui -r active")
|
||||||
(pkgs.writers.writeBashBin "todo" "${taskwarrior-tui}/bin/taskwarrior-tui -r todo")
|
(pkgs.writers.writeBashBin "todo" "${taskwarrior-tui}/bin/taskwarrior-tui -r todo")
|
||||||
|
|
||||||
(pkgs.writers.writeBashBin "calendar" ''
|
(pkgs.writers.writeBashBin "calendar" ''
|
||||||
${pkgs.taskwarrior}/bin/task calendar
|
${taskwarrior}/bin/task calendar
|
||||||
${pkgs.taskwarrior}/bin/task calendar_report
|
${taskwarrior}/bin/task calendar_report
|
||||||
'')
|
'')
|
||||||
|
|
||||||
# todo : belongs to calendar.nix
|
# todo : belongs to calendar.nix
|
||||||
vdirsyncer
|
pkgs.vdirsyncer
|
||||||
khal
|
pkgs.khal
|
||||||
(pkgs.writers.writeBashBin "kalendar" ''
|
(pkgs.writers.writeBashBin "kalendar" ''
|
||||||
${pkgs.vdirsyncer}/bin/vdirsyncer sync
|
${pkgs.vdirsyncer}/bin/vdirsyncer sync
|
||||||
${pkgs.khal}/bin/ikhal
|
${pkgs.khal}/bin/ikhal
|
||||||
|
|
|
@ -25,32 +25,37 @@ in
|
||||||
# local
|
# local
|
||||||
commands.service2 = {
|
commands.service2 = {
|
||||||
source = "zroot/services2";
|
source = "zroot/services2";
|
||||||
target = "zraid/mirror/services2"; # should not be created up front!
|
target = "zraid/mirror/services2"; # should NOT be created up front!
|
||||||
};
|
};
|
||||||
commands.paperless = {
|
commands.paperless = {
|
||||||
source = "zroot/paperless";
|
source = "zroot/paperless";
|
||||||
target = "zraid/mirror/paperless"; # should not be created up front!
|
target = "zraid/mirror/paperless"; # should NOT be created up front!
|
||||||
};
|
};
|
||||||
commands.postgresql = {
|
commands.postgresql = {
|
||||||
source = "zroot/postgresql";
|
source = "zroot/postgresql";
|
||||||
target = "zraid/mirror/postgresql"; # should not be created up front!
|
target = "zraid/mirror/postgresql"; # should NOT be created up front!
|
||||||
};
|
};
|
||||||
|
|
||||||
# remote
|
# remote
|
||||||
commands.matrix-terranix = {
|
commands.matrix-terranix = {
|
||||||
sshKey = "/run/facts/ssh.syncoid.id_ed25519";
|
sshKey = "/run/facts/ssh.syncoid.id_ed25519";
|
||||||
source = "root@orbi.${tld}:zroot/matrix-terranix";
|
source = "root@orbi.${tld}:zroot/matrix-terranix";
|
||||||
target = "zraid/mirror/matrix-terranix"; # should not be created up front!
|
target = "zraid/mirror/matrix-terranix"; # should NOT be created up front!
|
||||||
};
|
};
|
||||||
commands.nextcloud = {
|
commands.nextcloud = {
|
||||||
sshKey = "/run/facts/ssh.syncoid.id_ed25519";
|
sshKey = "/run/facts/ssh.syncoid.id_ed25519";
|
||||||
source = "root@orbi.${tld}:zroot/nextcloud";
|
source = "root@orbi.${tld}:zroot/nextcloud";
|
||||||
target = "zraid/mirror/nextcloud"; # should not be created up front!
|
target = "zraid/mirror/nextcloud"; # should NOT be created up front!
|
||||||
};
|
};
|
||||||
commands.photoprism = {
|
commands.photoprism = {
|
||||||
sshKey = "/run/facts/ssh.syncoid.id_ed25519";
|
sshKey = "/run/facts/ssh.syncoid.id_ed25519";
|
||||||
source = "root@orbi.${tld}:zmedia/photoprism";
|
source = "root@orbi.${tld}:zmedia/photoprism";
|
||||||
target = "zraid/mirror/photoprism"; # should not be created up front!
|
target = "zraid/mirror/photoprism"; # should NOT be created up front!
|
||||||
|
};
|
||||||
|
commands.taskchampion = {
|
||||||
|
sshKey = "/run/facts/ssh.syncoid.id_ed25519";
|
||||||
|
source = "root@orbi.${tld}:zroot/taskchampion";
|
||||||
|
target = "zraid/mirror/taskchampion"; # should NOT be created up front!
|
||||||
};
|
};
|
||||||
commonArgs = [
|
commonArgs = [
|
||||||
# Does not create new snapshot, only transfers existing
|
# Does not create new snapshot, only transfers existing
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
# ./service-surrealdb.nix # not really needed at the moment
|
# ./service-surrealdb.nix # not really needed at the moment
|
||||||
./service-taskserver.nix
|
./service-taskserver.nix
|
||||||
./service-vaultwarden.nix
|
./service-vaultwarden.nix
|
||||||
./service-vikunja.nix
|
# ./service-vikunja.nix
|
||||||
./service-wastebin.nix
|
./service-wastebin.nix
|
||||||
|
|
||||||
./nginx-ingolf-wagner-de.nix
|
./nginx-ingolf-wagner-de.nix
|
||||||
|
@ -45,6 +45,8 @@
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
networking.firewall.enable = true;
|
||||||
|
|
||||||
services.logrotate.checkConfig = false; # because uid 3000 does not exist in here
|
services.logrotate.checkConfig = false; # because uid 3000 does not exist in here
|
||||||
|
|
||||||
networking.hostName = "orbi";
|
networking.hostName = "orbi";
|
||||||
|
|
|
@ -137,6 +137,19 @@ in
|
||||||
#"com.sun:auto-snapshot:monthly" = toString true;
|
#"com.sun:auto-snapshot:monthly" = toString true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"taskchampion" = {
|
||||||
|
type = "zfs_fs";
|
||||||
|
mountpoint = config.services.taskchampion-sync-server.dataDir;
|
||||||
|
# "/var/lib/taskchampion-sync-server";
|
||||||
|
options = {
|
||||||
|
mountpoint = "legacy";
|
||||||
|
compression = "lz4";
|
||||||
|
"com.sun:auto-snapshot:hourly" = toString true;
|
||||||
|
"com.sun:auto-snapshot:daily" = toString true;
|
||||||
|
#"com.sun:auto-snapshot:weekly" = toString true;
|
||||||
|
#"com.sun:auto-snapshot:monthly" = toString true;
|
||||||
|
};
|
||||||
|
};
|
||||||
"vikunja" = {
|
"vikunja" = {
|
||||||
type = "zfs_fs";
|
type = "zfs_fs";
|
||||||
mountpoint = "/var/lib/nixos-containers/vikunja";
|
mountpoint = "/var/lib/nixos-containers/vikunja";
|
||||||
|
|
|
@ -2,26 +2,17 @@
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
zerotierInterface,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
|
||||||
# todo: backup taskserver via zfs syncoid
|
networking.firewall.interfaces.wg0.allowedTCPPorts = [ config.services.taskchampion-sync-server.port ];
|
||||||
services.taskserver = {
|
networking.firewall.interfaces.wg0.allowedUDPPorts = [ config.services.taskchampion-sync-server.port ];
|
||||||
|
|
||||||
|
services.taskchampion-sync-server = {
|
||||||
enable = true;
|
enable = true;
|
||||||
fqdn = "taskd.ingolf-wagner.de";
|
openFirewall = false;
|
||||||
listenHost = "0.0.0.0";
|
|
||||||
requestLimit = 104857600;
|
|
||||||
trust = "strict";
|
|
||||||
dataDir = "/var/lib/taskserver";
|
|
||||||
organisations."1337".users = [
|
|
||||||
"palo"
|
|
||||||
"beta"
|
|
||||||
];
|
|
||||||
ciphers = "SECURE256";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ config.services.taskserver.listenPort ];
|
|
||||||
networking.firewall.allowedUDPPorts = [ config.services.taskserver.listenPort ];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue