init new repo
This commit is contained in:
@@ -0,0 +1,225 @@
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
disko.url = "github:nix-community/disko";
|
||||
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nixos-facter-modules.url = "github:numtide/nixos-facter-modules";
|
||||
rhemawave.url = "git+https://codeberg.org/RhemaWave-Technologies/RhemaWave.git";
|
||||
rhemawave-dev.url = "git+https://codeberg.org/RhemaWave-Technologies/RhemaWave.git?ref=dev";
|
||||
nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi/main";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
disko,
|
||||
nixos-facter-modules,
|
||||
rhemawave,
|
||||
rhemawave-dev,
|
||||
nixos-raspberrypi,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
|
||||
mkKioskSystem = { system, rhemawave, upgradeFlakeRef, extraModules ? [], diskModule, enableAutoUpgrade ? true, extraSpecialArgs ? {}}:
|
||||
nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
|
||||
specialArgs = {
|
||||
inherit rhemawave;
|
||||
inherit upgradeFlakeRef;
|
||||
} // extraSpecialArgs;
|
||||
|
||||
modules = [
|
||||
./configuration.nix
|
||||
disko.nixosModules.disko
|
||||
diskModule
|
||||
nixos-facter-modules.nixosModules.facter
|
||||
{ facter.reportPath = ./facter.json; }
|
||||
rhemawave.nixosModules.default
|
||||
] ++ extraModules;
|
||||
};
|
||||
|
||||
mkRpiKioskSystem = { rhemawave, upgradeFlakeRef, extraModules ? [], enableAutoUpgrade ? true }:
|
||||
nixos-raspberrypi.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit rhemawave upgradeFlakeRef;
|
||||
inherit nixos-raspberrypi;
|
||||
};
|
||||
|
||||
modules = [
|
||||
({ ... }: {
|
||||
imports = with nixos-raspberrypi.nixosModules; [
|
||||
sd-image
|
||||
raspberry-pi-5.base
|
||||
raspberry-pi-5.page-size-16k
|
||||
raspberry-pi-5.display-vc4
|
||||
];
|
||||
})
|
||||
./configuration.nix
|
||||
rhemawave.nixosModules.default
|
||||
{
|
||||
# system.autoUpgrade = {
|
||||
# enable = enableAutoUpgrade;
|
||||
# flake = upgradeFlakeRef;
|
||||
# dates = "*:00/10";
|
||||
# allowReboot = true;
|
||||
# flags = [ "--refresh" ];
|
||||
# };
|
||||
boot.loader.systemd-boot.enable = nixpkgs.lib.mkForce false;
|
||||
boot.loader.efi.canTouchEfiVariables = nixpkgs.lib.mkForce false;
|
||||
boot.loader.raspberry-pi.bootloader = "kernel";
|
||||
|
||||
nix.settings.extra-substituters = [
|
||||
"https://nixos-raspberrypi.cachix.org"
|
||||
];
|
||||
nix.settings.extra-trusted-public-keys = [
|
||||
"nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
|
||||
];
|
||||
}
|
||||
] ++ extraModules;
|
||||
};
|
||||
in
|
||||
{
|
||||
packages.x86_64-linux.rhemawavekiosk = self.nixosConfigurations.rhemawavekiosk.config.system.build.toplevel;
|
||||
packages.x86_64-linux.rhemawavekiosk-dev = self.nixosConfigurations.rhemawavekiosk-dev.config.system.build.toplevel;
|
||||
packages.x86_64-linux.rhemawavekiosk-commercial = self.nixosConfigurations.rhemawavekiosk-commercial.config.system.build.toplevel;
|
||||
packages.x86_64-linux.rhemawavekiosk-android = self.nixosConfigurations.rhemawavekiosk-android.config.system.build.toplevel;
|
||||
nixosConfigurations = {
|
||||
rhemawavekiosk = mkKioskSystem {
|
||||
system = "x86_64-linux";
|
||||
rhemawave = rhemawave;
|
||||
diskModule = ./disk-config.nix;
|
||||
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk";
|
||||
extraModules = [];
|
||||
};
|
||||
rhemawavekiosk-dev = mkKioskSystem {
|
||||
system = "x86_64-linux";
|
||||
rhemawave = rhemawave-dev;
|
||||
diskModule = ./disk-config.nix;
|
||||
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git?ref=dev#rhemawavekiosk-dev";
|
||||
extraModules = [];
|
||||
};
|
||||
rhemawavekiosk-commercial = mkKioskSystem {
|
||||
system = "x86_64-linux";
|
||||
rhemawave = rhemawave;
|
||||
diskModule = ./commercial-disk-config.nix;
|
||||
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk-commercial";
|
||||
extraModules = [];
|
||||
};
|
||||
rhemawavekiosk-commercial-dev = mkKioskSystem {
|
||||
system = "x86_64-linux";
|
||||
rhemawave = rhemawave;
|
||||
diskModule = ./commercial-disk-config.nix;
|
||||
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git?ref=dev#rhemawavekiosk-commercial";
|
||||
extraModules = [];
|
||||
};
|
||||
rhemawavekiosk-android = mkKioskSystem {
|
||||
system = "x86_64-linux";
|
||||
rhemawave = rhemawave;
|
||||
diskModule = ./disk-config.nix;
|
||||
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk-android";
|
||||
extraModules = [./rotated_display.nix ];
|
||||
};
|
||||
rhemawavekiosk-rpi = mkRpiKioskSystem {
|
||||
rhemawave = rhemawave;
|
||||
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk-rpi";
|
||||
};
|
||||
rhemawavekiosk-rpi-dev = mkRpiKioskSystem {
|
||||
rhemawave = rhemawave-dev;
|
||||
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git?ref=dev#rhemawavekiosk-rpi-dev";
|
||||
};
|
||||
usb-iso = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
inherit self;
|
||||
};
|
||||
modules = [
|
||||
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
|
||||
disko.nixosModules.disko
|
||||
./iso-config.nix
|
||||
./disk-config.nix
|
||||
({ pkgs, ... }: {
|
||||
environment.systemPackages = [
|
||||
disko.packages.${system}.default
|
||||
];
|
||||
isoImage.storeContents = [
|
||||
self.packages.x86_64-linux.rhemawavekiosk
|
||||
];
|
||||
environment.etc."disko-config.nix".source = ./disk-config.nix;
|
||||
})
|
||||
];
|
||||
};
|
||||
commercial-usb-iso = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
inherit self;
|
||||
};
|
||||
modules = [
|
||||
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
|
||||
disko.nixosModules.disko
|
||||
./commercial-iso-config.nix
|
||||
./commercial-disk-config.nix
|
||||
({ pkgs, ... }: {
|
||||
environment.systemPackages = [
|
||||
disko.packages.${system}.default
|
||||
];
|
||||
isoImage.storeContents = [
|
||||
self.packages.x86_64-linux.rhemawavekiosk-commercial
|
||||
];
|
||||
environment.etc."disko-config.nix".source = ./commercial-disk-config.nix;
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
android-iso = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
inherit self;
|
||||
};
|
||||
modules = [
|
||||
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
|
||||
disko.nixosModules.disko
|
||||
./iso-config.nix
|
||||
./disk-config.nix
|
||||
({ pkgs, ... }: {
|
||||
environment.systemPackages = [
|
||||
disko.packages.${system}.default
|
||||
];
|
||||
isoImage.storeContents = [
|
||||
self.packages.x86_64-linux.rhemawavekiosk-android
|
||||
];
|
||||
environment.etc."disko-config.nix".source = ./disk-config.nix;
|
||||
})
|
||||
];
|
||||
};
|
||||
dev-iso = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
inherit self;
|
||||
};
|
||||
modules = [
|
||||
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
|
||||
disko.nixosModules.disko
|
||||
./dev-iso.nix
|
||||
./disk-config.nix
|
||||
({ pkgs, ... }: {
|
||||
environment.systemPackages = [
|
||||
disko.packages.${system}.default
|
||||
];
|
||||
isoImage.storeContents = [
|
||||
self.packages.x86_64-linux.rhemawavekiosk-dev
|
||||
];
|
||||
environment.etc."disko-config.nix".source = ./disk-config.nix;
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user