mirror of
https://github.com/itme-brain/nixos.git
synced 2026-05-08 06:50:11 -04:00
Manages `~/.pi/agent` config via the itme-brain/pi submodule and provides nodejs_20 with NPM_CONFIG_PREFIX=~/.npm-global so pi and its extensions install via the global npm ecosystem. Pi itself and extensions like pi-mcp-adapter are installed manually via `npm install -g` rather than packaged through nix — the ecosystem moves too fast to keep derivations current.
28 lines
656 B
Nix
28 lines
656 B
Nix
{ pkgs, lib, config, ... }:
|
|
|
|
with lib;
|
|
let
|
|
cfg = config.modules.user.pi;
|
|
npmGlobal = "${config.home.homeDirectory}/.npm-global";
|
|
in
|
|
{ options.modules.user.pi = { enable = mkEnableOption "user.pi"; };
|
|
config = mkIf cfg.enable {
|
|
home.packages = with pkgs; [ nodejs_20 ];
|
|
|
|
home.sessionVariables = {
|
|
LLAMACPP_BASE_URL = "https://ai.ramos.codes/v1";
|
|
NPM_CONFIG_PREFIX = npmGlobal;
|
|
};
|
|
|
|
home.sessionPath = [ "${npmGlobal}/bin" ];
|
|
|
|
home.file.".pi/agent" = {
|
|
source = ./agent;
|
|
recursive = true;
|
|
};
|
|
|
|
programs.bash.initExtra = ''
|
|
export LLAMACPP_API_KEY=$(cat /run/secrets/LLAMA_API_KEY)
|
|
'';
|
|
};
|
|
}
|