nixpkgs-fmt

This commit is contained in:
oxapentane - 2022-05-28 21:24:15 +02:00
parent 6c292303da
commit d777425a9c
Signed by: oxapentane
GPG Key ID: 91FA5E5BF9AA901C
5 changed files with 102 additions and 99 deletions

View File

@ -53,28 +53,28 @@
pkgs = nixpkgs.legacyPackages."x86_64-linux"; pkgs = nixpkgs.legacyPackages."x86_64-linux";
lib = pkgs.lib; lib = pkgs.lib;
data-hoarder-modules = [ data-hoarder-modules = [
./modules/data-accumulator.nix ./modules/data-accumulator.nix
./modules/nginx.nix ./modules/nginx.nix
./modules/public_api.nix ./modules/public_api.nix
./modules/map.nix ./modules/map.nix
./modules/file_sharing.nix ./modules/file_sharing.nix
./modules/options.nix ./modules/options.nix
./modules/grafana.nix ./modules/grafana.nix
./modules/website.nix ./modules/website.nix
./modules/documentation.nix ./modules/documentation.nix
./modules/base.nix ./modules/base.nix
{ {
nixpkgs.overlays = [ nixpkgs.overlays = [
data-accumulator.overlay."x86_64-linux" data-accumulator.overlay."x86_64-linux"
dvb-api.overlay."x86_64-linux" dvb-api.overlay."x86_64-linux"
windshield.overlay."x86_64-linux" windshield.overlay."x86_64-linux"
docs.overlay."x86_64-linux" docs.overlay."x86_64-linux"
]; ];
dvb-dump.stopsJson = "${stops}/stops.json"; dvb-dump.stopsJson = "${stops}/stops.json";
dvb-dump.graphJson = "${stops}/graph.json"; dvb-dump.graphJson = "${stops}/graph.json";
} }
]; ];
diskModule = { config, lib, pkgs, ... }: { diskModule = { config, lib, pkgs, ... }: {
fileSystems."/" = { fileSystems."/" = {
@ -162,21 +162,21 @@
deployAllScript = (pkgs.writeScriptBin "deploy-all" ( deployAllScript = (pkgs.writeScriptBin "deploy-all" (
'' ''
#!${pkgs.runtimeShell} -ex #!${pkgs.runtimeShell} -ex
${pkgs.parallel}/bin/parallel --will-cite -j10 ::: ${deployBoxes id_list} || 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);}) id_list); individualScripts = lib.foldl (x: y: lib.mergeAttrs x y) { } (builtins.map (number: { "deploy-box-${toString number}" = (installScript number); }) id_list);
packages = ({ packages = ({
traffic-stop-box = self.nixosConfigurations.traffic-stop-box-0.config.system.build.vm; traffic-stop-box = self.nixosConfigurations.traffic-stop-box-0.config.system.build.vm;
data-hoarder = self.nixosConfigurations.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-vm = self.nixosConfigurations.mobile-box.config.system.build.vm;
mobile-box-disk = self.nixosConfigurations.mobile-box.config.system.build.diskImage; mobile-box-disk = self.nixosConfigurations.mobile-box.config.system.build.diskImage;
staging-microvm = self.nixosConfigurations.staging-data-hoarder.config.microvm.declaredRunner; staging-microvm = self.nixosConfigurations.staging-data-hoarder.config.microvm.declaredRunner;
deploy-all = deployAllScript; deploy-all = deployAllScript;
} // individualScripts); } // individualScripts);
in in
{ {
defaultPackage."x86_64-linux" = self.nixosConfigurations.traffic-stop-box-0.config.system.build.vm; defaultPackage."x86_64-linux" = self.nixosConfigurations.traffic-stop-box-0.config.system.build.vm;
@ -206,24 +206,24 @@
} }
]; ];
}; };
data-hoarder = nixpkgs.lib.nixosSystem { data-hoarder = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = ([ modules = ([
./hosts/data-hoarder/configuration.nix ./hosts/data-hoarder/configuration.nix
./hosts/data-hoarder/hardware-configuration.nix ./hosts/data-hoarder/hardware-configuration.nix
./modules/wireguard_server.nix ./modules/wireguard_server.nix
] ++ data-hoarder-modules); ] ++ data-hoarder-modules);
};
staging-data-hoarder = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = ([
./hosts/staging/configuration.nix
microvm.nixosModules.microvm
] ++ data-hoarder-modules);
};
}; };
staging-data-hoarder = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = ([
./hosts/staging/configuration.nix
microvm.nixosModules.microvm
] ++ data-hoarder-modules);
};
};
hydraJobs = { hydraJobs = {
data-hoarder."x86_64-linux" = self.nixosConfigurations.data-hoarder.config.system.build.toplevel; data-hoarder."x86_64-linux" = self.nixosConfigurations.data-hoarder.config.system.build.toplevel;

View File

@ -11,31 +11,33 @@
hypervisor = "cloud-hypervisor"; hypervisor = "cloud-hypervisor";
socket = "${config.networking.hostName}.socket"; socket = "${config.networking.hostName}.socket";
interfaces = [ { interfaces = [{
type = "tap"; type = "tap";
id = "staging-dh"; id = "staging-dh";
mac = "00:de:5b:f9:e2:3d"; mac = "00:de:5b:f9:e2:3d";
} ]; }];
shares = [ { shares = [{
source = "/nix/store"; source = "/nix/store";
mountPoint = "/nix/.ro-store"; mountPoint = "/nix/.ro-store";
tag = "store"; tag = "store";
proto = "virtiofs"; proto = "virtiofs";
socket = "store.socket"; socket = "store.socket";
} { }
source = "/var/lib/microvms/staging-data-hoarder/etc"; {
mountPoint = "/etc"; source = "/var/lib/microvms/staging-data-hoarder/etc";
tag = "etc"; mountPoint = "/etc";
proto = "virtiofs"; tag = "etc";
socket = "etc.socket"; proto = "virtiofs";
} { socket = "etc.socket";
source = "/var/lib/microvms/staging-data-hoarder/var"; }
mountPoint = "/var"; {
tag = "var"; source = "/var/lib/microvms/staging-data-hoarder/var";
proto = "virtiofs"; mountPoint = "/var";
socket = "var.socket"; tag = "var";
} ]; proto = "virtiofs";
socket = "var.socket";
}];
}; };
networking.hostName = "staging-data-hoarder"; # Define your hostname. networking.hostName = "staging-data-hoarder"; # Define your hostname.
@ -45,10 +47,10 @@
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
networking.interfaces.eth0 = { networking.interfaces.eth0 = {
useDHCP = false; useDHCP = false;
ipv4.addresses = [ { ipv4.addresses = [{
address = "172.20.73.64"; address = "172.20.73.64";
prefixLength = 25; prefixLength = 25;
} ]; }];
}; };
networking.defaultGateway = "172.20.73.1"; networking.defaultGateway = "172.20.73.1";
@ -66,18 +68,18 @@
dvb-dump.domain = "staging.dvb.solutions"; dvb-dump.domain = "staging.dvb.solutions";
networking.wg-quick.interfaces.wg-dvb = { networking.wg-quick.interfaces.wg-dvb = {
address = [ "10.13.37.5/32" ]; address = [ "10.13.37.5/32" ];
privateKeyFile = "/var/wg-seckey"; privateKeyFile = "/var/wg-seckey";
postUp = '' ${pkgs.iputils}/bin/ping -c 10 10.13.37.1 || true ''; postUp = '' ${pkgs.iputils}/bin/ping -c 10 10.13.37.1 || true '';
peers = [ peers = [
{ {
publicKey = "WDvCObJ0WgCCZ0ORV2q4sdXblBd8pOPZBmeWr97yphY="; publicKey = "WDvCObJ0WgCCZ0ORV2q4sdXblBd8pOPZBmeWr97yphY=";
allowedIPs = [ "10.13.37.0/24" ]; allowedIPs = [ "10.13.37.0/24" ];
endpoint = "academicstrokes.com:51820"; endpoint = "academicstrokes.com:51820";
persistentKeepalive = 25; persistentKeepalive = 25;
} }
]; ];
}; };
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default

