declare taskwarrior for all NixOS hosts
parent
2e81d28cc8
commit
92226fff95
24
flake.lock
24
flake.lock
|
|
@ -29,11 +29,11 @@
|
|||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1763438658,
|
||||
"narHash": "sha256-ojDdZbQG9wJyEkAQSpGUvgJ4edDnY13HXdf0dHaYKJw=",
|
||||
"lastModified": 1763885608,
|
||||
"narHash": "sha256-eFRbKKMaEHC5EaL7sxfPVFPFsr0Plzx03e1VkJkcsBA=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "095dd41814f14586166d8c1fd9012d5e8dad0a44",
|
||||
"rev": "c94982d5890f4ff0737d57ed97503c1c8d40195c",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -85,10 +85,10 @@
|
|||
"nix-secrets": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1762546290,
|
||||
"narHash": "sha256-a0mXF68to0eJQiIq1vCBMcGCX1UA1lBpwHgCinKfORA=",
|
||||
"lastModified": 1763919406,
|
||||
"narHash": "sha256-WaGxnH7dm63syPt8E4MXbg4XVxQveXPe+cZu3iPz25w=",
|
||||
"ref": "main",
|
||||
"rev": "b0473511f3718fb95f01e6c8bad6da3eb582974c",
|
||||
"rev": "4423bf215047474ecb89f4d8ad63a04e734b252a",
|
||||
"shallow": true,
|
||||
"type": "git",
|
||||
"url": "ssh://git@github.com/hektor/nix-secrets"
|
||||
|
|
@ -154,11 +154,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1763334038,
|
||||
"narHash": "sha256-LBVOyaH6NFzQ3X/c6vfMZ9k4SV2ofhpxeL9YnhHNJQQ=",
|
||||
"lastModified": 1763622513,
|
||||
"narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4c8cdd5b1a630e8f72c9dd9bf582b1afb3127d2c",
|
||||
"rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -324,11 +324,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763417348,
|
||||
"narHash": "sha256-n5xDOeNN+smocQp3EMIc11IzBlR9wvvTIJZeL0g33Fs=",
|
||||
"lastModified": 1763870012,
|
||||
"narHash": "sha256-AHxFfIu73SpNLAOZbu/AvpLhZ/Szhx6gRPj9ufZtaZA=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "3f66a7fb9626a9a9c077612ef10a0ce396286c7d",
|
||||
"rev": "4e7d74d92398b933cc0e0e25af5b0836efcfdde3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,10 @@
|
|||
imports = [
|
||||
../../modules/dconf.nix # TODO: Only enable when on Gnome?
|
||||
../../modules/git.nix
|
||||
(import ../../modules/taskwarrior.nix {
|
||||
inherit config;
|
||||
inherit pkgs;
|
||||
})
|
||||
];
|
||||
|
||||
home.stateVersion = "25.05";
|
||||
|
|
|
|||
|
|
@ -31,11 +31,11 @@ with pkgs;
|
|||
pnpm
|
||||
ripgrep
|
||||
silver-searcher
|
||||
sops
|
||||
sshfs
|
||||
stylelint
|
||||
svelte-language-server
|
||||
tailwindcss-language-server
|
||||
taskwarrior3
|
||||
tldr
|
||||
tmux
|
||||
tmuxp
|
||||
|
|
|
|||
|
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
python314
|
||||
libnotify
|
||||
];
|
||||
|
||||
home.file = {
|
||||
".config/task/taskrc" = {
|
||||
force = true; # overwrite when present
|
||||
source = ../../dots/.config/task/taskrc;
|
||||
};
|
||||
".config/task/taskrc.d/aliases".source = ../../dots/.config/task/taskrc.d/aliases;
|
||||
".config/task/taskrc.d/colors".source = ../../dots/.config/task/taskrc.d/colors;
|
||||
".config/task/taskrc.d/contexts".source = ../../dots/.config/task/taskrc.d/contexts;
|
||||
".config/task/taskrc.d/reports".source = ../../dots/.config/task/taskrc.d/reports;
|
||||
".config/task/taskrc.d/udas".source = ../../dots/.config/task/taskrc.d/udas;
|
||||
".config/task/taskrc.d/urgency".source = ../../dots/.config/task/taskrc.d/urgency;
|
||||
".local/share/task/hooks/on-exit.sync.py" = {
|
||||
source = ../../dots/.local/share/task/hooks/on-exit.sync.py;
|
||||
};
|
||||
".local/share/task/scripts/sync-and-notify.sh" = {
|
||||
source = ../../dots/.local/share/task/scripts/sync-and-notify.sh;
|
||||
executable = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.taskwarrior = with pkgs; {
|
||||
enable = true;
|
||||
package = taskwarrior3;
|
||||
colorTheme = "dark-256";
|
||||
config = {
|
||||
# sync = {
|
||||
# server.url = "${builtins.readFile config.sops.secrets."taskwarrior_sync_server_url".path}";
|
||||
# server.client_id = "${builtins.readFile
|
||||
# config.sops.secrets."taskwarrior_sync_server_client_id".path
|
||||
# }";
|
||||
# encryption_secret = "${builtins.readFile
|
||||
# config.sops.secrets."taskwarrior_sync_encryption_secret".path
|
||||
# }";
|
||||
# };
|
||||
recurrence = "off"; # TODO: enable only on andromache
|
||||
};
|
||||
extraConfig = "include ${config.sops.templates."taskrc.d/sync".path}";
|
||||
};
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
imports = [
|
||||
inputs.disko.nixosModules.disko
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.home-manager.nixosModules.default
|
||||
./hard.nix
|
||||
../../modules/bootloader.nix
|
||||
|
|
@ -30,6 +31,30 @@
|
|||
../../modules/ssh/hardened-openssh.nix
|
||||
];
|
||||
|
||||
sops = {
|
||||
validateSopsFiles = false;
|
||||
defaultSopsFile = "${builtins.toString inputs.nix-secrets}/secrets.yaml";
|
||||
defaultSopsFormat = "yaml";
|
||||
age.keyFile = "/home/h/.config/sops/age/keys.txt";
|
||||
|
||||
secrets = {
|
||||
"test" = { };
|
||||
|
||||
"taskwarrior_sync_server_url".owner = config.users.users.h.name;
|
||||
"taskwarrior_sync_server_client_id".owner = config.users.users.h.name;
|
||||
"taskwarrior_sync_encryption_secret".owner = config.users.users.h.name;
|
||||
};
|
||||
|
||||
templates."taskrc.d/sync" = {
|
||||
owner = config.users.users.h.name;
|
||||
content = ''
|
||||
sync.server.url=${config.sops.placeholder."taskwarrior_sync_server_url"}
|
||||
sync.server.client_id=${config.sops.placeholder."taskwarrior_sync_server_client_id"}
|
||||
sync.encryption_secret=${config.sops.placeholder."taskwarrior_sync_encryption_secret"}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [ inputs.nvim.packages.x86_64-linux.nvim ];
|
||||
|
||||
nix.settings.experimental-features = [
|
||||
|
|
|
|||
Loading…
Reference in New Issue