From 03e17cbd6bf42e1d591d2859f95b5703cb03c0f9 Mon Sep 17 00:00:00 2001 From: deva Date: Sat, 13 Jul 2024 19:14:18 -0400 Subject: [PATCH] pastebin script + go support --- os/dev/default.nix | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/os/dev/default.nix b/os/dev/default.nix index 690adf1..de80256 100644 --- a/os/dev/default.nix +++ b/os/dev/default.nix @@ -2,7 +2,39 @@ config, pkgs, ... -}: { +}: let + wantgunsbin_script = pkgs.writeShellScriptBin "pst" '' + #!/usr/bin/env bash + + URL="https://pastebin.dessa.dev" + + FILEPATH="$1" + FILENAME=$(basename -- "$FILEPATH") + EXTENSION="''${FILENAME##*.}" + + if [ ! -f $FILEPATH ]; then + # curl the file from the internet, given the id + # future regex for any wantsgunbin link: ^((http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b\/)?[0-9a-zA-Z]{5,}(\..*)?$ + if [[ $FILEPATH =~ ^(https:\/\/pastebin\.dessa\.dev\/)?[0-9a-zA-Z]{5,}(\..*)?$ ]]; then + OUT=$(mktemp) + echo $OUT + curl -sL https://pastebin.dessa.dev/$FILEPATH > $OUT + exit 0 + else + echo "File not found: $FILEPATH" + exit 1 + fi + fi + + RESPONSE=$(curl --data-binary @''${FILEPATH:-/dev/stdin} --url $URL) + PASTELINK="$URL$RESPONSE" + + [ -z "$EXTENSION" ] && echo $PASTELINK || echo $PASTELINK.$EXTENSION + ''; +in { + programs.zsh.shellAliases = { + pst = "${wantgunsbin_script}/bin/pst"; + }; home.packages = with pkgs.unstable; [ bruno just @@ -14,6 +46,7 @@ corepack cargo-watch rustup + go jetbrains.idea-community vscode