Files
org-roam-project/flake.nix

54 lines
1.4 KiB
Nix

{
nixConfig = {
extra-substituters = [
"https://nix-community.cachix.org"
];
extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
description = "An emacs elisp project";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
jailed-agents.url = "git+https://gitea@gitea.bueso.eu/luis/jailed-agents";
mcp-servers.url = "git+https://gitea@gitea.bueso.eu/luis/mcp-servers";
};
outputs =
{
nixpkgs,
flake-utils,
jailed-agents,
mcp-servers,
...
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
baseShell = import ./shell.nix { inherit pkgs; };
mcpServers =
with pkgs;
[ mcp-nixos ]
++ (with mcp-servers.packages.${system}; [ duckduckgo-mcp-server ]);
emacs = pkgs.emacs.pkgs.withPackages (epkgs: [ epkgs.org-roam ]);
in
{
devShells.default = pkgs.mkShell {
inputsFrom = [ baseShell ];
packages =
mcpServers
++ [
(jailed-agents.lib.${system}.makeJailed system {
agentTool = "opencode";
extraPkgs = mcpServers ++ [emacs];
})
];
};
}
);
}