44 lines
1.2 KiB
Nix
44 lines
1.2 KiB
Nix
{
|
|
description = "Locutus - A simple Borg wrapper";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, flake-utils, ... }:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = import nixpkgs { inherit system; };
|
|
python = pkgs.python313;
|
|
pythonPackages = python.pkgs;
|
|
locutus = pythonPackages.buildPythonApplication {
|
|
pname = "locutus";
|
|
version = "0.1.0";
|
|
src = ./.;
|
|
format = "pyproject";
|
|
|
|
nativeBuildInputs = with pkgs; [ makeWrapper python.pkgs.setuptools ];
|
|
propagatedBuildInputs = with pythonPackages; [];
|
|
|
|
# Install the CLI entrypoint
|
|
postInstall = ''
|
|
wrapProgram $out/bin/locutus --prefix PATH : ${pkgs.borgbackup}/bin
|
|
'';
|
|
};
|
|
in {
|
|
packages.default = locutus;
|
|
apps.default = flake-utils.lib.mkApp {
|
|
drv = locutus;
|
|
};
|
|
devShells.default = pkgs.mkShell {
|
|
buildInputs = [
|
|
python
|
|
pkgs.borgbackup
|
|
locutus
|
|
];
|
|
};
|
|
}
|
|
);
|
|
}
|