forked from Fediversity/Fediversity
pass in description fix syntax configure proxmox provider typo add doc comment in existing modules add comment allow insecure proxmox connection for use in dev wip proxmox progress use service configurations moved to machine-independent location wire settings directly without option block terraform adjust cwd try tf on null input update .envrc.sample with sample proxmox credentials
58 lines
1.6 KiB
Nix
58 lines
1.6 KiB
Nix
{
|
|
system ? builtins.currentSystem,
|
|
sources ? import ../npins,
|
|
pkgs ? import sources.nixpkgs {
|
|
inherit system;
|
|
config = { };
|
|
overlays = [ (import ./nix/overlay.nix) ];
|
|
},
|
|
}:
|
|
let
|
|
inherit (pkgs) lib;
|
|
manage = pkgs.writeScriptBin "manage" ''
|
|
exec ${pkgs.lib.getExe pkgs.python3} ${toString ./src/manage.py} $@
|
|
'';
|
|
package = pkgs.callPackage ./nix/package.nix { };
|
|
in
|
|
{
|
|
shell = pkgs.mkShellNoCC {
|
|
inputsFrom = [ package ];
|
|
packages = [
|
|
pkgs.npins
|
|
manage
|
|
];
|
|
env =
|
|
let
|
|
inherit (builtins) toString;
|
|
in
|
|
import ./env.nix { inherit lib pkgs; }
|
|
// {
|
|
NPINS_DIRECTORY = toString ../npins;
|
|
CREDENTIALS_DIRECTORY = toString ./.credentials;
|
|
DATABASE_URL = "sqlite:///${toString ./src}/db.sqlite3";
|
|
# locally: use a fixed relative reference, so we can use our newest files without copying to the store
|
|
REPO_DIR = toString ../.;
|
|
};
|
|
shellHook = ''
|
|
${lib.concatStringsSep "\n" (
|
|
map (file: "ln -sf ${file.from} ${toString ./src/${file.to}}") package.generated
|
|
)}
|
|
|
|
# in production, secrets are passed via CREDENTIALS_DIRECTORY by systemd.
|
|
# use this directory for testing with local secrets
|
|
mkdir -p $CREDENTIALS_DIRECTORY
|
|
echo secret > ${builtins.toString ./.credentials}/SECRET_KEY
|
|
'';
|
|
};
|
|
|
|
module = import ./nix/configuration.nix;
|
|
tests = pkgs.callPackage ./nix/tests.nix { };
|
|
|
|
# re-export inputs so they can be overridden granularly
|
|
# (they can't be accessed from the outside any other way)
|
|
inherit
|
|
sources
|
|
system
|
|
pkgs
|
|
;
|
|
}
|