Merge pull request #86180 from Mic92/prey-bash-client

This commit is contained in:
Jörg Thalheim 2020-04-28 14:01:47 +01:00 committed by GitHub
commit a110c227a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 4 additions and 102 deletions

View File

@ -196,7 +196,6 @@
./security/pam_usb.nix
./security/pam_mount.nix
./security/polkit.nix
./security/prey.nix
./security/rngd.nix
./security/rtkit.nix
./security/wrappers/default.nix

View File

@ -49,6 +49,10 @@ with lib;
simply add the brightnessctl package to environment.systemPackages.
'')
(mkRemovedOptionModule ["services" "prey" ] ''
prey-bash-client is deprecated upstream
'')
# Do NOT add any option renames here, see top of the file
];
}

View File

@ -1,51 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.prey;
myPrey = pkgs.prey-bash-client.override {
apiKey = cfg.apiKey;
deviceKey = cfg.deviceKey;
};
in {
options = {
services.prey = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
Enables the <link xlink:href="http://preyproject.com/" />
shell client. Be sure to specify both API and device keys.
Once enabled, a <command>cron</command> job will run every 15
minutes to report status information.
'';
};
deviceKey = mkOption {
type = types.str;
description = ''
<literal>Device key</literal> obtained by visiting
<link xlink:href="https://panel.preyproject.com/devices" />
and clicking on your device.
'';
};
apiKey = mkOption {
type = types.str;
description = ''
<literal>API key</literal> obtained from
<link xlink:href="https://panel.preyproject.com/profile" />.
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ myPrey ];
services.cron.systemCronJobs = [ "*/15 * * * * root ${myPrey}/prey.sh" ];
};
}

View File

@ -1,48 +0,0 @@
{ stdenv, fetchurl, fetchgit, curl, scrot, imagemagick, xawtv, inetutils, makeWrapper, coreutils
, apiKey ? ""
, deviceKey ? "" }:
# TODO: this should assert keys are set, somehow if set through .override assertion fails
#assert apiKey != "";
#assert deviceKey != "";
let
modulesSrc = fetchgit {
url = "git://github.com/prey/prey-bash-client-modules.git";
rev = "aba260ef110834cb2e92923a31f50c15970639ee";
sha256 = "9cb1ad813d052a0a3e3bbdd329a8711ae3272e340379489511f7dd578d911e30";
};
in stdenv.mkDerivation rec {
pname = "prey-bash-client";
version = "0.6.0";
src = fetchurl {
url = "https://github.com/prey/prey-bash-client/archive/v${version}.tar.gz";
sha256 = "09cb15jh4jdwvix9nx048ajkw2r5jaflk68y3rkha541n8n0qwh0";
};
buildInputs = [ curl scrot imagemagick xawtv makeWrapper ];
phases = "unpackPhase installPhase";
installPhase = ''
substituteInPlace config --replace api_key=\'\' "api_key='${apiKey}'"
substituteInPlace config --replace device_key=\'\' "device_key='${deviceKey}'"
substituteInPlace prey.sh --replace /bin/bash $(type -Pp bash)
mkdir -p $out/modules
cp -R . $out
cp -R ${modulesSrc}/* $out/modules/
wrapProgram "$out/prey.sh" \
--prefix PATH ":" "${stdenv.lib.makeBinPath [ xawtv imagemagick curl scrot inetutils coreutils ]}" \
--set CURL_CA_BUNDLE "/etc/ssl/certs/ca-certificates.crt"
'';
meta = with stdenv.lib; {
homepage = "https://preyproject.com";
description = "Proven tracking software that helps you find, lock and recover your devices when stolen or missing";
maintainers = with maintainers; [ domenkozar ];
license = licenses.gpl3;
platforms = with platforms; linux;
};
}

View File

@ -6027,8 +6027,6 @@ in
prettyping = callPackage ../tools/networking/prettyping { };
prey-bash-client = callPackage ../tools/security/prey { };
profile-cleaner = callPackage ../tools/misc/profile-cleaner { };
profile-sync-daemon = callPackage ../tools/misc/profile-sync-daemon { };