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";
|
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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 = ''
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue