Improve createScript function
This commit is contained in:
parent
f8cca093cd
commit
05a49f4e35
3 changed files with 16 additions and 8 deletions
|
@ -9,7 +9,9 @@ Nix definitions to configure our servers at home.
|
|||
- [agenix](https://github.com/ryantm/agenix): deployment of encrypted secrets to NixOS machines
|
||||
- [dns.nix](https://github.com/kirelagin/dns.nix): A Nix DSL for defining DNS zones
|
||||
- [flake-utils](https://github.com/numtide/flake-utils): Handy utilities to develop Nix flakes
|
||||
- [nixos-hardware](https://github.com/NixOS/nixos-hardware): Hardware-specific NixOS modules. Doing the heavy lifting for our Raspberry Pi.
|
||||
- [nixos-hardware](https://github.com/NixOS/nixos-hardware): Hardware-specific NixOS modules. Doing the heavy lifting for our Raspberry Pi
|
||||
- [kubenix](https://kubenix.org/): declare and deploy Kubernetes resources using Nix
|
||||
- [nixhelm](https://github.com/farcaller/nixhelm): Nix-digestible Helm charts
|
||||
|
||||
## Installation
|
||||
|
||||
|
@ -43,8 +45,6 @@ This puts a private key, signed certificate and a kubeconfig in the kubeconfig d
|
|||
|
||||
If the cluster has not been initialized yet, next run `nix run .#kubenix-bootstrap.x86_64-linux`.
|
||||
|
||||
⚠️ Do not do this if the cluster has been initialized already, as it will prune any deployed resources! ⚠️
|
||||
|
||||
Lastly, deploy everything to the cluster using `nix run .#kubenix.x86_64-linux`.
|
||||
|
||||
## Known bugs
|
||||
|
|
|
@ -22,5 +22,4 @@ in
|
|||
};
|
||||
});
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ flake-utils, pkgs, ... }: flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
createScript = name: runtimeInputs: scriptPath:
|
||||
createScript = { name, runtimeInputs, scriptPath, extraWrapperFlags ? "", ... }:
|
||||
let
|
||||
script = (pkgs.writeScriptBin name (builtins.readFile scriptPath)).overrideAttrs (old: {
|
||||
buildCommand = "${old.buildCommand}\n patchShebangs $out";
|
||||
|
@ -10,10 +10,19 @@ let
|
|||
inherit name;
|
||||
paths = [ script ] ++ runtimeInputs;
|
||||
buildInputs = [ pkgs.makeWrapper ];
|
||||
postBuild = "wrapProgram $out/bin/${name} --set PATH $out/bin";
|
||||
postBuild = "wrapProgram $out/bin/${name} --set PATH $out/bin ${extraWrapperFlags}";
|
||||
};
|
||||
in
|
||||
{
|
||||
packages.bootstrap = createScript "bootstrap" (with pkgs; [ libsecret coreutils nixos-anywhere ]) ./bootstrap.sh;
|
||||
packages.gen-k3s-cert = createScript "create-k3s-cert" (with pkgs; [ openssl coreutils openssh yq ]) ./gen-k3s-cert.sh;
|
||||
packages.bootstrap = createScript {
|
||||
name = "bootstrap";
|
||||
runtimeInputs = with pkgs; [ libsecret coreutils nixos-anywhere ];
|
||||
scriptPath = ./bootstrap.sh;
|
||||
};
|
||||
|
||||
packages.gen-k3s-cert = createScript {
|
||||
name = "create-k3s-cert";
|
||||
runtimeInputs = with pkgs; [ openssl coreutils openssh yq ];
|
||||
scriptPath = ./gen-k3s-cert.sh;
|
||||
};
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue