2026-02-26 18:25:57 -08:00
|
|
|
{
|
|
|
|
|
description = "Claude Desktop for Linux";
|
|
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
|
|
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
outputs = inputs:
|
|
|
|
|
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
|
|
|
|
systems = [ "x86_64-linux" "aarch64-linux" ];
|
|
|
|
|
|
2026-02-26 20:10:41 -08:00
|
|
|
perSystem = { pkgs, system, ... }: let
|
2026-02-26 19:39:15 -08:00
|
|
|
node-pty = pkgs.callPackage ./nix/node-pty.nix { };
|
|
|
|
|
claude-desktop = pkgs.callPackage ./nix/claude-desktop.nix {
|
|
|
|
|
inherit node-pty;
|
|
|
|
|
};
|
2026-02-26 18:25:57 -08:00
|
|
|
in {
|
2026-02-26 20:10:41 -08:00
|
|
|
_module.args.pkgs = import inputs.nixpkgs {
|
|
|
|
|
inherit system;
|
|
|
|
|
config.allowUnfreePredicate = pkg: builtins.elem (inputs.nixpkgs.lib.getName pkg) [
|
|
|
|
|
"claude-desktop"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
|
2026-02-26 18:25:57 -08:00
|
|
|
packages = {
|
|
|
|
|
inherit claude-desktop;
|
|
|
|
|
claude-desktop-fhs = pkgs.callPackage ./nix/fhs.nix {
|
|
|
|
|
inherit claude-desktop;
|
|
|
|
|
};
|
|
|
|
|
default = claude-desktop;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
flake = {
|
2026-02-26 19:50:00 -08:00
|
|
|
overlays.default = final: prev: let
|
2026-02-26 19:39:15 -08:00
|
|
|
node-pty = final.callPackage ./nix/node-pty.nix { };
|
2026-02-26 19:50:00 -08:00
|
|
|
in {
|
2026-02-26 19:39:15 -08:00
|
|
|
claude-desktop = final.callPackage ./nix/claude-desktop.nix {
|
|
|
|
|
inherit node-pty;
|
|
|
|
|
};
|
2026-02-26 18:25:57 -08:00
|
|
|
claude-desktop-fhs = final.callPackage ./nix/fhs.nix {
|
|
|
|
|
claude-desktop = final.claude-desktop;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|