From dcb34d2449b734224a9b08306cced02a4164ab77 Mon Sep 17 00:00:00 2001 From: revol-xut Date: Sun, 25 Sep 2022 21:36:26 +0200 Subject: [PATCH] muensterbox --- .sops.yaml | 9 ++++++ configs/config_6.json | 7 +++++ configs/mobile_box_muenster.json | 7 +++++ flake.nix | 48 +++++++++++++++++++++----------- modules/mobile-box/muenster.nix | 31 +++++++++++++++++++++ 5 files changed, 86 insertions(+), 16 deletions(-) create mode 100644 configs/config_6.json create mode 100644 configs/mobile_box_muenster.json create mode 100644 modules/mobile-box/muenster.nix diff --git a/.sops.yaml b/.sops.yaml index 0356214..37ede0a 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -106,3 +106,12 @@ creation_rules: - *admin_marenz-2 age: - *traffic-stop-box-4 + - path_regex: secrets/traffic-stop-box-6/[^/]+\.yaml$ + key_groups: + - pgp: + - *admin_oxa + - *admin_revol-xut + - *admin_marenz-1 + - *admin_marenz-2 + age: + - *traffic-stop-box-4 diff --git a/configs/config_6.json b/configs/config_6.json new file mode 100644 index 0000000..f50db20 --- /dev/null +++ b/configs/config_6.json @@ -0,0 +1,7 @@ +{ + "name": "Warpzone", + "lat": 51.027105, + "lon": 13.723606, + "id": "64afe4d2-c834-44f2-926f-da6e7533f237", + "region": 0 +} diff --git a/configs/mobile_box_muenster.json b/configs/mobile_box_muenster.json new file mode 100644 index 0000000..555616f --- /dev/null +++ b/configs/mobile_box_muenster.json @@ -0,0 +1,7 @@ +{ + "name": "Mobile", + "lat": 0, + "lon": 0, + "id": "00000000-0000-0000-0000-000000000000", + "region": 0 +} diff --git a/flake.nix b/flake.nix index c00194b..8545812 100644 --- a/flake.nix +++ b/flake.nix @@ -149,8 +149,10 @@ traffic-stop-box = self.nixosConfigurations.traffic-stop-box-0.config.system.build.vm; staging-data-hoarder = self.nixosConfigurations.staging-data-hoarder.config.system.build.vm; data-hoarder = self.nixosConfigurations.data-hoarder.config.system.build.vm; - mobile-box-vm = self.nixosConfigurations.mobile-box.config.system.build.vm; - mobile-box-disk = self.nixosConfigurations.mobile-box.config.system.build.diskImage; + mobile-box-dresden-vm = self.nixosConfigurations.mobile-box-dresden.config.system.build.vm; + mobile-box-dresden-disk = self.nixosConfigurations.mobile-box-dresden.config.system.build.diskImage; + mobile-box-muenster-vm = self.nixosConfigurations.mobile-box-muenster.config.system.build.vm; + mobile-box-muenster-disk = self.nixosConfigurations.mobile-box-muenster.config.system.build.diskImage; staging-microvm = self.nixosConfigurations.staging-data-hoarder.config.microvm.declaredRunner; data-hoarder-microvm = self.nixosConfigurations.data-hoarder.config.microvm.declaredRunner; docs = pkgs.callPackage ./pkgs/documentation.nix { @@ -159,30 +161,44 @@ }).optionsCommonMark; }; } // (import ./pkgs/deployment.nix { inherit self pkgs; systems = stop_boxes; }); + + mobile-box-modules = [ + dump-dvb.nixosModules.disk-module + dump-dvb.nixosModules.default + ./hosts/mobile-box/configuration.nix + ./hosts/mobile-box/hardware-configuration.nix + ./hardware/dell-wyse-3040.nix + ./modules/base.nix + ./modules/user-stop-box/user.nix + ./modules/dump-dvb + sops-nix.nixosModules.sops + ]; in { packages."x86_64-linux" = packages; nixosConfigurations = stop_boxes // { - mobile-box = nixpkgs.lib.nixosSystem { + mobile-box-dresden = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = inputs; - modules = [ - dump-dvb.nixosModules.disk-module - dump-dvb.nixosModules.default - ./hosts/mobile-box/configuration.nix - ./hosts/mobile-box/hardware-configuration.nix - ./hardware/dell-wyse-3040.nix - ./modules/base.nix - ./modules/user-stop-box/user.nix - ./modules/mobile-box/dresden.nix - ./modules/dump-dvb - sops-nix.nixosModules.sops + modules = mobile-box-modules ++ [ + ./modules/mobile-box/dresden.nix { - dump-dvb.telegramDecoder.configFile = "${self}/configs/mobile_box.json"; + dump-dvb.telegramDecoder.configFile = "${self}/configs/mobile_box_dresden.json"; } ]; }; + mobile-box-muenster = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = inputs; + modules = mobile-box-modules ++ [ + ./modules/mobile-box/muenster.nix + { + dump-dvb.telegramDecoder.configFile = "${self}/configs/mobile_box_muenster.json"; + } + ]; + }; + data-hoarder = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = inputs; @@ -218,7 +234,7 @@ hydraJobs = (lib.mapAttrs (name: value: { ${value.config.system.build.toplevel.system} = value.config.system.build.toplevel; }) self.nixosConfigurations) // { traffic-stop-box-3-disk."aarch64-linux" = self.nixosConfigurations.traffic-stop-box-3.config.system.build.sdImage; - mobile-box-disk."x86_64-linux" = self.nixosConfigurations.mobile-box.config.system.build.diskImage; + mobile-box-disk."x86_64-linux" = self.nixosConfigurations.mobile-box-dresden.config.system.build.diskImage; display-disk."x86_64-linux" = self.nixosConfigurations.display.config.system.build.diskImage; sops-binaries."x86_64-linux" = sops-nix.packages."x86_64-linux".sops-install-secrets; }; diff --git a/modules/mobile-box/muenster.nix b/modules/mobile-box/muenster.nix new file mode 100644 index 0000000..a5cf8a0 --- /dev/null +++ b/modules/mobile-box/muenster.nix @@ -0,0 +1,31 @@ +{ pkgs, config, ... }: +{ + dump-dvb = { + gnuradio = { + enable = true; + device = ""; + frequency = 150852000; + offset = 20000; + RF = 14; + IF = 32; + BB = 42; + }; + telegramDecoder = { + enable = true; + server = [ "http://127.0.0.1:8080" ]; + offline = true; + }; + }; + networking.firewall.allowedTCPPorts = [ 80 config.dump-dvb.wartrammer.port ]; + dump-dvb.wartrammer.enable = true; + systemd.services."start-wifi-hotspot" = { + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "simple"; + }; + script = '' + ${pkgs.linux-router}/bin/lnxrouter --ap wlp0s20u2 dump-dvb -g 10.3.141.1 -p trolling-dvb + ''; + }; + +}