Files
nixpkgs/pkgs/by-name/kt/ktailctl/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

84 lines
1.5 KiB
Nix

{
buildGo124Module,
cmake,
fetchFromGitHub,
git,
go_1_24,
lib,
nlohmann_json,
stdenv,
kdePackages,
}:
let
version = "0.21.2";
src = fetchFromGitHub {
owner = "f-koehler";
repo = "KTailctl";
rev = "v${version}";
hash = "sha256-CP5ivqhYVCotsL6e9eV9L1OGr2W+vNHJOq8hMYj7g/o=";
};
goDeps =
(buildGo124Module {
pname = "ktailctl-go-wrapper";
inherit src version;
modRoot = "src/wrapper";
vendorHash = "sha256-uZydTufEpGKbX3T3Zm4WTU2ZZNhC6oHSb/sHPM4ekmQ=";
}).goModules;
in
stdenv.mkDerivation {
pname = "ktailctl";
inherit version src;
postPatch = ''
cp -r --reflink=auto ${goDeps} src/wrapper/vendor
'';
# needed for go build to work
preBuild = ''
export HOME=$TMPDIR
'';
cmakeFlags = [
# actually just disables Go vendoring updates
"-DKTAILCTL_FLATPAK_BUILD=ON"
];
nativeBuildInputs = with kdePackages; [
cmake
extra-cmake-modules
git
go_1_24
wrapQtAppsHook
];
buildInputs = with kdePackages; [
kconfig
kcoreaddons
kdbusaddons
kguiaddons
ki18n
kirigami
kirigami-addons
knotifications
kwindowsystem
nlohmann_json
qqc2-desktop-style
qtbase
qtdeclarative
qtsvg
qtwayland
];
meta = with lib; {
description = "GUI to monitor and manage Tailscale on your Linux desktop";
homepage = "https://github.com/f-koehler/KTailctl";
license = licenses.gpl3Only;
maintainers = with maintainers; [ k900 ];
mainProgram = "ktailctl";
platforms = platforms.unix;
};
}