From c5a297cd7df11f6c8f2921d053912ad15f41fc4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Sat, 7 Jan 2023 09:58:31 +0100 Subject: [PATCH] feat: rusty alarm --- configs/packages.nix | 1 + packages/rusty-jeep.nix | 31 +++++++++++++++++++++++++++++++ packages/scripts/default.nix | 19 +++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 packages/rusty-jeep.nix diff --git a/configs/packages.nix b/configs/packages.nix index 2f42352..88935c5 100644 --- a/configs/packages.nix +++ b/configs/packages.nix @@ -185,6 +185,7 @@ in { scripts.mpv-radio # kmein.slide termdown + scripts.alarm scripts.tolino-screensaver scripts.rfc scripts.tag diff --git a/packages/rusty-jeep.nix b/packages/rusty-jeep.nix new file mode 100644 index 0000000..2cfeaa3 --- /dev/null +++ b/packages/rusty-jeep.nix @@ -0,0 +1,31 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + alsa-lib, +}: +rustPlatform.buildRustPackage { + pname = "rusty-jeep"; + version = "1.0.0"; + + src = let + repo = fetchFromGitHub { + owner = "kmein"; + repo = "scripts"; + rev = "c8e80b34c08e427f83b6af19a361e8c0711a4e6c"; + sha256 = "18jlf9zkhni4jsvzrlkkllqvv5dkhjmilggcchbs32hr1km51q84"; + }; + in "${repo}/rusty-jeep"; + + nativeBuildInputs = [pkg-config]; + buildInputs = [alsa-lib]; + + cargoHash = "sha256-8qbYTqRk+4InJNX6xK95VxISamDb5KID+wbmUDJYJ94="; + + meta = with lib; { + description = "A beeping program inspired by K_belwagen"; + license = licenses.wtfpl; + maintainers = [maintainers.kmein]; + }; +} diff --git a/packages/scripts/default.nix b/packages/scripts/default.nix index e5426dd..ce633ed 100644 --- a/packages/scripts/default.nix +++ b/packages/scripts/default.nix @@ -33,6 +33,25 @@ in name = "instaget"; }; + alarm = let + rusty-jeep = pkgs.callPackage ../rusty-jeep.nix {}; + in + pkgs.writers.writeDashBin "alarm" '' + export PATH=${lib.makeBinPath [pkgs.coreutils pkgs.bc rusty-jeep]} + for i in `seq 8000 1000 10000`; do + echo $i 100 + done | rusty-jeep + echo 'if you heard that sound, then goto sleep..^_^' + + echo sleep "$@" + sleep "$@" + + echo 'wake up!' + while :; do + echo $(echo "($(od -tu -An -N 2 /dev/urandom)%1000)+500"|bc) $(echo "($(od -tu -An -N 2 /dev/urandom)%500)+100"|bc) + done | rusty-jeep 1 + ''; + infschmv = pkgs.writers.writeDashBin "InfSchMV" '' ${pkgs.curl}/bin/curl -sSL https://www.berlin.de/corona/massnahmen/verordnung/ \ | ${pkgs.pup}/bin/pup .textile \