crossmacro: init at 0.9.6 (#481216)
This commit is contained in:
@@ -1421,6 +1421,12 @@
|
||||
{ fingerprint = "DF68 C500 4024 23CC F9C5 E6CA 3D17 C832 4696 FE70"; }
|
||||
];
|
||||
};
|
||||
alper-han = {
|
||||
email = "contact@zynix.net";
|
||||
github = "alper-han";
|
||||
githubId = 89567766;
|
||||
name = "Zynix";
|
||||
};
|
||||
alternateved = {
|
||||
email = "alternateved@pm.me";
|
||||
github = "alternateved";
|
||||
|
||||
@@ -558,6 +558,7 @@
|
||||
./services/desktops/blueman.nix
|
||||
./services/desktops/bonsaid.nix
|
||||
./services/desktops/cpupower-gui.nix
|
||||
./services/desktops/crossmacro.nix
|
||||
./services/desktops/dleyna.nix
|
||||
./services/desktops/dunst.nix
|
||||
./services/desktops/espanso.nix
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.crossmacro;
|
||||
in
|
||||
{
|
||||
options.services.crossmacro = {
|
||||
enable = lib.mkEnableOption "CrossMacro, a cross-platform mouse and keyboard macro application";
|
||||
|
||||
package = lib.mkPackageOption pkgs "crossmacro" { };
|
||||
|
||||
daemonPackage = lib.mkPackageOption pkgs "crossmacro-daemon" { };
|
||||
|
||||
users = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
example = [
|
||||
"alice"
|
||||
"bob"
|
||||
];
|
||||
description = "List of users granted permission to use CrossMacro.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.users != [ ];
|
||||
message = "CrossMacro: You must specify at least one user. Set `services.crossmacro.users`.";
|
||||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
hardware.uinput.enable = true;
|
||||
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="uinput", GROUP="input", MODE="0660", OPTIONS+="static_node=uinput"
|
||||
ACTION=="add|change", KERNEL=="event*", ATTRS{name}=="CrossMacro Virtual Input Device", ENV{LIBINPUT_ATTR_POINTER_ACCEL}="0"
|
||||
'';
|
||||
|
||||
environment.etc."polkit-1/actions/org.crossmacro.policy".source =
|
||||
"${cfg.daemonPackage}/share/polkit-1/actions/org.crossmacro.policy";
|
||||
|
||||
environment.etc."polkit-1/rules.d/50-crossmacro.rules".source =
|
||||
"${cfg.daemonPackage}/share/polkit-1/rules.d/50-crossmacro.rules";
|
||||
|
||||
users.groups.crossmacro = { };
|
||||
|
||||
users.users =
|
||||
lib.listToAttrs (
|
||||
map (user: {
|
||||
name = user;
|
||||
value = {
|
||||
extraGroups = [ "crossmacro" ];
|
||||
};
|
||||
}) cfg.users
|
||||
)
|
||||
// {
|
||||
crossmacro = {
|
||||
isSystemUser = true;
|
||||
group = "input";
|
||||
extraGroups = [
|
||||
"crossmacro"
|
||||
"uinput"
|
||||
];
|
||||
description = "CrossMacro Input Daemon User";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.crossmacro = {
|
||||
description = "CrossMacro Input Daemon Service";
|
||||
documentation = [ "https://github.com/alper-han/CrossMacro" ];
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [
|
||||
"network.target"
|
||||
"dbus.service"
|
||||
"polkit.service"
|
||||
];
|
||||
wants = [
|
||||
"dbus.service"
|
||||
"polkit.service"
|
||||
];
|
||||
|
||||
path = [ pkgs.polkit ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "notify";
|
||||
User = "crossmacro";
|
||||
Group = "input";
|
||||
ExecStart = lib.getExe cfg.daemonPackage;
|
||||
Restart = "always";
|
||||
RestartSec = 5;
|
||||
RuntimeDirectory = "crossmacro";
|
||||
RuntimeDirectoryMode = "0755";
|
||||
CapabilityBoundingSet = [
|
||||
"CAP_SYS_ADMIN"
|
||||
"CAP_SETUID"
|
||||
"CAP_SETGID"
|
||||
"CAP_CHOWN"
|
||||
"CAP_DAC_READ_SEARCH"
|
||||
];
|
||||
AmbientCapabilities = [
|
||||
"CAP_SYS_ADMIN"
|
||||
"CAP_CHOWN"
|
||||
"CAP_DAC_READ_SEARCH"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ alper-han ];
|
||||
}
|
||||
+218
@@ -0,0 +1,218 @@
|
||||
[
|
||||
{
|
||||
"pname": "Avalonia",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-FSMuXVA5q5L5evwos5bIsuT81suO8FbCjEF3OvAL9p0="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Angle.Windows.Natives",
|
||||
"version": "2.1.25547.20250602",
|
||||
"hash": "sha256-LE/lENAHptmz6t3T/AoJwnhpda+xs7PqriNGzdcfg8M="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.BuildServices",
|
||||
"version": "11.3.2",
|
||||
"hash": "sha256-6wx06tjSKWQOlX2czdp6Wh0nuwVapx5qf/s8Qj5we40="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Controls.ColorPicker",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-Ki6O9HYbseQPV3DsvwmJ+ERimi/WmvzelNJDKP6loo0="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Desktop",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-oFivO8/0rir4BwQsTeWs3bSnb7RmldwxYmI77j5pt8k="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Diagnostics",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-p38+O0VDqZ8u5VOzImP21/U5wyP1BUp2UrLLc9HSfwE="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Fonts.Inter",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-S0DWwcZHulVUIckiv2HM1Vbqno64c/Xt+mPhZp1tfsA="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.FreeDesktop",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-UE2/w9cw3YDzsw3HuhI2sTPy8reH9C71ufmHOpzvlSQ="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Native",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-vw67lp/oOt+2lqdJ5PK2FY93jqPTcgZqOAXLtSXlJ8s="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Remote.Protocol",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-l1f3rVygtI268llwbN0NvTDSfXwZE3CyRw8w5tbHBC4="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Skia",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-89TGu50JfEVFo+QZgyOR0uOagC/xoJvqfnrHep3W/cc="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Themes.Fluent",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-tiJ0xAFf0UVSH7LASPtg/7ils7+vZjw2UKBMydyUR3Q="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Themes.Simple",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-AJS5Ls0tJ6PCr2mnr1PpxGWX4sII8mpe2R+VCFYRg44="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Win32",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-6/NG4OrB/4YisXzJ51GPuq3uDn8oEUWyJRAqejyMCQw="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.X11",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-2fiQvKxU/r71UOAQgy0zwSHVCM2uG2sdEUhObd5TrQQ="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "CommunityToolkit.Mvvm",
|
||||
"version": "8.4.0",
|
||||
"hash": "sha256-a0D550q+ffreU9Z+kQPdzJYPNaj1UjgyPofLzUg02ZI="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "HarfBuzzSharp",
|
||||
"version": "8.3.1.1",
|
||||
"hash": "sha256-614yv6bK9ynhdUnvW4wIkgpBe2sqTh28U9cDZzdhPc0="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.Linux",
|
||||
"version": "8.3.1.1",
|
||||
"hash": "sha256-sBbez6fc9axVcsBbIHbpQh/MM5NHlMJgSu6FyuZzVyU="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.macOS",
|
||||
"version": "8.3.1.1",
|
||||
"hash": "sha256-hK20KbX2OpewIO5qG5gWw5Ih6GoLcIDgFOqCJIjXR/Q="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.WebAssembly",
|
||||
"version": "8.3.1.1",
|
||||
"hash": "sha256-mLKoLqI47ZHXqTMLwP1UCm7faDptUfQukNvdq6w/xxw="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.Win32",
|
||||
"version": "8.3.1.1",
|
||||
"hash": "sha256-Um4iwLdz9XtaDSAsthNZdev6dMiy7OBoHOrorMrMYyo="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "MicroCom.Runtime",
|
||||
"version": "0.11.0",
|
||||
"hash": "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Microsoft.Extensions.DependencyInjection",
|
||||
"version": "10.0.2",
|
||||
"hash": "sha256-/9UWQRAI2eoocnJWWf1ktnAx/1Gt65c16fc0Xqr9+CQ="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
|
||||
"version": "10.0.2",
|
||||
"hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Serilog",
|
||||
"version": "4.3.0",
|
||||
"hash": "sha256-jyIy4BjsyFXge3aO4GRFAdnX4/rz1MHfBkBDIpCDsTw="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Serilog.Sinks.Async",
|
||||
"version": "2.1.0",
|
||||
"hash": "sha256-LDoLpXkleD2MVPK2KBsLGRf5yqrwckBiAnYDbuIbaUM="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Serilog.Sinks.Console",
|
||||
"version": "6.1.1",
|
||||
"hash": "sha256-CfIg4Us4kSMQAn6rU2rsAeE22g6MpFiZdhoZWySpZeY="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Serilog.Sinks.File",
|
||||
"version": "7.0.0",
|
||||
"hash": "sha256-LxZYUoUPkCjIIVarJilnXnqQiMrFNJtoRilmzTNtUjo="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-jZ/4nVXYJtrz9SBf6sYc/s0FxS7ReIYM4kMkrhZS+24="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.Linux",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-mQ/oBaqRR71WfS66mJCvcc3uKW7CNEHoPN2JilDbw/A="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.Linux.NoDependencies",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-WjpcM78Q6kaW0eU5iqDR5+fGcF+06/tawWHsJRK57Es="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.macOS",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-qvGuAmjXGjGKMzOPBvP9VWRVOICSGb7aNVejU0lLe/g="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.WebAssembly",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-vgFL4Pdy3O1RKBp+T9N3W4nkH9yurZ0suo8u3gPmmhY="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.Win32",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-kP5XM5GgwHGfNJfe4T2yO5NIZtiF71Ddp0pd1vG5V/4="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Tmds.DBus",
|
||||
"version": "0.23.0",
|
||||
"hash": "sha256-BwWQSqOOMS+Cf2fM8MIuiHey8QnGH4WvYjOn9haq5e0="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Tmds.DBus.Protocol",
|
||||
"version": "0.21.2",
|
||||
"hash": "sha256-gaK/5aAummyin6ptnhaJbnA0ih4+2xADrtrLfFbHwYI="
|
||||
}
|
||||
|
||||
]
|
||||
@@ -0,0 +1,71 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildDotnetModule,
|
||||
dotnetCorePackages,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
autoPatchelfHook,
|
||||
clang,
|
||||
patchelf,
|
||||
systemd,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "crossmacro-daemon";
|
||||
version = "0.9.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alper-han";
|
||||
repo = "CrossMacro";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-6Cc1mC34l+4dUPD1LAYxlXxzNF76l4HoOmbqTdTJVk0=";
|
||||
};
|
||||
|
||||
projectFile = "src/CrossMacro.Daemon/CrossMacro.Daemon.csproj";
|
||||
nugetDeps = ./deps.json;
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_10_0;
|
||||
dotnet-runtime = null;
|
||||
|
||||
selfContainedBuild = true;
|
||||
executables = [ "CrossMacro.Daemon" ];
|
||||
buildType = "Release";
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
clang
|
||||
patchelf
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
systemd
|
||||
zlib
|
||||
];
|
||||
|
||||
dotnetFlags = [ "-p:Version=${version}" ];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm644 scripts/assets/org.crossmacro.policy \
|
||||
$out/share/polkit-1/actions/org.crossmacro.policy
|
||||
|
||||
install -Dm644 scripts/assets/50-crossmacro.rules \
|
||||
$out/share/polkit-1/rules.d/50-crossmacro.rules
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
patchelf --add-needed libsystemd.so.0 $out/lib/crossmacro-daemon/CrossMacro.Daemon
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Privileged input daemon for CrossMacro";
|
||||
homepage = "https://github.com/alper-han/CrossMacro";
|
||||
changelog = "https://github.com/alper-han/CrossMacro/releases/tag/v${version}";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "CrossMacro.Daemon";
|
||||
maintainers = with lib.maintainers; [ alper-han ];
|
||||
};
|
||||
}
|
||||
Generated
+218
@@ -0,0 +1,218 @@
|
||||
[
|
||||
{
|
||||
"pname": "Avalonia",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-FSMuXVA5q5L5evwos5bIsuT81suO8FbCjEF3OvAL9p0="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Angle.Windows.Natives",
|
||||
"version": "2.1.25547.20250602",
|
||||
"hash": "sha256-LE/lENAHptmz6t3T/AoJwnhpda+xs7PqriNGzdcfg8M="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.BuildServices",
|
||||
"version": "11.3.2",
|
||||
"hash": "sha256-6wx06tjSKWQOlX2czdp6Wh0nuwVapx5qf/s8Qj5we40="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Controls.ColorPicker",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-Ki6O9HYbseQPV3DsvwmJ+ERimi/WmvzelNJDKP6loo0="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Desktop",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-oFivO8/0rir4BwQsTeWs3bSnb7RmldwxYmI77j5pt8k="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Diagnostics",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-p38+O0VDqZ8u5VOzImP21/U5wyP1BUp2UrLLc9HSfwE="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Fonts.Inter",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-S0DWwcZHulVUIckiv2HM1Vbqno64c/Xt+mPhZp1tfsA="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.FreeDesktop",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-UE2/w9cw3YDzsw3HuhI2sTPy8reH9C71ufmHOpzvlSQ="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Native",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-vw67lp/oOt+2lqdJ5PK2FY93jqPTcgZqOAXLtSXlJ8s="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Remote.Protocol",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-l1f3rVygtI268llwbN0NvTDSfXwZE3CyRw8w5tbHBC4="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Skia",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-89TGu50JfEVFo+QZgyOR0uOagC/xoJvqfnrHep3W/cc="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Themes.Fluent",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-tiJ0xAFf0UVSH7LASPtg/7ils7+vZjw2UKBMydyUR3Q="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Themes.Simple",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-AJS5Ls0tJ6PCr2mnr1PpxGWX4sII8mpe2R+VCFYRg44="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.Win32",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-6/NG4OrB/4YisXzJ51GPuq3uDn8oEUWyJRAqejyMCQw="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Avalonia.X11",
|
||||
"version": "11.3.11",
|
||||
"hash": "sha256-2fiQvKxU/r71UOAQgy0zwSHVCM2uG2sdEUhObd5TrQQ="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "CommunityToolkit.Mvvm",
|
||||
"version": "8.4.0",
|
||||
"hash": "sha256-a0D550q+ffreU9Z+kQPdzJYPNaj1UjgyPofLzUg02ZI="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "HarfBuzzSharp",
|
||||
"version": "8.3.1.1",
|
||||
"hash": "sha256-614yv6bK9ynhdUnvW4wIkgpBe2sqTh28U9cDZzdhPc0="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.Linux",
|
||||
"version": "8.3.1.1",
|
||||
"hash": "sha256-sBbez6fc9axVcsBbIHbpQh/MM5NHlMJgSu6FyuZzVyU="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.macOS",
|
||||
"version": "8.3.1.1",
|
||||
"hash": "sha256-hK20KbX2OpewIO5qG5gWw5Ih6GoLcIDgFOqCJIjXR/Q="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.WebAssembly",
|
||||
"version": "8.3.1.1",
|
||||
"hash": "sha256-mLKoLqI47ZHXqTMLwP1UCm7faDptUfQukNvdq6w/xxw="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "HarfBuzzSharp.NativeAssets.Win32",
|
||||
"version": "8.3.1.1",
|
||||
"hash": "sha256-Um4iwLdz9XtaDSAsthNZdev6dMiy7OBoHOrorMrMYyo="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "MicroCom.Runtime",
|
||||
"version": "0.11.0",
|
||||
"hash": "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Microsoft.Extensions.DependencyInjection",
|
||||
"version": "10.0.2",
|
||||
"hash": "sha256-/9UWQRAI2eoocnJWWf1ktnAx/1Gt65c16fc0Xqr9+CQ="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
|
||||
"version": "10.0.2",
|
||||
"hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Serilog",
|
||||
"version": "4.3.0",
|
||||
"hash": "sha256-jyIy4BjsyFXge3aO4GRFAdnX4/rz1MHfBkBDIpCDsTw="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Serilog.Sinks.Async",
|
||||
"version": "2.1.0",
|
||||
"hash": "sha256-LDoLpXkleD2MVPK2KBsLGRf5yqrwckBiAnYDbuIbaUM="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Serilog.Sinks.Console",
|
||||
"version": "6.1.1",
|
||||
"hash": "sha256-CfIg4Us4kSMQAn6rU2rsAeE22g6MpFiZdhoZWySpZeY="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Serilog.Sinks.File",
|
||||
"version": "7.0.0",
|
||||
"hash": "sha256-LxZYUoUPkCjIIVarJilnXnqQiMrFNJtoRilmzTNtUjo="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-jZ/4nVXYJtrz9SBf6sYc/s0FxS7ReIYM4kMkrhZS+24="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.Linux",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-mQ/oBaqRR71WfS66mJCvcc3uKW7CNEHoPN2JilDbw/A="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.Linux.NoDependencies",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-WjpcM78Q6kaW0eU5iqDR5+fGcF+06/tawWHsJRK57Es="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.macOS",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-qvGuAmjXGjGKMzOPBvP9VWRVOICSGb7aNVejU0lLe/g="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.WebAssembly",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-vgFL4Pdy3O1RKBp+T9N3W4nkH9yurZ0suo8u3gPmmhY="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "SkiaSharp.NativeAssets.Win32",
|
||||
"version": "2.88.9",
|
||||
"hash": "sha256-kP5XM5GgwHGfNJfe4T2yO5NIZtiF71Ddp0pd1vG5V/4="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Tmds.DBus",
|
||||
"version": "0.23.0",
|
||||
"hash": "sha256-BwWQSqOOMS+Cf2fM8MIuiHey8QnGH4WvYjOn9haq5e0="
|
||||
}
|
||||
,
|
||||
{
|
||||
"pname": "Tmds.DBus.Protocol",
|
||||
"version": "0.21.2",
|
||||
"hash": "sha256-gaK/5aAummyin6ptnhaJbnA0ih4+2xADrtrLfFbHwYI="
|
||||
}
|
||||
|
||||
]
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
lib,
|
||||
buildDotnetModule,
|
||||
dotnetCorePackages,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
fontconfig,
|
||||
freetype,
|
||||
expat,
|
||||
libx11,
|
||||
libice,
|
||||
libsm,
|
||||
libxi,
|
||||
libxcursor,
|
||||
libxext,
|
||||
libxrandr,
|
||||
libxrender,
|
||||
libxfixes,
|
||||
libxtst,
|
||||
libglvnd,
|
||||
mesa,
|
||||
wayland,
|
||||
libxkbcommon,
|
||||
glib,
|
||||
icu,
|
||||
openssl,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "crossmacro";
|
||||
version = "0.9.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alper-han";
|
||||
repo = "CrossMacro";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-6Cc1mC34l+4dUPD1LAYxlXxzNF76l4HoOmbqTdTJVk0=";
|
||||
};
|
||||
|
||||
projectFile = "src/CrossMacro.UI/CrossMacro.UI.csproj";
|
||||
nugetDeps = ./deps.json;
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_10_0;
|
||||
dotnet-runtime = dotnetCorePackages.runtime_10_0;
|
||||
|
||||
executables = [ "CrossMacro.UI" ];
|
||||
buildType = "Release";
|
||||
|
||||
dotnetFlags = [
|
||||
"-p:SelfContained=false"
|
||||
"-p:Version=${version}"
|
||||
];
|
||||
|
||||
runtimeDeps = [
|
||||
zlib
|
||||
icu
|
||||
openssl
|
||||
fontconfig
|
||||
freetype
|
||||
expat
|
||||
libx11
|
||||
libice
|
||||
libsm
|
||||
libxi
|
||||
libxcursor
|
||||
libxext
|
||||
libxrandr
|
||||
libxrender
|
||||
libxfixes
|
||||
libxtst
|
||||
glib
|
||||
libglvnd
|
||||
mesa
|
||||
wayland
|
||||
libxkbcommon
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm644 scripts/assets/CrossMacro.desktop $out/share/applications/crossmacro.desktop
|
||||
|
||||
for size in 16 32 48 64 128 256 512; do
|
||||
install -Dm644 src/CrossMacro.UI/Assets/icons/''${size}x''${size}/apps/crossmacro.png \
|
||||
$out/share/icons/hicolor/''${size}x''${size}/apps/crossmacro.png
|
||||
done
|
||||
|
||||
install -Dm644 scripts/assets/io.github.alper-han.CrossMacro.metainfo.xml \
|
||||
$out/share/metainfo/io.github.alper-han.CrossMacro.metainfo.xml
|
||||
|
||||
mkdir -p $out/bin
|
||||
ln -sf $out/bin/CrossMacro.UI $out/bin/crossmacro
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Cross-platform mouse and keyboard macro recorder and player";
|
||||
homepage = "https://github.com/alper-han/CrossMacro";
|
||||
changelog = "https://github.com/alper-han/CrossMacro/releases/tag/v${version}";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "crossmacro";
|
||||
maintainers = with lib.maintainers; [ alper-han ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user