nixpkgs-fmt
This commit is contained in:
parent
6c292303da
commit
d777425a9c
98
flake.nix
98
flake.nix
|
@ -53,28 +53,28 @@
|
|||
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";
|
||||
}
|
||||
];
|
||||
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."/" = {
|
||||
|
@ -162,21 +162,21 @@
|
|||
|
||||
deployAllScript = (pkgs.writeScriptBin "deploy-all" (
|
||||
''
|
||||
#!${pkgs.runtimeShell} -ex
|
||||
${pkgs.parallel}/bin/parallel --will-cite -j10 ::: ${deployBoxes id_list} || echo "Some deployment failed"
|
||||
#!${pkgs.runtimeShell} -ex
|
||||
${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 = ({
|
||||
traffic-stop-box = self.nixosConfigurations.traffic-stop-box-0.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;
|
||||
staging-microvm = self.nixosConfigurations.staging-data-hoarder.config.microvm.declaredRunner;
|
||||
deploy-all = deployAllScript;
|
||||
} // individualScripts);
|
||||
traffic-stop-box = self.nixosConfigurations.traffic-stop-box-0.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;
|
||||
staging-microvm = self.nixosConfigurations.staging-data-hoarder.config.microvm.declaredRunner;
|
||||
deploy-all = deployAllScript;
|
||||
} // individualScripts);
|
||||
in
|
||||
{
|
||||
defaultPackage."x86_64-linux" = self.nixosConfigurations.traffic-stop-box-0.config.system.build.vm;
|
||||
|
@ -206,24 +206,24 @@
|
|||
}
|
||||
];
|
||||
};
|
||||
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);
|
||||
};
|
||||
staging-data-hoarder = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = ([
|
||||
./hosts/staging/configuration.nix
|
||||
microvm.nixosModules.microvm
|
||||
] ++ data-hoarder-modules);
|
||||
};
|
||||
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);
|
||||
};
|
||||
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 = {
|
||||
data-hoarder."x86_64-linux" = self.nixosConfigurations.data-hoarder.config.system.build.toplevel;
|
||||
|
|
|
@ -11,31 +11,33 @@
|
|||
hypervisor = "cloud-hypervisor";
|
||||
socket = "${config.networking.hostName}.socket";
|
||||
|
||||
interfaces = [ {
|
||||
interfaces = [{
|
||||
type = "tap";
|
||||
id = "staging-dh";
|
||||
mac = "00:de:5b:f9:e2:3d";
|
||||
} ];
|
||||
}];
|
||||
|
||||
shares = [ {
|
||||
shares = [{
|
||||
source = "/nix/store";
|
||||
mountPoint = "/nix/.ro-store";
|
||||
tag = "store";
|
||||
proto = "virtiofs";
|
||||
socket = "store.socket";
|
||||
} {
|
||||
source = "/var/lib/microvms/staging-data-hoarder/etc";
|
||||
mountPoint = "/etc";
|
||||
tag = "etc";
|
||||
proto = "virtiofs";
|
||||
socket = "etc.socket";
|
||||
} {
|
||||
source = "/var/lib/microvms/staging-data-hoarder/var";
|
||||
mountPoint = "/var";
|
||||
tag = "var";
|
||||
proto = "virtiofs";
|
||||
socket = "var.socket";
|
||||
} ];
|
||||
}
|
||||
{
|
||||
source = "/var/lib/microvms/staging-data-hoarder/etc";
|
||||
mountPoint = "/etc";
|
||||
tag = "etc";
|
||||
proto = "virtiofs";
|
||||
socket = "etc.socket";
|
||||
}
|
||||
{
|
||||
source = "/var/lib/microvms/staging-data-hoarder/var";
|
||||
mountPoint = "/var";
|
||||
tag = "var";
|
||||
proto = "virtiofs";
|
||||
socket = "var.socket";
|
||||
}];
|
||||
};
|
||||
|
||||
networking.hostName = "staging-data-hoarder"; # Define your hostname.
|
||||
|
@ -45,10 +47,10 @@
|
|||
time.timeZone = "Europe/Berlin";
|
||||
networking.interfaces.eth0 = {
|
||||
useDHCP = false;
|
||||
ipv4.addresses = [ {
|
||||
ipv4.addresses = [{
|
||||
address = "172.20.73.64";
|
||||
prefixLength = 25;
|
||||
} ];
|
||||
}];
|
||||
};
|
||||
|
||||
networking.defaultGateway = "172.20.73.1";
|
||||
|
@ -66,18 +68,18 @@
|
|||
|
||||
dvb-dump.domain = "staging.dvb.solutions";
|
||||
networking.wg-quick.interfaces.wg-dvb = {
|
||||
address = [ "10.13.37.5/32" ];
|
||||
address = [ "10.13.37.5/32" ];
|
||||
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 = [
|
||||
{
|
||||
publicKey = "WDvCObJ0WgCCZ0ORV2q4sdXblBd8pOPZBmeWr97yphY=";
|
||||
{
|
||||
publicKey = "WDvCObJ0WgCCZ0ORV2q4sdXblBd8pOPZBmeWr97yphY=";
|
||||
allowedIPs = [ "10.13.37.0/24" ];
|
||||
endpoint = "academicstrokes.com:51820";
|
||||
persistentKeepalive = 25;
|
||||
persistentKeepalive = 25;
|
||||
}
|
||||
];
|
||||
};
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"data-accumulator" = {
|
||||
enable = true;
|
||||
requires = [ "influxdb.service" ];
|
||||
after = [ "influxdb.service" ];
|
||||
after = [ "influxdb.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = ''
|
||||
|
|
|
@ -14,7 +14,7 @@ let
|
|||
{ 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
|
||||
{
|
||||
systemd = {
|
||||
|
|
|
@ -1,35 +1,36 @@
|
|||
{self, pkgs, lib, boxes}:
|
||||
{ self, pkgs, lib, boxes }:
|
||||
let
|
||||
# command which generates the update script for that specific machine
|
||||
installScript = (target: (pkgs.writeScript "deploy" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
ssh root@10.13.37.${toString (target + 100)} "ps cax | grep \"nixos-rebuild\" > /dev/null"
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "Process is running."
|
||||
exit
|
||||
else
|
||||
echo "Process is not running."
|
||||
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}
|
||||
fi
|
||||
''));
|
||||
# command which generates the update script for that specific machine
|
||||
installScript = (target: (pkgs.writeScript "deploy" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
ssh root@10.13.37.${toString (target + 100)} "ps cax | grep \"nixos-rebuild\" > /dev/null"
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "Process is running."
|
||||
exit
|
||||
else
|
||||
echo "Process is not running."
|
||||
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}
|
||||
fi
|
||||
''));
|
||||
|
||||
# concatanes commands together
|
||||
deployBoxes = (systems: lib.strings.concatStringsSep " "
|
||||
(builtins.map (system: "${(installScript system)}") systems));
|
||||
# concatanes commands together
|
||||
deployBoxes = (systems: lib.strings.concatStringsSep " "
|
||||
(builtins.map (system: "${(installScript system)}") systems));
|
||||
|
||||
deployAllScript = (pkgs.writeScript "deploy-all" (
|
||||
''
|
||||
deployAllScript = (pkgs.writeScript "deploy-all" (
|
||||
''
|
||||
#!${pkgs.runtimeShell} -ex
|
||||
${pkgs.parallel}/bin/parallel --citation
|
||||
${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;
|
||||
}) #individualScripts
|
||||
|
||||
|
|
Loading…
Reference in New Issue