diff --git a/pkgs/tools/misc/ego/default.nix b/pkgs/tools/misc/ego/default.nix new file mode 100644 index 00000000000..67a71a196bd --- /dev/null +++ b/pkgs/tools/misc/ego/default.nix @@ -0,0 +1,42 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, makeBinaryWrapper +, acl +, xorg +}: + +rustPlatform.buildRustPackage rec { + pname = "ego"; + version = "1.1.7"; + + src = fetchFromGitHub { + owner = "intgr"; + repo = "ego"; + rev = version; + hash = "sha256-613RM7Ldye0wHAH3VMhzhyT5WVTybph3gS/WNMrsgGI="; + }; + + buildInputs = [ acl ]; + + nativeBuildInputs = [ makeBinaryWrapper ]; + + cargoHash = "sha256-3leKejQ8kxamjwQPH1vg2I1CYc3r8k3pYfTWpOkqq8I="; + + # requires access to /root + checkFlags = [ + "--skip tests::test_check_user_homedir" + ]; + + postInstall = '' + wrapProgram $out/bin/ego --prefix PATH : ${lib.makeBinPath [ xorg.xhost ]} + ''; + + meta = { + description = "Run Linux desktop applications under a different local user"; + homepage = "https://github.com/intgr/ego"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dit7ya ]; + mainProgram = "ego"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b3f69dc9574..26fc3d5b44a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5025,6 +5025,8 @@ with pkgs; egglog = callPackage ../applications/science/logic/egglog { }; + ego = callPackage ../tools/misc/ego { }; + ekam = callPackage ../development/tools/build-managers/ekam { }; eksctl = callPackage ../tools/admin/eksctl { };