docs: update documentation for automated package updates workflow

This commit is contained in:
m3tm3re
2026-01-13 20:56:01 +01:00
parent b6d45cae4f
commit 366af129bd
6 changed files with 39 additions and 7 deletions

View File

@@ -21,7 +21,8 @@ Personal Nix flake: custom packages, overlays, NixOS/Home Manager modules, dev s
├── shells/ # Dev environments (default, python, devops) ├── shells/ # Dev environments (default, python, devops)
├── overlays/mods/ # Package modifications (n8n version bump) ├── overlays/mods/ # Package modifications (n8n version bump)
├── templates/ # Boilerplate for new packages/modules ├── templates/ # Boilerplate for new packages/modules
── examples/ # Usage examples ── examples/ # Usage examples
└── .gitea/workflows/ # CI/CD workflows (nix-update automation)
``` ```
## WHERE TO LOOK ## WHERE TO LOOK
@@ -34,6 +35,7 @@ Personal Nix flake: custom packages, overlays, NixOS/Home Manager modules, dev s
| Override nixpkgs pkg | `overlays/mods/<name>.nix` | Import in `overlays/mods/default.nix` | | Override nixpkgs pkg | `overlays/mods/<name>.nix` | Import in `overlays/mods/default.nix` |
| Add dev shell | `shells/<name>.nix` | Register in `shells/default.nix` | | Add dev shell | `shells/<name>.nix` | Register in `shells/default.nix` |
| Use port management | `config.m3ta.ports.get "service"` | Host-specific via `hostOverrides` | | Use port management | `config.m3ta.ports.get "service"` | Host-specific via `hostOverrides` |
| CI/CD workflows | `.gitea/workflows/<name>.yml` | Automated package updates (nix-update) |
## CONVENTIONS ## CONVENTIONS
@@ -146,6 +148,7 @@ Types: `feat`, `fix`, `docs`, `style`, `refactor`, `chore`
- **Ports module**: Different for NixOS vs HM (HM adds `generateEnvVars` option) - **Ports module**: Different for NixOS vs HM (HM adds `generateEnvVars` option)
- **Overlays**: `modifications` overlay uses `{prev}:` pattern, not `{final, prev}:` - **Overlays**: `modifications` overlay uses `{prev}:` pattern, not `{final, prev}:`
- **Dev shell tools**: `statix`, `deadnix` only available inside `nix develop` - **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 ## Issue Tracking

View File

@@ -110,6 +110,8 @@ in {
See [Adding Packages Guide](./guides/adding-packages.md) for detailed instructions. 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 ### Package Testing
```bash ```bash
@@ -270,6 +272,17 @@ nix flake show
6. [ ] Documentation updated if needed 6. [ ] Documentation updated if needed
7. [ ] Commit messages follow convention 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 ### PR Description
Include: Include:

View File

@@ -18,6 +18,17 @@ nix flake init -t .#package my-new-package
This creates a template structure in `templates/package/` that you can copy. 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 ### Manual Setup
1. Create directory: `pkgs/your-package/` 1. Create directory: `pkgs/your-package/`

View File

@@ -29,7 +29,8 @@ with lib; let
mapAttrs (name: value: { mapAttrs (name: value: {
path = value.path; path = value.path;
args = value.args; args = value.args;
}) cfg.projectDirs })
cfg.projectDirs
); );
in { in {
options.cli.rofi-project-opener = { options.cli.rofi-project-opener = {
@@ -38,8 +39,8 @@ in {
projectDirs = mkOption { projectDirs = mkOption {
type = types.attrsOf projectDirType; type = types.attrsOf projectDirType;
default = { default = {
dev = { path = "~/dev"; }; dev = {path = "~/dev";};
projects = { path = "~/projects"; }; projects = {path = "~/projects";};
}; };
description = '' description = ''
Attribute set of base directories to scan for project subdirectories. Attribute set of base directories to scan for project subdirectories.
@@ -120,7 +121,11 @@ in {
# Write shell config file for other settings # Write shell config file for other settings
xdg.configFile."rofi-project-opener/config".text = '' xdg.configFile."rofi-project-opener/config".text = ''
# rofi-project-opener configuration # 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}"''} ${optionalString (cfg.terminalCommand != "") ''TERMINAL_CMD="${cfg.terminalCommand}"''}
ROFI_PROMPT="${cfg.rofiPrompt}" ROFI_PROMPT="${cfg.rofiPrompt}"
ROFI_ARGS="${escapeShellArgs cfg.rofiArgs}" ROFI_ARGS="${escapeShellArgs cfg.rofiArgs}"

View File

@@ -1,4 +1,4 @@
{ prev }: {prev}:
prev.n8n.overrideAttrs (oldAttrs: rec { prev.n8n.overrideAttrs (oldAttrs: rec {
version = "2.4.1"; version = "2.4.1";

View File

@@ -1,4 +1,4 @@
{ prev }: {prev}:
prev.opencode.overrideAttrs (oldAttrs: rec { prev.opencode.overrideAttrs (oldAttrs: rec {
version = "1.1.18"; version = "1.1.18";