mirror of
https://github.com/TagStudioDev/TagStudio.git
synced 2026-08-19 10:32:35 +02:00
96 lines
2.5 KiB
Nix
96 lines
2.5 KiB
Nix
# SPDX-FileCopyrightText: (c) TagStudio Contributors
|
|
# SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
{
|
|
description = "TagStudio";
|
|
|
|
inputs = {
|
|
flake-parts = {
|
|
url = "github:hercules-ci/flake-parts";
|
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
|
};
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
systems.url = "github:nix-systems/default";
|
|
};
|
|
|
|
outputs =
|
|
inputs@{
|
|
flake-parts,
|
|
nixpkgs,
|
|
self,
|
|
...
|
|
}:
|
|
let
|
|
inherit (nixpkgs) lib;
|
|
in
|
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
|
systems = import inputs.systems;
|
|
|
|
perSystem =
|
|
{ pkgs, self', ... }:
|
|
let
|
|
python3 = builtins.head python3Versions;
|
|
python3Versions = with pkgs; [
|
|
python313
|
|
python312
|
|
];
|
|
in
|
|
{
|
|
packages =
|
|
let
|
|
pythonDerivations = lib.genAttrs' python3Versions (
|
|
python3:
|
|
lib.nameValuePair python3.pythonAttr (
|
|
let
|
|
python3Packages = python3.pkgs;
|
|
|
|
tagstudio = pkgs.callPackage ./nix/package {
|
|
inherit python3Packages;
|
|
|
|
inherit pillow-jxl-plugin;
|
|
};
|
|
|
|
pillow-jxl-plugin = python3Packages.callPackage ./nix/package/pillow-jxl-plugin.nix {
|
|
inherit (pkgs) cmake;
|
|
inherit pyexiv2;
|
|
};
|
|
pyexiv2 = python3Packages.callPackage ./nix/package/pyexiv2.nix { inherit (pkgs) exiv2; };
|
|
in
|
|
{
|
|
inherit tagstudio;
|
|
tagstudio-jxl = tagstudio.override { withJXLSupport = true; };
|
|
|
|
inherit pillow-jxl-plugin pyexiv2;
|
|
}
|
|
)
|
|
);
|
|
in
|
|
(lib.concatMapAttrs (
|
|
pythonAttr: lib.mapAttrs' (name: lib.nameValuePair "${pythonAttr}Packages_${name}")
|
|
) pythonDerivations)
|
|
// pythonDerivations.${python3.pythonAttr}
|
|
// {
|
|
default = self'.packages.tagstudio;
|
|
};
|
|
|
|
devShells = {
|
|
default = self'.devShells.tagstudio;
|
|
tagstudio = import ./nix/shell.nix {
|
|
inherit
|
|
inputs
|
|
lib
|
|
pkgs
|
|
self
|
|
|
|
python3
|
|
;
|
|
};
|
|
};
|
|
|
|
formatter = pkgs.nixfmt-rfc-style;
|
|
};
|
|
};
|
|
}
|