mirror of
https://github.com/dump-dvb/nix-config.git
synced 2024-06-20 06:36:02 +02:00
refactor nix configs (#2)
This commit is contained in:
parent
ded5252cb2
commit
c038b5a0e6
72
flake.nix
72
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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -5,12 +5,6 @@
|
|||
{ config, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
# Enabled modules
|
||||
../../modules/base.nix
|
||||
];
|
||||
|
||||
boot.tmpOnTmpfs = true;
|
||||
|
||||
|
||||
|
|
|
@ -5,12 +5,6 @@
|
|||
{ config, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
# Enabled modules
|
||||
../../modules/base.nix
|
||||
];
|
||||
|
||||
microvm = {
|
||||
vcpu = 4;
|
||||
mem = 4096;
|
||||
|
|
|
@ -5,12 +5,6 @@
|
|||
{ config, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
# Enabled modules
|
||||
../../modules/base.nix
|
||||
];
|
||||
|
||||
boot.tmpOnTmpfs = true;
|
||||
|
||||
hardware.hackrf.enable = true;
|
||||
|
|
|
@ -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";
|
||||
}
|
Loading…
Reference in New Issue
Block a user