diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index b8f7b7d38f10..97ae27b78f9a 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9976,6 +9976,12 @@ githubId = 6016963; name = "Patrick Winter"; }; + winterqt = { + email = "nixos@winter.cafe"; + github = "winterqt"; + githubId = 78392041; + name = "Winter"; + }; wishfort36 = { email = "42300264+wishfort36@users.noreply.github.com"; github = "wishfort36"; diff --git a/pkgs/applications/misc/surface-control/default.nix b/pkgs/applications/misc/surface-control/default.nix new file mode 100644 index 000000000000..2c5db1fe15ab --- /dev/null +++ b/pkgs/applications/misc/surface-control/default.nix @@ -0,0 +1,37 @@ +{ lib, rustPlatform, fetchFromGitHub, installShellFiles, coreutils }: + +rustPlatform.buildRustPackage rec { + pname = "surface-control"; + version = "0.3.1-1"; + + src = fetchFromGitHub { + owner = "linux-surface"; + repo = pname; + rev = "v${version}"; + sha256 = "0wclzlix0a2naxbdg3wym7yw19p2wqpcjmkf7gn8cs00shrmzjld"; + }; + + cargoSha256 = "0vi26v9mvx298kx6k5g7h8dnn7r208an9knadc23vxcrrxjr6pn5"; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion \ + $releaseDir/build/surface-*/out/surface.{bash,fish} \ + --zsh $releaseDir/build/surface-*/out/_surface + install -Dm 0444 -t $out/etc/udev/rules.d \ + etc/udev/40-surface-control.rules + substituteInPlace $out/etc/udev/rules.d/40-surface-control.rules \ + --replace "/usr/bin/chmod" "${coreutils}/bin/chmod" \ + --replace "/usr/bin/chown" "${coreutils}/bin/chown" + ''; + + meta = with lib; { + description = + "Control various aspects of Microsoft Surface devices on Linux from the Command-Line"; + homepage = "https://github.com/linux-surface/surface-control"; + license = licenses.mit; + maintainers = with maintainers; [ winterqt ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 48ffba97158a..0840f57d0de0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7993,6 +7993,8 @@ in stubby = callPackage ../tools/networking/stubby { }; + surface-control = callPackage ../applications/misc/surface-control { }; + syntex = callPackage ../tools/graphics/syntex {}; sl = callPackage ../tools/misc/sl { stdenv = gccStdenv; };