summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs/simple
diff options
context:
space:
mode:
Diffstat (limited to 'krebs/5pkgs/simple')
-rw-r--r--krebs/5pkgs/simple/brain/default.nix12
-rw-r--r--krebs/5pkgs/simple/krebszones/default.nix36
-rw-r--r--krebs/5pkgs/simple/ovh-zone/default.nix25
-rw-r--r--krebs/5pkgs/simple/urlencode/default.nix22
4 files changed, 71 insertions, 24 deletions
diff --git a/krebs/5pkgs/simple/brain/default.nix b/krebs/5pkgs/simple/brain/default.nix
new file mode 100644
index 000000000..079db825f
--- /dev/null
+++ b/krebs/5pkgs/simple/brain/default.nix
@@ -0,0 +1,12 @@
+{ pass, writeOut, writeDash, ... }:
+
+writeOut "brain" {
+ "/bin/brain-pass".link = writeDash "brain-pass" ''
+ PASSWORD_STORE_DIR=$HOME/brain \
+ exec ${pass}/bin/pass $@
+ '';
+ "/bin/brain-passmenu".link = writeDash "brain-passmenu" ''
+ PASSWORD_STORE_DIR=$HOME/brain \
+ exec ${pass}/bin/passmenu $@
+ '';
+}
diff --git a/krebs/5pkgs/simple/krebszones/default.nix b/krebs/5pkgs/simple/krebszones/default.nix
index 9230192bd..b54c95d88 100644
--- a/krebs/5pkgs/simple/krebszones/default.nix
+++ b/krebs/5pkgs/simple/krebszones/default.nix
@@ -1,25 +1,13 @@
-{ lib, pkgs,python3Packages,fetchurl, ... }:
+{ pkgs, ... }:
-# TODO: Prepare a diff of future and current
-## ovh-zone export krebsco.de --config ~/secrets/krebs/cfg.json |sed 's/[ ]\+/ /g' | sort current
-## sed 's/[ ]\+/ /g'/etc/zones/krebsco.de | sort > future
-## diff future.sorted current.sorted
-
-python3Packages.buildPythonPackage rec {
- name = "krebszones-${version}";
- version = "0.4.4";
- propagatedBuildInputs = with pkgs.python3Packages;[
- d2to1 # for setup to work
- ovh
- docopt
- ];
- src = fetchurl {
- url = "https://pypi.python.org/packages/source/k/krebszones/krebszones-${version}.tar.gz";
- sha256 = "1bzfc2b9468769j1yj93j12zdlccqbjiqfhql2larximh491sg4d";
- };
- meta = {
- homepage = http://krebsco.de/;
- description = "OVH Zone Upload";
- license = lib.licenses.wtfpl;
- };
-}
+pkgs.writeDashBin "krebszones" ''
+ set -efu
+ export OVH_ZONE_CONFIG=$HOME/.secrets/krebs/ovh-zone.conf
+ case $* in
+ import)
+ set -- import /etc/zones/krebsco.de krebsco.de
+ echo "+ krebszones $*" >&2
+ ;;
+ esac
+ exec ${pkgs.ovh-zone}/bin/ovh-zone "$@"
+''
diff --git a/krebs/5pkgs/simple/ovh-zone/default.nix b/krebs/5pkgs/simple/ovh-zone/default.nix
new file mode 100644
index 000000000..051a14e8d
--- /dev/null
+++ b/krebs/5pkgs/simple/ovh-zone/default.nix
@@ -0,0 +1,25 @@
+{ lib, pkgs,python3Packages,fetchurl, ... }:
+
+# TODO: Prepare a diff of future and current
+## ovh-zone export krebsco.de --config ~/secrets/krebs/cfg.json |sed 's/[ ]\+/ /g' | sort current
+## sed 's/[ ]\+/ /g'/etc/zones/krebsco.de | sort > future
+## diff future.sorted current.sorted
+
+python3Packages.buildPythonPackage rec {
+ name = "ovh-zone-${version}";
+ version = "0.4.4";
+ propagatedBuildInputs = with pkgs.python3Packages;[
+ d2to1 # for setup to work
+ ovh
+ docopt
+ ];
+ src = fetchurl {
+ url = "https://pypi.python.org/packages/source/k/krebszones/krebszones-${version}.tar.gz";
+ sha256 = "1bzfc2b9468769j1yj93j12zdlccqbjiqfhql2larximh491sg4d";
+ };
+ meta = {
+ homepage = http://krebsco.de/;
+ description = "OVH Zone Upload";
+ license = lib.licenses.wtfpl;
+ };
+}
diff --git a/krebs/5pkgs/simple/urlencode/default.nix b/krebs/5pkgs/simple/urlencode/default.nix
new file mode 100644
index 000000000..afa42b83f
--- /dev/null
+++ b/krebs/5pkgs/simple/urlencode/default.nix
@@ -0,0 +1,22 @@
+{ jq, gnused, writeBashBin, ... }:
+
+writeBashBin "urlencode" ''
+ set -efu
+
+ decode() {
+ printf %b "$(${gnused}/bin/sed 's/ /+/g; s/%/\\x/g')"
+ }
+
+ encode() {
+ ${jq}/bin/jq -Rr '@uri "\(.)"'
+ }
+
+ # shellcheck disable=SC2048
+ case $* in
+ -d) decode;;
+ "") encode;;
+ *)
+ echo "$0: error: your argument is invalid" >&2
+ exit 1
+ esac
+''