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)
|
||||
├── 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/<name>.nix` | Import in `overlays/mods/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` |
|
||||
| CI/CD workflows | `.gitea/workflows/<name>.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
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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/`
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ prev }:
|
||||
{prev}:
|
||||
prev.n8n.overrideAttrs (oldAttrs: rec {
|
||||
version = "2.4.1";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ prev }:
|
||||
{prev}:
|
||||
prev.opencode.overrideAttrs (oldAttrs: rec {
|
||||
version = "1.1.18";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user