From 366af129bdd9d4e5bfd68561451fc1f90ed11e3f Mon Sep 17 00:00:00 2001 From: m3tm3re Date: Tue, 13 Jan 2026 20:56:01 +0100 Subject: [PATCH] docs: update documentation for automated package updates workflow --- AGENTS.md | 5 ++++- docs/CONTRIBUTING.md | 13 +++++++++++++ docs/guides/adding-packages.md | 11 +++++++++++ modules/home-manager/cli/rofi-project-opener.nix | 13 +++++++++---- overlays/mods/n8n.nix | 2 +- overlays/mods/opencode.nix | 2 +- 6 files changed, 39 insertions(+), 7 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 0ad1d4e..84ddb0b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -21,7 +21,8 @@ Personal Nix flake: custom packages, overlays, NixOS/Home Manager modules, dev s ├── shells/ # Dev environments (default, python, devops) ├── overlays/mods/ # Package modifications (n8n version bump) ├── templates/ # Boilerplate for new packages/modules -└── examples/ # Usage examples +├── examples/ # Usage examples +└── .gitea/workflows/ # CI/CD workflows (nix-update automation) ``` ## WHERE TO LOOK @@ -34,6 +35,7 @@ Personal Nix flake: custom packages, overlays, NixOS/Home Manager modules, dev s | Override nixpkgs pkg | `overlays/mods/.nix` | Import in `overlays/mods/default.nix` | | Add dev shell | `shells/.nix` | Register in `shells/default.nix` | | Use port management | `config.m3ta.ports.get "service"` | Host-specific via `hostOverrides` | +| CI/CD workflows | `.gitea/workflows/.yml` | Automated package updates (nix-update) | ## CONVENTIONS @@ -146,6 +148,7 @@ Types: `feat`, `fix`, `docs`, `style`, `refactor`, `chore` - **Ports module**: Different for NixOS vs HM (HM adds `generateEnvVars` option) - **Overlays**: `modifications` overlay uses `{prev}:` pattern, not `{final, prev}:` - **Dev shell tools**: `statix`, `deadnix` only available inside `nix develop` +- **Automated package updates**: Packages are automatically updated weekly via Gitea Actions using `nix-update`. Review PRs from the automation before merging. For urgent updates, manually run the workflow or update manually. ## Issue Tracking diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index e8e7438..8a2a9fa 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -110,6 +110,8 @@ in { See [Adding Packages Guide](./guides/adding-packages.md) for detailed instructions. +**Note**: Package versions are automatically updated weekly via Gitea Actions using `nix-update`. You don't need to worry about keeping versions current - the automation will create PRs for updates. Just focus on ensuring the package builds and works correctly. + ### Package Testing ```bash @@ -270,6 +272,17 @@ nix flake show 6. [ ] Documentation updated if needed 7. [ ] Commit messages follow convention +### Handling Automated Update PRs + +The repository has automated package updates via Gitea Actions (see main README for details). When reviewing automated update PRs: + +1. **Build and test**: Verify the updated package builds successfully +2. **Check changelinks**: Review upstream release notes for breaking changes +3. **Test functionality**: Ensure the package still works as expected +4. **Review package definition**: Check if any manual adjustments are needed + +For urgent updates, you can manually trigger the workflow from the Gitea UI or update the package manually. + ### PR Description Include: diff --git a/docs/guides/adding-packages.md b/docs/guides/adding-packages.md index 144f729..b7ea6c4 100644 --- a/docs/guides/adding-packages.md +++ b/docs/guides/adding-packages.md @@ -18,6 +18,17 @@ nix flake init -t .#package my-new-package This creates a template structure in `templates/package/` that you can copy. +### Automatic Updates + +**Important**: This repository uses automated package updates via Gitea Actions and `nix-update`. When adding a new package: + +- Use any stable, working version for the initial package +- You don't need to use the absolute latest version +- The automation will keep the package updated automatically on a weekly basis +- Review and merge automated update PRs as they come in + +See the main README.md for more details on the automated update workflow. + ### Manual Setup 1. Create directory: `pkgs/your-package/` diff --git a/modules/home-manager/cli/rofi-project-opener.nix b/modules/home-manager/cli/rofi-project-opener.nix index ec7e204..7e09ad2 100644 --- a/modules/home-manager/cli/rofi-project-opener.nix +++ b/modules/home-manager/cli/rofi-project-opener.nix @@ -29,7 +29,8 @@ with lib; let mapAttrs (name: value: { path = value.path; args = value.args; - }) cfg.projectDirs + }) + cfg.projectDirs ); in { options.cli.rofi-project-opener = { @@ -38,8 +39,8 @@ in { projectDirs = mkOption { type = types.attrsOf projectDirType; default = { - dev = { path = "~/dev"; }; - projects = { path = "~/projects"; }; + dev = {path = "~/dev";}; + projects = {path = "~/projects";}; }; description = '' Attribute set of base directories to scan for project subdirectories. @@ -120,7 +121,11 @@ in { # Write shell config file for other settings xdg.configFile."rofi-project-opener/config".text = '' # rofi-project-opener configuration - TERMINAL="${if isDerivation cfg.terminal then "${cfg.terminal}/bin/${cfg.terminal.pname or (builtins.baseNameOf (toString cfg.terminal))}" else cfg.terminal}" + TERMINAL="${ + if isDerivation cfg.terminal + then "${cfg.terminal}/bin/${cfg.terminal.pname or (builtins.baseNameOf (toString cfg.terminal))}" + else cfg.terminal + }" ${optionalString (cfg.terminalCommand != "") ''TERMINAL_CMD="${cfg.terminalCommand}"''} ROFI_PROMPT="${cfg.rofiPrompt}" ROFI_ARGS="${escapeShellArgs cfg.rofiArgs}" diff --git a/overlays/mods/n8n.nix b/overlays/mods/n8n.nix index 14c77d6..b2a1b73 100644 --- a/overlays/mods/n8n.nix +++ b/overlays/mods/n8n.nix @@ -1,4 +1,4 @@ -{ prev }: +{prev}: prev.n8n.overrideAttrs (oldAttrs: rec { version = "2.4.1"; diff --git a/overlays/mods/opencode.nix b/overlays/mods/opencode.nix index 1f30ac7..241f63a 100644 --- a/overlays/mods/opencode.nix +++ b/overlays/mods/opencode.nix @@ -1,4 +1,4 @@ -{ prev }: +{prev}: prev.opencode.overrideAttrs (oldAttrs: rec { version = "1.1.18";