aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Perry <np@nathanperry.dev>2022-11-30 06:04:37 -0500
committerNathan Perry <np@nathanperry.dev>2022-11-30 06:04:37 -0500
commit2eb72a7753283aa6e023bc526a1cc8b355e77520 (patch)
tree834b049c1987c059a392ea125f45ed39c357a991
parent329d55e3649f8b837324971da3188038c796d7c4 (diff)
nixos: shellcheck dbinit.sh
-rw-r--r--flake.nix21
1 files changed, 17 insertions, 4 deletions
diff --git a/flake.nix b/flake.nix
index a65e833..af73850 100644
--- a/flake.nix
+++ b/flake.nix
@@ -72,6 +72,7 @@
remapPathPrefix = true;
};
+
in (flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
@@ -82,6 +83,12 @@
];
};
+ dbInit = (pkgs.writeShellScript "thulani-dbinit" (builtins.readFile ./nix/dbinit.sh)).overrideAttrs (final: prev: {
+ checkPhase = ''
+ ${pkgs.shellcheck}/bin/shellcheck $out
+ '';
+ });
+
devToolchain = (mkBuildToolchain pkgs).override {
extensions = [
"rust-src"
@@ -104,13 +111,19 @@
RUST_SRC_PATH = "${devToolchain}/lib/rustlib/src/rust";
};
- packages.default = pkg;
+ packages = {
+ default = pkg;
+ inherit dbInit;
+ };
+
apps.default = {
type = "app";
program = "${pkg}/bin/thulani";
};
}) // {
- hydraJobs.thulani.x86_64-linux = self.packages.x86_64-linux.default;
+ hydraJobs = {
+ inherit (self.packages) x86_64-linux;
+ };
overlays.default = final: prev: let
withRust = ((import inputs.rust-overlay) final prev);
@@ -295,9 +308,9 @@
Type = "exec";
ExecStart = "${cfg.package}/bin/thulani";
ExecStartPre = let
- preStart = pkgs.writeShellScript "thulani-dbinit" (builtins.readFile ./nix/dbinit.sh);
+ inherit (self.packages.${pkgs.system}) dbInit;
- in lib.mkIf cfg.postgres.enable "+${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} -- ${preStart} ${config.services.postgresql.package}/bin/psql ${cfg.postgres.db} ${cfg.user}";
+ in lib.mkIf cfg.postgres.enable "+${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} -- ${dbInit} ${config.services.postgresql.package}/bin/psql ${cfg.postgres.db} ${cfg.user}";
EnvironmentFile = cfg.envFiles;