b60bef961c
- Add comprehensive Nix flake definitions, derivations, modules, and CI workflows. - Update tests and executables to resolve binaries from PATH rather than absolute paths. - Ensure byte reproducibility and zeroed timestamps in embedded dashboard archives. - Add handling for Nix-managed installations in CLI update checks.
41 lines
990 B
Nix
41 lines
990 B
Nix
{ self }:
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.programs.omp;
|
|
yaml = pkgs.formats.yaml { };
|
|
in
|
|
{
|
|
options.programs.omp = {
|
|
enable = lib.mkEnableOption "OMP coding agent";
|
|
|
|
package = lib.mkOption {
|
|
type = lib.types.package;
|
|
default = self.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
|
defaultText = lib.literalExpression "inputs.omp.packages.${pkgs.stdenv.hostPlatform.system}.default";
|
|
description = "OMP package to install.";
|
|
};
|
|
|
|
settings = lib.mkOption {
|
|
type = lib.types.nullOr yaml.type;
|
|
default = null;
|
|
description = "Settings written declaratively to ~/.omp/agent/config.yml.";
|
|
example = {
|
|
theme.dark = "titanium";
|
|
startup.quiet = true;
|
|
};
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
home.packages = [ cfg.package ];
|
|
home.file.".omp/agent/config.yml" = lib.mkIf (cfg.settings != null) {
|
|
source = yaml.generate "omp-config.yml" cfg.settings;
|
|
};
|
|
};
|
|
}
|