cassowary/flake.nix

48 lines
1.4 KiB
Nix
Raw Permalink Normal View History

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;};
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 {
inherit version pname src;
2025-02-02 14:41:05 +01:00
propagatedBuildInputs = [
pkgs.python312Packages.libvirt
pkgs.python312Packages.pyqt5
pkgs.libsForQt5.qtbase
2025-02-02 15:21:42 +01:00
pkgs.freerdp
2025-02-02 14:41:05 +01:00
];
buildInputs = [
pkgs.libsForQt5.qttools
pkgs.python312Packages.setuptools
];
nativeBuildInputs = [
pkgs.libsForQt5.wrapQtAppsHook
];
sourceRoot = "${src.name}/app-linux";
# 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
'';
format = "pyproject";
patches = [
./main_ui.patch
./desktopitemdialog.patch
];
2025-02-02 14:29:28 +01:00
};
};
}