From b16dc8dcc53d1910092d8dc2f30851eef2060c16 Mon Sep 17 00:00:00 2001 From: Emery Date: Wed, 24 Feb 2016 21:43:38 +0100 Subject: New hdapsd module --- nixos/modules/module-list.nix | 1 + nixos/modules/services/monitoring/hdaps.nix | 22 ++++++++++++++++++++++ pkgs/os-specific/linux/hdapsd/default.nix | 6 ++++-- pkgs/os-specific/linux/hdapsd/postInstall.sh | 7 +++++++ 4 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 nixos/modules/services/monitoring/hdaps.nix create mode 100644 pkgs/os-specific/linux/hdapsd/postInstall.sh diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 585da96c32e..c2bcc361c44 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -257,6 +257,7 @@ ./services/monitoring/dd-agent.nix ./services/monitoring/grafana.nix ./services/monitoring/graphite.nix + ./services/monitoring/hdaps.nix ./services/monitoring/heapster.nix ./services/monitoring/longview.nix ./services/monitoring/monit.nix diff --git a/nixos/modules/services/monitoring/hdaps.nix b/nixos/modules/services/monitoring/hdaps.nix new file mode 100644 index 00000000000..be26c44e78d --- /dev/null +++ b/nixos/modules/services/monitoring/hdaps.nix @@ -0,0 +1,22 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.hdapsd; + hdapsd = [ pkgs.hdapsd ]; +in +{ + options = { + services.hdapsd.enable = mkEnableOption + '' + Hard Drive Active Protection System Daemon, + devices are detected and managed automatically by udev and systemd + ''; + }; + + config = mkIf cfg.enable { + services.udev.packages = hdapsd; + systemd.packages = hdapsd; + }; +} diff --git a/pkgs/os-specific/linux/hdapsd/default.nix b/pkgs/os-specific/linux/hdapsd/default.nix index 9f39cb56bf5..61c0c7b495d 100644 --- a/pkgs/os-specific/linux/hdapsd/default.nix +++ b/pkgs/os-specific/linux/hdapsd/default.nix @@ -2,13 +2,15 @@ let version = "20141203"; in stdenv.mkDerivation rec { - name = "ldapsd-"+version; + name = "hdapsd-"+version; src = fetchurl { url = "https://github.com/evgeni/hdapsd/releases/download/${version}/hdapsd-${version}.tar.gz"; sha256 = "0ppgrfabd0ivx9hyny3c3rv4rphjyxcdsd5svx5pgfai49mxnl36"; }; + postInstall = builtins.readFile ./postInstall.sh; + meta = with stdenv.lib; { description = "Hard Drive Active Protection System Daemon"; hompage = "http://hdaps.sf.net/"; @@ -16,4 +18,4 @@ stdenv.mkDerivation rec { platforms = platforms.linux; maintainers = [ maintainers.ehmry ]; }; -} \ No newline at end of file +} diff --git a/pkgs/os-specific/linux/hdapsd/postInstall.sh b/pkgs/os-specific/linux/hdapsd/postInstall.sh new file mode 100644 index 00000000000..37867817bf6 --- /dev/null +++ b/pkgs/os-specific/linux/hdapsd/postInstall.sh @@ -0,0 +1,7 @@ +mkdir -p $out/lib/udev/rules.d $out/lib/systemd/system +cp misc/hdapsd.rules $out/lib/udev/rules.d +SBIN_REWRITE="s|@sbindir@|$out/bin|g" +for i in misc/*.service.in +do sed $SBIN_REWRITE "$i" > "$out/lib/systemd/system/$(basename ${i%.in})" +done + -- cgit 1.4.1