Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7977,6 +7977,12 @@
github = "encode42";
githubId = 34699884;
};
enderbsd = {
email = "ender@enderzone.com";
github = "enderbsd";
githubId = 13617481;
name = "enderbsd";
};
enderger = {
email = "endergeryt@gmail.com";
github = "enderger";
Expand Down
97 changes: 97 additions & 0 deletions pkgs/by-name/au/autokey-wayland/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
{
lib,
python3Packages,
fetchFromGitHub,
zip,
wrapGAppsHook3,
gobject-introspection,
gtksourceview3,
libappindicator-gtk3,
libnotify,
libsForQt5,
versionCheckHook,
zenity,
wmctrl,
kdePackages,
}:

python3Packages.buildPythonApplication (finalAttrs: {
pname = "autokey-wayland";
version = "0.97.4";
format = "setuptools";

__structuredAttrs = true;

src = fetchFromGitHub {
owner = "dlk3";
repo = "autokey-wayland";
tag = "v${finalAttrs.version}";
hash = "sha256-aS1X+YKV5VtuMUjkkQIwARPWxoagXHKUFaPuy3qq/fI=";
};

nativeBuildInputs = [
zip
wrapGAppsHook3
gobject-introspection
];

buildInputs = [
gtksourceview3
libappindicator-gtk3
libnotify
];

propagatedBuildInputs = with python3Packages; [
# shared with upstream autokey
dbus-python
pyinotify
xlib
pygobject3
packaging
# wayland fork additions
python-magic
pyasyncore
pyqt5
qscintilla
pydbus
pyudev
evdev
tkinter
];

# build the GNOME Shell extension zip before the Python build
preBuild = ''
cd autokey-gnome-extension
zip --junk-paths autokey-gnome-extension@autokey.shell-extension.zip 46/extension.js 46/metadata.json
cd ..
'';

runtimeDeps = [
zenity
wmctrl
kdePackages.kdialog
];

dontWrapGApps = true;

preFixup = ''
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
--prefix PATH : ${lib.makeBinPath finalAttrs.runtimeDeps}
--prefix QT_PLUGIN_PATH : "${libsForQt5.qtbase.bin}/${libsForQt5.qtbase.qtPluginPrefix}"
--prefix QT_PLUGIN_PATH : "${libsForQt5.qtwayland.bin}/${libsForQt5.qtbase.qtPluginPrefix}"
)
'';

doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];

Comment thread
enderbsd marked this conversation as resolved.
meta = {
description = "Desktop automation utility for Linux with Wayland support";
homepage = "https://github.com/dlk3/autokey-wayland";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ enderbsd ];
platforms = lib.platforms.linux;
mainProgram = "autokey-headless";
};
})
Loading