From ab1be19b86b11bd939d886ef41851f559b92d2e0 Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Tue, 13 Feb 2024 23:01:01 -0600 Subject: [PATCH] Add create_ssl script --- hosts/genesis/default.nix | 1 + overlays/create_ssl.nix | 28 ++++++++++++++++++++++++++++ overlays/default.nix | 20 ++++++++++++-------- 3 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 overlays/create_ssl.nix diff --git a/hosts/genesis/default.nix b/hosts/genesis/default.nix index 8b5439b..3c92a4b 100644 --- a/hosts/genesis/default.nix +++ b/hosts/genesis/default.nix @@ -33,5 +33,6 @@ networking.hostName = "genesis"; # Define your hostname. environment.systemPackages = with pkgs; [ awscli2 + create_ssl ]; } diff --git a/overlays/create_ssl.nix b/overlays/create_ssl.nix new file mode 100644 index 0000000..a593d17 --- /dev/null +++ b/overlays/create_ssl.nix @@ -0,0 +1,28 @@ +{ writeShellScriptBin, openssl, ...}: + +writeShellScriptBin "create_ssl" '' +set -e -o pipefail +name="''${1}" +root_key="''${2}" + +function usage { + echo "USAGE: create_ssl " +} + +if [ -z "''${name}" ]; then + usage + exit 1 +fi + +if [ -z "''${root_key}" ]; then + usage + exit 1 +fi + +# Create the certificate key +${openssl}/bin/openssl ecparam -out "''${name}.key" -name prime256v1 -genkey +# Create the CSR +${openssl}/bin/openssl req -name -sha256 -key "''${name}.key" -out "''${name}.csr" +# Sign it +${openssl}/bin/openssl x509 -req -in "''${name}.csr" -CA "''${root_key}.crt" -CAkey "''${root_key}.key" -CAcreateserial -out "''${name}.crt" -days 3650 -sha256 +'' diff --git a/overlays/default.nix b/overlays/default.nix index 33441eb..f1d5b97 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -47,9 +47,20 @@ in rec { }) ]; + # My own packages aacs = prev.callPackage ./aacs.nix {}; - brew = prev.callPackage ./homebrew.nix {}; configure_aws_creds = prev.callPackage ./configure_aws_creds.nix {}; + create_ssl = prev.callPackage ./create_ssl.nix {}; + hms = prev.callPackage ./hms { + pkgs = final.pkgs; + }; + enwiki-dump = prev.callPackage ./enwiki-dump.nix {}; + setup-ssh = prev.callPackage ./setup-ssh { + pkgs = final.pkgs; + }; + + # Overrides of packages + brew = prev.callPackage ./homebrew.nix {}; copier = (if is2405 then prev.copier.overridePythonAttrs (old: { version = "9.1.0"; src = final.fetchFromGitHub { @@ -60,18 +71,11 @@ in rec { postFetch = "rm $out/tests/demo/doc/ma*ana.txt"; }; }) else prev.copier); - enwiki-dump = prev.callPackage ./enwiki-dump.nix {}; - hms = prev.callPackage ./hms { - pkgs = final.pkgs; - }; inject = prev.callPackage ./inject.nix { inherit (final) pkgs; }; libbluray-custom = prev.libbluray.override { withAACS = true; withBDplus = true; }; - setup-ssh = prev.callPackage ./setup-ssh { - pkgs = final.pkgs; - }; template = prev.callPackage ./template.nix { }; handbrake = prev.handbrake.override { libbluray = libbluray-custom;