summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'krebs/5pkgs')
-rw-r--r--krebs/5pkgs/haskell/brockman/default.nix6
-rw-r--r--krebs/5pkgs/haskell/reaktor2/default.nix8
-rw-r--r--krebs/5pkgs/simple/generate-secrets/default.nix18
-rw-r--r--krebs/5pkgs/simple/htgen-cyberlocker/src/htgen-cyberlocker23
-rw-r--r--krebs/5pkgs/simple/realwallpaper/default.nix2
-rw-r--r--krebs/5pkgs/simple/untilport/default.nix2
-rw-r--r--krebs/5pkgs/simple/weechat-declarative/default.nix85
7 files changed, 91 insertions, 53 deletions
diff --git a/krebs/5pkgs/haskell/brockman/default.nix b/krebs/5pkgs/haskell/brockman/default.nix
index 8a2311a2..6a0c7f9d 100644
--- a/krebs/5pkgs/haskell/brockman/default.nix
+++ b/krebs/5pkgs/haskell/brockman/default.nix
@@ -7,19 +7,19 @@
}:
mkDerivation rec {
pname = "brockman";
- version = "4.0.3";
+ version = "4.0.4";
src = fetchFromGitHub {
owner = "kmein";
repo = "brockman";
rev = version;
- sha256 = "sha256-rjwroSG9ys0FV2JM70kzmCutMVpUTx8cQ+jQq8Hw1kw=";
+ sha256 = "sha256-GOEEUjehFgMMf6cNpi0AP/Rz74sTDEcpKRbLD+6YEz0=";
};
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [
aeson aeson-pretty base bytestring case-insensitive conduit
containers directory feed filepath hashable hslogger html-entity
- http-client irc-conduit lens lrucache lrucaching network
+ http-client irc-conduit lens lrucache network
optparse-applicative random safe text time timerep wreq
];
license = lib.licenses.mit;
diff --git a/krebs/5pkgs/haskell/reaktor2/default.nix b/krebs/5pkgs/haskell/reaktor2/default.nix
index d41d8d81..9ff2bd88 100644
--- a/krebs/5pkgs/haskell/reaktor2/default.nix
+++ b/krebs/5pkgs/haskell/reaktor2/default.nix
@@ -8,11 +8,11 @@
}:
mkDerivation rec {
pname = "reaktor2";
- version = "0.4.0";
+ version = "0.4.0a";
src = fetchgit {
- url = "https://cgit.krebsco.de/reaktor2";
- sha256 = "0bnn23hjl57y0a5rf3h8kq078dziby7il7fandz5wh6s4i3psicp";
- rev = "v${version}";
+ url = "https://cgit.lassul.us/reaktor2";
+ sha256 = "sha256-x1i2TWcycYVFij6832xaBiQa1RQ1VmSfu5Qt1QrUtds=";
+ rev = "6d3eb6de5e770ee26874bb7449934f0c55bd1efa";
fetchSubmodules = true;
};
isLibrary = false;
diff --git a/krebs/5pkgs/simple/generate-secrets/default.nix b/krebs/5pkgs/simple/generate-secrets/default.nix
index a800ff54..f9a7450f 100644
--- a/krebs/5pkgs/simple/generate-secrets/default.nix
+++ b/krebs/5pkgs/simple/generate-secrets/default.nix
@@ -1,20 +1,21 @@
{ pkgs }:
-pkgs.writeDashBin "generate-secrets" ''
+pkgs.writers.writeDashBin "generate-secrets" ''
+ set -eu
HOSTNAME="$1"
TMPDIR=$(${pkgs.coreutils}/bin/mktemp -d)
+ cd $TMPDIR
+
PASSWORD=$(${pkgs.pwgen}/bin/pwgen 25 1)
HASHED_PASSWORD=$(echo $PASSWORD | ${pkgs.hashPassword}/bin/hashPassword -s) > /dev/null
${pkgs.openssh}/bin/ssh-keygen -t ed25519 -f $TMPDIR/ssh.id_ed25519 -P "" -C "" >/dev/null
- ${pkgs.openssl}/bin/openssl genrsa -out $TMPDIR/retiolum.rsa_key.priv 4096 2>/dev/null > /dev/null
- ${pkgs.openssl}/bin/openssl rsa -in $TMPDIR/retiolum.rsa_key.priv -pubout -out $TMPDIR/retiolum.rsa_key.pub 2>/dev/null > /dev/null
+ ${pkgs.tinc_pre}/bin/tinc --config "$TMPDIR" generate-keys 4096 >/dev/null
cat <<EOF > $TMPDIR/hashedPasswords.nix
{
root = "$HASHED_PASSWORD";
}
EOF
- cd $TMPDIR
for x in *; do
${pkgs.coreutils}/bin/cat $x | ${pkgs.brain}/bin/brain insert -m krebs-secrets/$HOSTNAME/$x > /dev/null
done
@@ -31,9 +32,12 @@ pkgs.writeDashBin "generate-secrets" ''
aliases = [
"$HOSTNAME.r"
];
- tinc.pubkey = ${"''"}
- $(cat $TMPDIR/retiolum.rsa_key.pub)
- ${"''"};
+ tinc = {
+ pubkey = ${"''"}
+ $(cat $TMPDIR/rsa_key.pub)
+ ${"''"};
+ pubkey_ed25519 = "$(cut -d ' ' -f 3 $TMPDIR/ed25519_key.pub)";
+ };
};
};
ssh.privkey.path = <secrets/ssh.id_ed25519>;
diff --git a/krebs/5pkgs/simple/htgen-cyberlocker/src/htgen-cyberlocker b/krebs/5pkgs/simple/htgen-cyberlocker/src/htgen-cyberlocker
index 5ca0ddd3..d04b4b1f 100644
--- a/krebs/5pkgs/simple/htgen-cyberlocker/src/htgen-cyberlocker
+++ b/krebs/5pkgs/simple/htgen-cyberlocker/src/htgen-cyberlocker
@@ -5,6 +5,13 @@ emptyok_response() {(
printf '\r\n'
)}
+not_modifed_response() {(
+ printf "HTTP/1.1 304 Not Modified\r\n"
+ printf 'Connection: close\r\n'
+ printf 'Server: %s\r\n' "$Server"
+ printf '\r\n'
+)}
+
delete_response() {
jq -n -r \
--arg server "$Server" \
@@ -74,8 +81,20 @@ case "$Method $path" in
'GET /'*)
item=$STATEDIR/items/$(echo "$path" | jq -rR @uri)
if [ -e "$item" ]; then
- file_response "$item"
- exit
+ if [ -z ${req_if_modified_since+x} ]; then
+ file_response "$item"
+ exit
+ else
+ age_file=$(date +%s -r "$item")
+ age_header=$(date +%s --date="$req_if_modified_since")
+ if [ "$age_file" -lt "$age_header" ]; then
+ not_modifed_response
+ exit
+ else
+ file_response "$item"
+ exit
+ fi
+ fi
fi
;;
'DELETE /'*)
diff --git a/krebs/5pkgs/simple/realwallpaper/default.nix b/krebs/5pkgs/simple/realwallpaper/default.nix
index 2fbc7ff8..832e47f2 100644
--- a/krebs/5pkgs/simple/realwallpaper/default.nix
+++ b/krebs/5pkgs/simple/realwallpaper/default.nix
@@ -122,7 +122,7 @@ pkgs.writers.writeDashBin "generate-wallpaper" ''
'https://neo.sci.gsfc.nasa.gov/view.php?datasetId=MOD14A1_E_FIRE') &
# regular fetches
- fetch marker.json.tmp "$marker_url"
+ fetch marker.json.tmp "$marker_url" || :
if [ -s marker.json.tmp ]; then
mv marker.json.tmp marker.json
fi
diff --git a/krebs/5pkgs/simple/untilport/default.nix b/krebs/5pkgs/simple/untilport/default.nix
index 61bcc2b8..2930fd1e 100644
--- a/krebs/5pkgs/simple/untilport/default.nix
+++ b/krebs/5pkgs/simple/untilport/default.nix
@@ -13,6 +13,6 @@ pkgs.writeDashBin "untilport" ''
if [ $# -ne 2 ]; then
usage
else
- until ${pkgs.netcat-openbsd}/bin/nc -z "$@"; do sleep 1; done
+ until ${pkgs.libressl.nc}/bin/nc -z "$@"; do sleep 1; done
fi
''
diff --git a/krebs/5pkgs/simple/weechat-declarative/default.nix b/krebs/5pkgs/simple/weechat-declarative/default.nix
index e6ecfd63..5f9c8635 100644
--- a/krebs/5pkgs/simple/weechat-declarative/default.nix
+++ b/krebs/5pkgs/simple/weechat-declarative/default.nix
@@ -109,45 +109,60 @@ let
};
};
+ setFile = pkgs.writeText "weechat.set" (
+ lib.optionalString (cfg.settings != {})
+ (lib.concatStringsSep "\n" (
+ lib.optionals
+ (cfg.settings.irc or {} != {})
+ (lib.mapAttrsToList
+ (name: server: "/server add ${name} ${lib.toWeechatValue server.addresses}")
+ cfg.settings.irc.server)
+ ++
+ lib.optionals
+ (cfg.settings.matrix or {} != {})
+ (lib.mapAttrsToList
+ (name: server: "/matrix server add ${name} ${server.address}")
+ cfg.settings.matrix.server)
+ ++
+ lib.mapAttrsToList lib.setCommand (lib.attrPathsSep "." cfg.settings)
+ ++
+ lib.optionals
+ (cfg.settings.filters or {} != {})
+ (lib.mapAttrsToList lib.filterAddreplace cfg.settings.filters)
+ ++
+ lib.singleton cfg.extraCommands
+ ))
+ );
+
weechat = pkgs.weechat.override {
configure = _: {
- init = lib.optionalString (cfg.settings != {})
- (lib.concatStringsSep "\n" (
- lib.optionals
- (cfg.settings.irc or {} != {})
- (lib.mapAttrsToList
- (name: server: "/server add ${name} ${server.address}")
- cfg.settings.irc.server)
- ++
- lib.optionals
- (cfg.settings.matrix or {} != {})
- (lib.mapAttrsToList
- (name: server: "/matrix server add ${name} ${server.address}")
- cfg.settings.matrix.server)
- ++
- lib.mapAttrsToList lib.setCommand (lib.attrPathsSep "." cfg.settings)
- ++
- lib.optionals
- (cfg.settings.filters or {} != {})
- (lib.mapAttrsToList lib.filterAddreplace cfg.settings.filters)
- ++
- lib.singleton cfg.extraCommands
- ));
+ init = "/exec -oc cat ${setFile}";
scripts = cfg.scripts;
};
};
-in pkgs.writers.writeDashBin "weechat" ''
- CONFDIR=''${XDG_CONFIG_HOME:-$HOME/.config}/weechat
- ${pkgs.coreutils}/bin/mkdir -p "$CONFDIR"
- ${lib.concatStringsSep "\n"
- (lib.mapAttrsToList
- (name: target: /* sh */ ''
- ${pkgs.coreutils}/bin/ln -s ${lib.escapeShellArg target} "$CONFDIR"/${lib.escapeShellArg name}
- '')
- cfg.files
- )
- }
- exec ${weechat}/bin/weechat "$@"
-''
+ wrapper = pkgs.writers.writeDashBin "weechat" ''
+ CONFDIR=''${XDG_CONFIG_HOME:-$HOME/.config}/weechat
+ ${pkgs.coreutils}/bin/mkdir -p "$CONFDIR"
+ ${lib.concatStringsSep "\n"
+ (lib.mapAttrsToList
+ (name: target: /* sh */ ''
+ ${pkgs.coreutils}/bin/ln -s ${lib.escapeShellArg target} "$CONFDIR"/${lib.escapeShellArg name}
+ '')
+ cfg.files
+ )
+ }
+ exec ${weechat}/bin/weechat "$@"
+ '';
+
+in pkgs.symlinkJoin {
+ name = "weechat-configured";
+ paths = [
+ wrapper
+ pkgs.weechat
+ ];
+ postBuild = ''
+ ln -s ${setFile} $out/weechat.set
+ '';
+}