diff --git a/modules/dev-commit.nix b/modules/dev-commit.nix deleted file mode 100644 index 352a01ad..00000000 --- a/modules/dev-commit.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ lib, ... }: - -{ - flake.modules.homeManager.base = - { config, pkgs, ... }: - { - options.programs.dev-commit = { - enable = lib.mkEnableOption "Enable dev-commit"; - - repoPaths = lib.mkOption { - default = [ ]; - description = "A list of repository paths that should have automated commits"; - type = lib.types.listOf lib.types.path; - }; - - schedule = lib.mkOption { - type = lib.types.submodule { - options = { - enable = lib.mkEnableOption "Enable automated dev commits with systemd"; - - time = lib.mkOption { - description = '' - Time expression for when to run the dev-commit job. - - This uses systemd's `OnCalendar` syntax. - - Examples: - - "hourly" (once every hour) - - "daily" (once per day at midnight) - - "Mon *-*-01 12:00:00" (every Monday at 12:00 PM) - - See `man systemd.time` for full syntax reference. - ''; - default = "hourly"; - type = lib.types.str; - }; - }; - }; - - default = { - enable = false; - time = "hourly"; - }; - }; - }; - - config = - let - cfg = config.programs.dev-commit; - repoPaths = lib.concatStringsSep ":" cfg.repoPaths; - in - { - home = lib.mkIf cfg.enable { - packages = [ pkgs.dev-commit ]; - - sessionVariables.DEV_COMMIT_PATHS = repoPaths; - }; - - systemd.user = lib.mkIf cfg.schedule.enable { - services.dev-commit = { - Service = { - Environment = [ "DEV_COMMIT_PATHS=${repoPaths}" ]; - ExecStart = "${lib.getExe pkgs.dev-commit}"; - Type = "oneshot"; - }; - - Unit.Description = "dev-commit"; - }; - - timers.dev-commit = { - Install.WantedBy = [ "timers.target" ]; - - Timer = { - OnCalendar = cfg.schedule.time; - Unit = "dev-commit.service"; - }; - - Unit.Description = "Runs automated development commits in select project repositories."; - }; - }; - }; - }; -} diff --git a/modules/hosts/t480/dev-commit.nix b/modules/hosts/t480/dev-commit.nix deleted file mode 100644 index cb6114a4..00000000 --- a/modules/hosts/t480/dev-commit.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ config, ... }: - -{ - flake.modules.nixos."nixosConfigurations/t480".home-manager.users.${config.flake.meta.owner.username} = - hmArgs: { - programs.dev-commit.enable = true; - - programs.dev-commit.schedule.enable = true; - programs.dev-commit.schedule.time = "daily"; - - programs.dev-commit.repoPaths = - let - repos = "${hmArgs.config.xdg.userDirs.extraConfig.XDG_REPOS_DIR}/forgejo/opdavies"; - in - map (name: "${repos}/${name}") [ - "email-filters" - "git-repo-updater" - "nix-config" - "oliverdavies.uk" - "opentofu-dns" - ]; - }; -} diff --git a/packages/default.nix b/packages/default.nix index a3aa18f7..0bc10713 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -16,7 +16,6 @@ in build-glove80 = callPackage ./build-glove80.nix { }; count-tags = callPackage ./count-tags.nix { }; create-script = callPackage ./create-script.nix { }; - dev-commit = callPackage ./dev-commit.nix { }; get-tags = callPackage ./get-tags.nix { }; git-exclude = callPackage ./git-exclude.nix { }; git-graph = callPackage ./git-graph.nix { }; diff --git a/packages/dev-commit.nix b/packages/dev-commit.nix deleted file mode 100644 index e71aa095..00000000 --- a/packages/dev-commit.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ pkgs, ... }: - -pkgs.writeShellApplication { - name = "dev-commit"; - - runtimeInputs = with pkgs; [ - coreutils - git - logger - openssh - ]; - - text = '' - IFS=':' read -ra repos <<< "$DEV_COMMIT_PATHS" - - for repo in "''${repos[@]}"; do - logger "Processing repository: $repo" - - pushd "$repo" > /dev/null 2>&1 - - if [[ -n $(git status --porcelain) ]]; then - logger "Changes detected in $repo" - - git status --short | while read -r line; do - logger "Changed file: $line" - done - - git add . - - if git commit -m "Automated dev commit"; then - logger "Commit successful in $repo" - - if git push; then - logger "Push successful in $repo" - else - logger "Push failed in $repo" - fi - else - logger "No changes to commit in $repo" - fi - else - logger "No changes in $repo" - fi - - popd > /dev/null 2>&1 - done - ''; -}