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:
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;
};
- }
-# }
+ };
+}