This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
{ inputs, ... }:
|
||||
{
|
||||
perSystem =
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
makeV2Package =
|
||||
name:
|
||||
(pkgs.callPackage ./package.nix {
|
||||
inherit inputs name;
|
||||
});
|
||||
in
|
||||
{
|
||||
packages = {
|
||||
affinity-photo = makeV2Package "Photo";
|
||||
affinity-designer = makeV2Package "Designer";
|
||||
affinity-publisher = makeV2Package "Publisher";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
{
|
||||
makeDesktopItem,
|
||||
lib,
|
||||
photo ? null,
|
||||
publisher ? null,
|
||||
designer ? null,
|
||||
}:
|
||||
{
|
||||
photo = makeDesktopItem rec {
|
||||
desktopName = "Affinity Photo 2";
|
||||
name = "affinity-photo";
|
||||
exec = "${lib.getExe photo} %U";
|
||||
icon = name;
|
||||
type = "Application";
|
||||
categories = [ "Graphics" ];
|
||||
keywords = [
|
||||
"Graphics"
|
||||
"2DGraphics"
|
||||
"RasterGraphics"
|
||||
"image"
|
||||
"editor"
|
||||
"vector"
|
||||
"drawing"
|
||||
];
|
||||
mimeTypes = [ "application/afphoto" ];
|
||||
startupWMClass = "photo.exe";
|
||||
};
|
||||
designer = makeDesktopItem rec {
|
||||
desktopName = "Affinity Designer 2";
|
||||
name = "affinity-designer";
|
||||
exec = "${lib.getExe designer} %U";
|
||||
icon = name;
|
||||
type = "Application";
|
||||
categories = [ "Graphics" ];
|
||||
keywords = [
|
||||
"Graphics"
|
||||
"2DGraphics"
|
||||
"VectorGraphics"
|
||||
"image"
|
||||
"editor"
|
||||
"vector"
|
||||
"drawing"
|
||||
];
|
||||
mimeTypes = [ "application/afdesign" ];
|
||||
startupWMClass = "designer.exe";
|
||||
};
|
||||
publisher = makeDesktopItem rec {
|
||||
desktopName = "Affinity Publisher 2";
|
||||
name = "affinity-publisher";
|
||||
exec = "${lib.getExe publisher} %U";
|
||||
icon = name;
|
||||
type = "Application";
|
||||
categories = [ "Graphics" ];
|
||||
keywords = [
|
||||
"Graphics"
|
||||
"2DGraphics"
|
||||
"RasterGraphics"
|
||||
"VectorGraphics"
|
||||
"image"
|
||||
"editor"
|
||||
"vector"
|
||||
"drawing"
|
||||
];
|
||||
mimeTypes = [
|
||||
"application/afdesign"
|
||||
"application/afphoto"
|
||||
# Note that there is no mime type for a `.afpub` file
|
||||
];
|
||||
startupWMClass = "publisher.exe";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
fetchurl,
|
||||
pkgs,
|
||||
lib,
|
||||
}:
|
||||
rec {
|
||||
icons = {
|
||||
photo = fetchurl {
|
||||
url = "https://cdn.serif.com/store/img/logos/affinity-photo-2-020520191502.svg";
|
||||
sha256 = "04bnf12znp9dgkwpk46c01381cw298gq14ga7j7dwccyl3m556d7";
|
||||
};
|
||||
designer = fetchurl {
|
||||
url = "https://cdn.serif.com/store/img/logos/affinity-designer-2-020520191502.svg";
|
||||
sha256 = "025j4aq8py2a5r34hx39nlhdmps06z6506h7wxchyxbbz6xz3d11";
|
||||
};
|
||||
publisher = fetchurl {
|
||||
url = "https://cdn.serif.com/store/img/logos/affinity-publisher-2-020520191502.svg";
|
||||
sha256 = "16ghh3mc2vjhvphbyy9zgan066ccp3xj1ilb6z5lmvsb94dp37aj";
|
||||
};
|
||||
};
|
||||
|
||||
mkIconPackageFor =
|
||||
name:
|
||||
pkgs.runCommand "${name}-icons" { } ''
|
||||
mkdir -p $out/share/icons/hicolor/{256x256,scalable}/apps
|
||||
|
||||
cp ${icons.${lib.toLower name}} \
|
||||
$out/share/icons/hicolor/scalable/apps/affinity-${lib.toLower name}.svg
|
||||
|
||||
${lib.getExe pkgs.inkscape} \
|
||||
-w 256 -h 256 \
|
||||
${icons.${lib.toLower name}} \
|
||||
-o - > $out/share/icons/hicolor/256x256/apps/affinity-${lib.toLower name}.png
|
||||
'';
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
symlinkJoin,
|
||||
callPackage,
|
||||
lib,
|
||||
name,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
wine-packages = callPackage ../wine/packages.nix {
|
||||
inherit inputs;
|
||||
};
|
||||
|
||||
apl-combined = callPackage ../apl/apl-combined.nix {
|
||||
src = inputs.plugin-loader-src;
|
||||
};
|
||||
|
||||
prefixBase = callPackage ../prefixWithAffinity.nix {
|
||||
inherit inputs wine-packages apl-combined;
|
||||
v3 = false;
|
||||
};
|
||||
|
||||
runner = callPackage ../runner/package.nix {
|
||||
inherit
|
||||
prefixBase
|
||||
inputs
|
||||
wine-packages
|
||||
name
|
||||
;
|
||||
registry-patches = (callPackage ../registry-patches.nix { }).combined;
|
||||
};
|
||||
|
||||
desktop = callPackage ./desktopItems.nix {
|
||||
${lib.toLower name} = runner.package;
|
||||
};
|
||||
|
||||
icons = callPackage ./icons.nix { };
|
||||
icon-package = icons.mkIconPackageFor name;
|
||||
|
||||
# last version of affinity v2 released
|
||||
lastV2Version = "2.6.5";
|
||||
in
|
||||
symlinkJoin {
|
||||
name = "affinity-${lib.toLower name}-${lastV2Version}";
|
||||
pname = "affinity-${lib.toLower name}";
|
||||
paths = [
|
||||
runner.package
|
||||
desktop.${lib.toLower name}
|
||||
icon-package
|
||||
];
|
||||
meta = {
|
||||
mainProgram = "affinity-${lib.toLower name}";
|
||||
|
||||
description = "Affinity ${name} ${lastV2Version}";
|
||||
license = lib.licenses.unfree;
|
||||
homepage = "https://affinity.serif.com/";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user