From 461c2c02baf5e2fa2417492039e5861c29284368 Mon Sep 17 00:00:00 2001 From: Anish Lakhwara Date: Mon, 11 Jul 2022 15:51:32 +1000 Subject: [PATCH] create broken nixosContainer because java deps and no networking --- flake.nix | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 1aef17d..f3b2a1b 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,19 @@ pkgs = nixpkgs.legacyPackages.x86_64-linux; in { + + packages.x86_64-linux.dhyan = pkgs.stdenv.mkDerivation { + name = "dhyan"; + src = ./.; + installPhase = '' + mkdir -p $out + cp -r src/ $out/ + cp bb.edn $out/ + cp deps.edn $out/ + ''; + }; + + defaultPackage.x86_64-linux = self.packages.x86_64-linux.dhyan; nixosModule = { options, lib, config, pkgs, ... }: let serviceConfig = config.services.mossnet.dhyan; @@ -24,17 +37,35 @@ ''; wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "oneshot"; }; - startsAt = "*08:00:00"; - path = with pkgs; [ babashka jdk11 ]; + startAt = "*08:00:00"; + path = with pkgs; [ babashka jdk11 self.packages.x86_64-linux.dhyan ]; script = '' set -ex - cd ~/usr/dhyan + cd ${self.packages.x86_64-linux.dhyan} bb -m dhyan.main ''; }; }; }; + + nixosConfigurations."test" = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + self.nixosModule + ({ pkgs, ... }: { + boot.isContainer = true; + networking.hostName = "dhyan"; + services.mossnet.dhyan.enable = true; + # we need network to download java deps handled by bb + # but we also need to tell network manager locally not to manage this interface + # TODO + # networking.nat.enable = true; + # networking.nat.internalInterfaces = [ "ve-+" ]; + # networking.nat.externalInterface = "wlp3s0"; # Change this if it changes + }) + ]; + }; devShell.x86_64-linux = pkgs.mkShell { buildInputs = with pkgs; [ jdk11