From 7780eca7a91b8d0728c22c9ba8d62381b347c68d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 10 Jul 2025 22:28:33 +0100 Subject: [PATCH] Refactor todos-add, remove todos-edit --- home-manager/opdavies/PW05CH3L.nix | 1 - home-manager/opdavies/t480.nix | 1 - modules/home-manager/cli/scripts/default.nix | 1 + .../home-manager/cli/scripts/todos-add.nix | 21 +++++++++++ modules/home-manager/cli/todos.nix | 36 ------------------- modules/home-manager/default.nix | 1 - packages/default.nix | 2 -- packages/todos/todos-add.nix | 13 ------- packages/todos/todos-edit.nix | 12 ------- 9 files changed, 22 insertions(+), 66 deletions(-) create mode 100755 modules/home-manager/cli/scripts/todos-add.nix delete mode 100644 modules/home-manager/cli/todos.nix delete mode 100644 packages/todos/todos-add.nix delete mode 100644 packages/todos/todos-edit.nix diff --git a/home-manager/opdavies/PW05CH3L.nix b/home-manager/opdavies/PW05CH3L.nix index 18c6641d..9f3c51e7 100644 --- a/home-manager/opdavies/PW05CH3L.nix +++ b/home-manager/opdavies/PW05CH3L.nix @@ -28,7 +28,6 @@ "${userDirs.documents}:1" ]; - todos.enable = true; zsh.enable = true; }; diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index f5aa6875..d45b46b2 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -36,7 +36,6 @@ "${userDirs.documents}:1" ]; - todos.enable = true; zsh.enable = true; }; diff --git a/modules/home-manager/cli/scripts/default.nix b/modules/home-manager/cli/scripts/default.nix index 0f95d62d..173254a9 100644 --- a/modules/home-manager/cli/scripts/default.nix +++ b/modules/home-manager/cli/scripts/default.nix @@ -10,6 +10,7 @@ "move-firefox-screenshots" "setbg" "tag-release" + "todos-add" "unmounter" "update-all-git-repos" ]; diff --git a/modules/home-manager/cli/scripts/todos-add.nix b/modules/home-manager/cli/scripts/todos-add.nix new file mode 100755 index 00000000..501f3616 --- /dev/null +++ b/modules/home-manager/cli/scripts/todos-add.nix @@ -0,0 +1,21 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "todos-add"; + + runtimeInputs = with pkgs; [ coreutils ]; + + text = '' + TODOS_PATH="$HOME/Documents/wiki/todo.txt" + + if [ ''${#} -eq 0 ]; then + if [ -p "/dev/stdin" ]; then + (cat; printf "\n\n") >> "''${TODOS_PATH}" + else + eval "''${TODOS_EDITOR}" "''${TODOS_PATH}" + fi + else + printf "%s\n\n" "''${*}" >> "''${TODOS_PATH}" + fi + ''; +} diff --git a/modules/home-manager/cli/todos.nix b/modules/home-manager/cli/todos.nix deleted file mode 100644 index 34b50c07..00000000 --- a/modules/home-manager/cli/todos.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - name = "todos"; - cfg = config.features.cli.${name}; - - inherit (lib) mkOption types; -in -{ - options.features.cli.${name} = { - enable = lib.mkEnableOption "Enable ${name}"; - - directory = mkOption { - default = "${config.xdg.userDirs.documents}/todos"; - type = types.str; - }; - }; - - config = lib.mkIf cfg.enable { - home = { - packages = with pkgs; [ - todos-add - todos-edit - ]; - - sessionVariables = { - TODOS_DIRECTORY = cfg.directory; - }; - }; - }; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index dd83a2ef..1d33b9e8 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -14,7 +14,6 @@ ./cli/sxhkd.nix ./cli/tmux-sessionizer.nix ./cli/tmux.nix - ./cli/todos.nix ./cli/zsh ./coding/neovim ./coding/phpactor diff --git a/packages/default.nix b/packages/default.nix index 72ce4ae8..a47e9dfa 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -12,8 +12,6 @@ in displayselect = callPackage ./displayselect { }; notes = callPackage ./notes { }; passmenu-otp = callPackage ./passmenu-otp.nix { }; - todos-add = callPackage ./todos/todos-add.nix { }; - todos-edit = callPackage ./todos/todos-edit.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; upload-to-files = callPackage ./upload-to-files.nix { }; diff --git a/packages/todos/todos-add.nix b/packages/todos/todos-add.nix deleted file mode 100644 index a5df60ac..00000000 --- a/packages/todos/todos-add.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: - -pkgs.writeShellApplication { - name = "todos-add"; - - text = '' - TODOS_DIRECTORY="''${TODOS_DIRECTORY:-"$XDG_DOCUMENTS_DIR/todos"}" - export TODOS_DIRECTORY - - echo "$*" >> "$TODOS_DIRECTORY/$(date +%Y-%m-%d).txt" - ''; -} - diff --git a/packages/todos/todos-edit.nix b/packages/todos/todos-edit.nix deleted file mode 100644 index 43d3c829..00000000 --- a/packages/todos/todos-edit.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: - -pkgs.writeShellApplication { - name = "todos-edit"; - - text = '' - TODOS_DIRECTORY="''${TODOS_DIRECTORY:-"$XDG_DOCUMENTS_DIR/todos"}" - export TODOS_DIRECTORY - - "$EDITOR" "$TODOS_DIRECTORY/$(date +%Y-%m-%d).txt"; - ''; -}