about summary refs log tree commit diff
path: root/modules/common/curl.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/common/curl.nix')
-rw-r--r--modules/common/curl.nix38
1 files changed, 38 insertions, 0 deletions
diff --git a/modules/common/curl.nix b/modules/common/curl.nix
new file mode 100644
index 0000000..e7bee31
--- /dev/null
+++ b/modules/common/curl.nix
@@ -0,0 +1,38 @@
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}:
+with lib; let
+  cfg = config.nixfiles.modules.curl;
+in {
+  options.nixfiles.modules.curl.enable =
+    mkEnableOption "Wether to enable cURL.";
+
+  config = mkIf cfg.enable {
+    hm.home.file.".curlrc".text = ''
+      connect-timeout = 60
+      progress-bar
+      referer = ";auto"
+      remote-time
+      show-error
+    '';
+
+    environment.systemPackages = with pkgs; [
+      curl
+      (writeShellScriptBin "0x0" ''
+        url="https://0x0.st"
+        form="file=@"
+
+        if [ -t 0 ] && [ -n "$1" ]; then
+            form="$form$1"
+        else
+            form="$form-"
+        fi
+
+        ${curl}/bin/curl --form "$form" "$url"
+      '')
+    ];
+  };
+}

Consider giving Nix/NixOS a try! <3