2025-02-02 14:29:28 +01:00
|
|
|
{
|
|
|
|
|
description = "Cassowary - use windows applications on linux as if they were native";
|
|
|
|
|
inputs = {
|
|
|
|
|
nixpkgs.url = "nixpkgs/nixos-24.11";
|
|
|
|
|
};
|
|
|
|
|
outputs = {nixpkgs, ...}: let
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
pkgs = import nixpkgs {inherit system;};
|
2025-02-02 15:35:23 +01:00
|
|
|
version = "0.6";
|
|
|
|
|
pname = "cassowary";
|
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
|
|
|
owner = "casualsnek";
|
|
|
|
|
repo = pname;
|
|
|
|
|
tag = version;
|
|
|
|
|
hash = "sha256-qsawsi3erjIXIT0JXKx54P2gV8c+RHThef0iw1AEHyo=";
|
|
|
|
|
};
|
2025-02-02 14:29:28 +01:00
|
|
|
in {
|
|
|
|
|
packages.${system}.default = pkgs.python312Packages.buildPythonPackage {
|
2025-02-02 15:35:23 +01:00
|
|
|
inherit version pname src;
|
2025-02-02 14:41:05 +01:00
|
|
|
propagatedBuildInputs = [
|
|
|
|
|
pkgs.python312Packages.libvirt
|
|
|
|
|
pkgs.python312Packages.pyqt5
|
2025-02-02 14:47:41 +01:00
|
|
|
pkgs.libsForQt5.qtbase
|
2025-02-02 15:21:42 +01:00
|
|
|
pkgs.freerdp
|
2025-02-02 14:41:05 +01:00
|
|
|
];
|
2025-02-02 14:47:41 +01:00
|
|
|
buildInputs = [
|
|
|
|
|
pkgs.libsForQt5.qttools
|
2025-02-02 15:35:23 +01:00
|
|
|
pkgs.python312Packages.setuptools
|
2025-02-02 14:47:41 +01:00
|
|
|
];
|
|
|
|
|
nativeBuildInputs = [
|
|
|
|
|
pkgs.libsForQt5.wrapQtAppsHook
|
|
|
|
|
];
|
2025-02-02 15:35:23 +01:00
|
|
|
sourceRoot = "${src.name}/app-linux";
|
2025-02-02 14:47:41 +01:00
|
|
|
# Arguments to be passed to `makeWrapper`, only used by buildPython*
|
|
|
|
|
preFixup = ''
|
|
|
|
|
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
|
|
|
|
# You can manually patch scripts using: wrapQtApp "$out/bin/myapp". TODO: check when it's required.
|
|
|
|
|
wrapQtApp $out/bin/cassowary
|
|
|
|
|
'';
|
2025-02-02 15:35:23 +01:00
|
|
|
format = "pyproject";
|
2025-02-02 15:35:23 +01:00
|
|
|
patches = [
|
|
|
|
|
./main_ui.patch
|
|
|
|
|
./desktopitemdialog.patch
|
|
|
|
|
];
|
2025-02-02 14:29:28 +01:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|