View File

@ -8,7 +8,7 @@
"data-accumulator" = { "data-accumulator" = {
enable = true; enable = true;
requires = [ "influxdb.service" ]; requires = [ "influxdb.service" ];
after = [ "influxdb.service" ]; after = [ "influxdb.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
script = '' script = ''

View File

@ -14,7 +14,7 @@ let
{ frequency = "170795000"; offset = "19550"; device = "hackrf=0"; } # dresden unused { frequency = "170795000"; offset = "19550"; device = "hackrf=0"; } # dresden unused
]; ];
receiver = pkgs.gnuradio-decode.override(lib.elemAt receiver_config config.dvb-dump.systemNumber); receiver = pkgs.gnuradio-decode.override (lib.elemAt receiver_config config.dvb-dump.systemNumber);
in in
{ {
systemd = { systemd = {

View File

@ -1,35 +1,36 @@
{self, pkgs, lib, boxes}: { self, pkgs, lib, boxes }:
let let
# command which generates the update script for that specific machine # command which generates the update script for that specific machine
installScript = (target: (pkgs.writeScript "deploy" '' installScript = (target: (pkgs.writeScript "deploy" ''
#!${pkgs.runtimeShell} #!${pkgs.runtimeShell}
ssh root@10.13.37.${toString (target + 100)} "ps cax | grep \"nixos-rebuild\" > /dev/null" ssh root@10.13.37.${toString (target + 100)} "ps cax | grep \"nixos-rebuild\" > /dev/null"
if [ $? -eq 0 ] if [ $? -eq 0 ]
then then
echo "Process is running." echo "Process is running."
exit exit
else else
echo "Process is not running." echo "Process is not running."
nix copy --to ssh://root@10.13.37.${toString (target + 100)} ${self} nix copy --to ssh://root@10.13.37.${toString (target + 100)} ${self}
ssh root@10.13.37.${toString (target + 100)} -- nixos-rebuild switch --flake ${self}#traffic-stop-box-${toString target} ssh root@10.13.37.${toString (target + 100)} -- nixos-rebuild switch --flake ${self}#traffic-stop-box-${toString target}
fi fi
'')); ''));
# concatanes commands together # concatanes commands together
deployBoxes = (systems: lib.strings.concatStringsSep " " deployBoxes = (systems: lib.strings.concatStringsSep " "
(builtins.map (system: "${(installScript system)}") systems)); (builtins.map (system: "${(installScript system)}") systems));
deployAllScript = (pkgs.writeScript "deploy-all" ( deployAllScript = (pkgs.writeScript "deploy-all" (
'' ''
#!${pkgs.runtimeShell} -ex #!${pkgs.runtimeShell} -ex
${pkgs.parallel}/bin/parallel --citation ${pkgs.parallel}/bin/parallel --citation
${pkgs.parallel}/bin/parallel -j10 ::: ${deployBoxes boxes} || echo "Some deployment failed" ${pkgs.parallel}/bin/parallel -j10 ::: ${deployBoxes boxes} || echo "Some deployment failed"
'' ''
)); ));
individualScripts = lib.foldl (x: y: lib.mergeAttrs x y) {} (builtins.map (number: {"deploy-box-${toString number}" = (installScript number);}) boxes); individualScripts = lib.foldl (x: y: lib.mergeAttrs x y) { } (builtins.map (number: { "deploy-box-${toString number}" = (installScript number); }) boxes);
in ({ in
({
deploy-all = deployAllScript; deploy-all = deployAllScript;
}) #individualScripts }) #individualScripts