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";