infrastructure

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit d835c285266d513c604e0b516cee7aea1a0b4338
parent d61feee579c05081ae68365654f009e815cbeff5
Author: Silas Brack <silasbrack@gmail.com>
Date:   Mon, 14 Oct 2024 21:50:54 +0200

Finally fix VM and build

Diffstat:
Mapps/my_app/flake.nix | 2+-
Mapps/my_app/vm.nix | 107+++++++++++++++++++++++++++++++++++++------------------------------------------
2 files changed, 51 insertions(+), 58 deletions(-)

diff --git a/apps/my_app/flake.nix b/apps/my_app/flake.nix @@ -54,7 +54,7 @@ nixosConfigurations.vm = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ - (import ./vm.nix) + (import ./vm.nix ( { pkgs = import nixpkgs {}; lib = nixpkgs.lib; my_app = self.packages."x86_64-linux".default; } )) nixos-shell.nixosModules.nixos-shell ]; }; diff --git a/apps/my_app/vm.nix b/apps/my_app/vm.nix @@ -1,63 +1,56 @@ -# { -# inputs = { -# my_app.url = "path:."; -# nixos-shell.url = "github:Mic92/nixos-shell"; -# }; -# outputs.nixosConfigurations = { pkgs, lib, my_app, ... }: - let - port = 8008; - pg_port = 44537; - in { - system.stateVersion = "24.11"; +let + port = 8008; + pg_port = 44537; +in { + system.stateVersion = "24.11"; - environment.sessionVariables = rec { - PORT = port; - PG_PORT = pg_port; - }; + environment.sessionVariables = rec { + PORT = port; + PG_PORT = pg_port; + }; - imports = [ ./module.nix ]; + imports = [ ./module.nix ]; - services.my_app = { - enable = true; - package = my_app.packages."x86_64-linux".default; - port = port; - }; - # virtualisation.forwardPorts = [ port ]; + services.my_app = { + enable = true; + package = my_app; + port = port; + }; + virtualisation.forwardPorts = [ { from = "host"; host.port = port; guest.port = port; } ]; - # Enable postgres - services.postgresql = { - enable = true; - package = pkgs.postgresql_16; - extraPlugins = ps: with ps; [ pgvector ]; - ensureDatabases = [ "mydb" ]; - ensureUsers = [ - { - name = "datascientist"; - } - { - name = "silas"; - } - ]; - authentication = pkgs.lib.mkOverride 10 '' - #TYPE DATABASE USER AUTH-METHOD OPTIONAL_IDENT_MAP - local all all peer map=superuser_map - #TYPE DATABASE USER ADDRESS AUTH-METHOD - host all all 127.0.0.1/32 trust - host all all ::1/128 trust - ''; - identMap = '' - # MAPNAME SYSTEM-USERNAME PG-USERNAME - superuser_map root postgres - superuser_map postgres postgres - superuser_map /^(.*)$ \1 - ''; - initialScript = pkgs.writeText "backend-initScript" '' - GRANT ALL PRIVILEGES ON DATABASE mydb TO silas; - ''; - settings = { - port = lib.mkForce pg_port; - }; + # Enable postgres + services.postgresql = { + enable = true; + package = pkgs.postgresql_16; + extraPlugins = ps: with ps; [ pgvector ]; + ensureDatabases = [ "mydb" ]; + ensureUsers = [ + { + name = "datascientist"; + } + { + name = "silas"; + } + ]; + authentication = pkgs.lib.mkOverride 10 '' + #TYPE DATABASE USER AUTH-METHOD OPTIONAL_IDENT_MAP + local all all peer map=superuser_map + #TYPE DATABASE USER ADDRESS AUTH-METHOD + host all all 127.0.0.1/32 trust + host all all ::1/128 trust + ''; + identMap = '' + # MAPNAME SYSTEM-USERNAME PG-USERNAME + superuser_map root postgres + superuser_map postgres postgres + superuser_map /^(.*)$ \1 + ''; + initialScript = pkgs.writeText "backend-initScript" '' + GRANT ALL PRIVILEGES ON DATABASE mydb TO silas; + ''; + settings = { + port = pkgs.lib.mkForce pg_port; }; - } -# } + }; +}