about summary refs log tree commit diff
path: root/pkgs/by-name/pw
diff options
context:
space:
mode:
authorAmy Parker <amy@amyip.net>2024-05-30 13:11:04 -0700
committerAmy Parker <amy@amyip.net>2024-05-30 13:11:04 -0700
commitb191f505bba3179ebcda9019fc33293e4bd8f171 (patch)
tree2f13ab591c56cfba5d0cdbfb6852fc30251d6956 /pkgs/by-name/pw
parentf7a63cf975cc66559d5f488ffe6367c987a79826 (diff)
pwalarmd: init at 0.1.0
This patch adds pwalarmd, a daemon which provides alarm clock
services with custom notification support and live command-line
configuration editing (achieved through pwalarmctl, which will
be requested for addition separately).

This patch does not add a service file, as pwalarmd is meant to
be run in user mode. Home-Manager support will be added separately
later for running pwalarmd under systemd/with declarative
configuration.

Signed-off-by: Amy Parker <amy@amyip.net>
Diffstat (limited to 'pkgs/by-name/pw')
-rw-r--r--pkgs/by-name/pw/pwalarmd/package.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/by-name/pw/pwalarmd/package.nix b/pkgs/by-name/pw/pwalarmd/package.nix
new file mode 100644
index 0000000000000..39a686f992883
--- /dev/null
+++ b/pkgs/by-name/pw/pwalarmd/package.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, alsa-lib
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "pwalarmd";
+  version = "0.1.0";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ alsa-lib ];
+
+  src = fetchFromGitHub {
+    owner = "amyipdev";
+    repo = "pwalarmd";
+    rev = "v${version}";
+    hash = "sha256-xoC1PtDQjkvoWb9x8A43ITo6xyYOv9hxH2pxiZBBvKI=";
+  };
+
+  cargoHash = "sha256-cRAFnmgvzWLFAjB7H1rU4FdxMwm0J6d76kdFPoXpPMw=";
+
+  meta = {
+    description = "Background CLI-based alarm system for *nix";
+    longDescription = ''
+      pwalarmd is a command-line (daemon-based) alarm system.
+      It has extensive configuration and personalization, PulseAudio
+      and PipeWire support, and supports live configuration changes.
+    '';
+    mainProgram = "pwalarmd";
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.all;
+    badPlatforms = lib.platforms.darwin;
+    maintainers = with lib.maintainers; [ amyipdev ];
+  };
+}