1
Fork 0
mirror of https://github.com/thegeneralist01/config.git synced 2026-10-09 21:03:30 +02:00
config/modules/common/omp.nix

40 lines
910 B
Nix

{ lib, ... }:
let
inherit (lib)
filterAttrs
mapAttrs'
nameValuePair
;
ompDotfiles = ../dotfiles/omp;
# Only manage named files (force=true). Does NOT take over the whole agents/
# directory, so stock `omp agents unpack` files can coexist.
filesFromDir =
relDir: targetPrefix:
let
dir = ompDotfiles + "/${relDir}";
entries = filterAttrs (_: type: type == "regular") (builtins.readDir dir);
in
mapAttrs' (
name: _:
nameValuePair "${targetPrefix}/${name}" {
source = dir + "/${name}";
force = true;
}
) entries;
in
{
home-manager.sharedModules = [
{
home.file = {
".omp/agent/AGENTS.md" = {
source = ompDotfiles + "/AGENTS.md";
force = true;
};
}
// filesFromDir "agents" ".omp/agent/agents"
// filesFromDir "prompts" ".omp/agent/prompts";
}
];
}