diff --git a/flake.nix b/flake.nix index b887682..1935723 100644 --- a/flake.nix +++ b/flake.nix @@ -52,6 +52,30 @@ let pkgs = nixpkgs.legacyPackages."x86_64-linux"; lib = pkgs.lib; + + data-hoarder-modules = [ + ./modules/data-accumulator.nix + ./modules/nginx.nix + ./modules/public_api.nix + ./modules/map.nix + ./modules/file_sharing.nix + ./modules/options.nix + ./modules/grafana.nix + ./modules/website.nix + ./modules/documentation.nix + ./modules/base.nix + { + nixpkgs.overlays = [ + data-accumulator.overlay."x86_64-linux" + dvb-api.overlay."x86_64-linux" + windshield.overlay."x86_64-linux" + docs.overlay."x86_64-linux" + ]; + dvb-dump.stopsJson = "${stops}/stops.json"; + dvb-dump.graphJson = "${stops}/graph.json"; + } + ]; + diskModule = { config, lib, pkgs, ... }: { fileSystems."/" = { device = "/dev/disk/by-label/nixos"; @@ -97,6 +121,7 @@ ./hosts/traffic-stop-box/configuration.nix ./hosts/traffic-stop-box/hardware-configuration.nix ./hardware/configuration-dell-wyse-3040.nix + ./modules/base.nix ./modules/gnuradio.nix ./modules/radio_wireguard_client.nix ./modules/options.nix @@ -110,18 +135,13 @@ } ); - # increment this number if you want to add a new system - numberOfSystems = 10; # list of accending system numbers - #id_list = ((num: if num <= 0 then [ num ] else [ num ] ++ (id_list (num - 1))) (numberOfSystems - 1)); id_list = [ 0 1 2 3 4 ]; # list of nixos systems list_of_systems = builtins.map generate_system id_list; # attribute set of all traffic stop boxes stop_boxes = nixpkgs.lib.foldr (x: y: nixpkgs.lib.mergeAttrs x y) { } list_of_systems; - boxes = id_list; - installScript = (target: (pkgs.writeScriptBin "deploy" '' #!${pkgs.runtimeShell} ssh root@10.13.37.${toString (target + 100)} "ps cax | grep \"nixos-rebuild\" > /dev/null" @@ -141,19 +161,13 @@ (builtins.map (system: "${(installScript system)}/bin/deploy") systems)); deployAllScript = (pkgs.writeScriptBin "deploy-all" ( - '' + '' #!${pkgs.runtimeShell} -ex - ${pkgs.parallel}/bin/parallel --will-cite -j10 ::: ${deployBoxes boxes} || echo "Some deployment failed" + ${pkgs.parallel}/bin/parallel --will-cite -j10 ::: ${deployBoxes id_list} || echo "Some deployment failed" '' )); - individualScripts = lib.foldl (x: y: lib.mergeAttrs x y) {} (builtins.map (number: {"deploy-box-${toString number}" = (installScript number);}) boxes); - - - #deployScripts = pkgs.callPackage ./pkgs/deployment.nix { - # boxes = id_list; - # self = self; - #}; + individualScripts = lib.foldl (x: y: lib.mergeAttrs x y) {} (builtins.map (number: {"deploy-box-${toString number}" = (installScript number);}) id_list); packages = ({ traffic-stop-box = self.nixosConfigurations.traffic-stop-box-0.config.system.build.vm; @@ -161,7 +175,6 @@ mobile-box-vm = self.nixosConfigurations.mobile-box.config.system.build.vm; mobile-box-disk = self.nixosConfigurations.mobile-box.config.system.build.diskImage; staging-microvm = self.nixosConfigurations.staging-data-hoarder.config.microvm.declaredRunner; - } // { deploy-all = deployAllScript; } // individualScripts); in @@ -169,29 +182,7 @@ defaultPackage."x86_64-linux" = self.nixosConfigurations.traffic-stop-box-0.config.system.build.vm; packages."x86_64-linux" = packages; - nixosConfigurations = let - data-hoarder-modules = [ - ./modules/data-accumulator.nix - ./modules/nginx.nix - ./modules/public_api.nix - ./modules/map.nix - ./modules/file_sharing.nix - ./modules/options.nix - ./modules/grafana.nix - ./modules/website.nix - ./modules/documentation.nix - { - nixpkgs.overlays = [ - data-accumulator.overlay."x86_64-linux" - dvb-api.overlay."x86_64-linux" - windshield.overlay."x86_64-linux" - docs.overlay."x86_64-linux" - ]; - dvb-dump.stopsJson = "${stops}/stops.json"; - dvb-dump.graphJson = "${stops}/graph.json"; - } - ]; - in (stop_boxes // { + nixosConfigurations = stop_boxes // { mobile-box = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; @@ -200,6 +191,7 @@ ./hosts/mobile-box/configuration.nix ./hosts/mobile-box/hardware-configuration.nix ./hardware/configuration-dell-wyse-3040.nix + ./modules/base.nix ./modules/options.nix ./modules/mobile-box.nix { @@ -214,12 +206,12 @@ } ]; }; - } // { data-hoarder = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = ([ ./hosts/data-hoarder/configuration.nix + ./hosts/data-hoarder/hardware-configuration.nix ./modules/wireguard_server.nix ] ++ data-hoarder-modules); }; @@ -231,7 +223,7 @@ microvm.nixosModules.microvm ] ++ data-hoarder-modules); }; - }); + }; hydraJobs = { data-hoarder."x86_64-linux" = self.nixosConfigurations.data-hoarder.config.system.build.toplevel; diff --git a/hosts/data-hoarder/configuration.nix b/hosts/data-hoarder/configuration.nix index ebbd0bc..e9cb780 100644 --- a/hosts/data-hoarder/configuration.nix +++ b/hosts/data-hoarder/configuration.nix @@ -5,15 +5,6 @@ { config, pkgs, inputs, ... }: { - imports = - [ - # Include the results of the hardware scan. - ./hardware-configuration.nix - - # Enabled modules - ../../modules/base.nix - ]; - # Use the GRUB 2 boot loader. #boot.loader.grub.enable = true; #boot.loader.grub.version = 2; diff --git a/hosts/mobile-box/configuration.nix b/hosts/mobile-box/configuration.nix index 7bf9a3d..459cfea 100644 --- a/hosts/mobile-box/configuration.nix +++ b/hosts/mobile-box/configuration.nix @@ -5,12 +5,6 @@ { config, pkgs, inputs, ... }: { - imports = - [ - # Enabled modules - ../../modules/base.nix - ]; - boot.tmpOnTmpfs = true; diff --git a/hosts/staging/configuration.nix b/hosts/staging/configuration.nix index e78c45f..7dc19c2 100644 --- a/hosts/staging/configuration.nix +++ b/hosts/staging/configuration.nix @@ -5,12 +5,6 @@ { config, pkgs, inputs, ... }: { - imports = - [ - # Enabled modules - ../../modules/base.nix - ]; - microvm = { vcpu = 4; mem = 4096; diff --git a/hosts/traffic-stop-box/configuration.nix b/hosts/traffic-stop-box/configuration.nix index 15d0e08..337b160 100644 --- a/hosts/traffic-stop-box/configuration.nix +++ b/hosts/traffic-stop-box/configuration.nix @@ -5,12 +5,6 @@ { config, pkgs, inputs, ... }: { - imports = - [ - # Enabled modules - ../../modules/base.nix - ]; - boot.tmpOnTmpfs = true; hardware.hackrf.enable = true; diff --git a/hosts/traffic-stop-box/hardware-configuration-99.nix b/hosts/traffic-stop-box/hardware-configuration-99.nix deleted file mode 100644 index 7433013..0000000 --- a/hosts/traffic-stop-box/hardware-configuration-99.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - boot.initrd.availableKernelModules = [ "usbhid" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = { - device = "/dev/disk/by-label/NIXOS_SD"; - fsType = "ext4"; - }; - - fileSystems."/boot/firmware" = { - device = "/dev/disk/by-label/FIRMWARE"; - fsType = "vfat"; - }; - - swapDevices = [ ]; - - hardware.enableRedistributableFirmware = true; - hardware.deviceTree.enable = false; - powerManagement.cpuFreqGovernor = lib.mkDefault "performance"; -}