docs: update documentation for automated package updates workflow
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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/`
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ prev }:
|
{prev}:
|
||||||
prev.n8n.overrideAttrs (oldAttrs: rec {
|
prev.n8n.overrideAttrs (oldAttrs: rec {
|
||||||
version = "2.4.1";
|
version = "2.4.1";
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ prev }:
|
{prev}:
|
||||||
prev.opencode.overrideAttrs (oldAttrs: rec {
|
prev.opencode.overrideAttrs (oldAttrs: rec {
|
||||||
version = "1.1.18";
|
version = "1.1.18";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user