mirror of
https://git.pvv.ntnu.no/Drift/pvv-nixos-config.git
synced 2026-02-11 20:50:03 +01:00
WIP: cross compile skrott
This commit is contained in:
50
flake.nix
50
flake.nix
@@ -69,8 +69,7 @@
|
|||||||
in {
|
in {
|
||||||
inputs = lib.mapAttrs (_: src: src.outPath) inputs;
|
inputs = lib.mapAttrs (_: src: src.outPath) inputs;
|
||||||
|
|
||||||
pkgs = forAllSystems (system:
|
pkgs = forAllSystems (system: import nixpkgs {
|
||||||
import nixpkgs {
|
|
||||||
inherit system;
|
inherit system;
|
||||||
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg)
|
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg)
|
||||||
[
|
[
|
||||||
@@ -80,26 +79,44 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
nixosConfigurations = let
|
nixosConfigurations = let
|
||||||
unstablePkgs = nixpkgs-unstable.legacyPackages.x86_64-linux;
|
|
||||||
|
|
||||||
nixosConfig =
|
nixosConfig =
|
||||||
nixpkgs:
|
nixpkgs:
|
||||||
name:
|
name:
|
||||||
configurationPath:
|
configurationPath:
|
||||||
extraArgs@{
|
extraArgs@{
|
||||||
system ? "x86_64-linux",
|
localSystem ? "x86_64-linux", # buildPlatform
|
||||||
|
crossSystem ? "x86_64-linux", # hostPlatform
|
||||||
specialArgs ? { },
|
specialArgs ? { },
|
||||||
modules ? [ ],
|
modules ? [ ],
|
||||||
overlays ? [ ],
|
overlays ? [ ],
|
||||||
enableDefaults ? true,
|
enableDefaults ? true,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
commonPkgsConfig = {
|
||||||
|
inherit localSystem crossSystem;
|
||||||
|
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg)
|
||||||
|
[
|
||||||
|
"nvidia-x11"
|
||||||
|
"nvidia-settings"
|
||||||
|
];
|
||||||
|
overlays = (lib.optionals enableDefaults [
|
||||||
|
# Global overlays go here
|
||||||
|
inputs.roowho2.overlays.default
|
||||||
|
]) ++ overlays;
|
||||||
|
};
|
||||||
|
|
||||||
|
pkgs = import nixpkgs commonPkgsConfig;
|
||||||
|
unstablePkgs = import nixpkgs-unstable commonPkgsConfig;
|
||||||
|
in
|
||||||
lib.nixosSystem (lib.recursiveUpdate
|
lib.nixosSystem (lib.recursiveUpdate
|
||||||
{
|
{
|
||||||
inherit system;
|
system = crossSystem;
|
||||||
|
|
||||||
|
inherit pkgs;
|
||||||
|
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit unstablePkgs inputs;
|
inherit inputs unstablePkgs;
|
||||||
values = import ./values.nix;
|
values = import ./values.nix;
|
||||||
fp = path: ./${path};
|
fp = path: ./${path};
|
||||||
} // specialArgs;
|
} // specialArgs;
|
||||||
@@ -113,22 +130,10 @@
|
|||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
inputs.roowho2.nixosModules.default
|
inputs.roowho2.nixosModules.default
|
||||||
]) ++ modules;
|
]) ++ modules;
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg)
|
|
||||||
[
|
|
||||||
"nvidia-x11"
|
|
||||||
"nvidia-settings"
|
|
||||||
];
|
|
||||||
overlays = (lib.optionals enableDefaults [
|
|
||||||
# Global overlays go here
|
|
||||||
inputs.roowho2.overlays.default
|
|
||||||
]) ++ overlays;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
(builtins.removeAttrs extraArgs [
|
(builtins.removeAttrs extraArgs [
|
||||||
"system"
|
"localSystem"
|
||||||
|
"crossSystem"
|
||||||
"modules"
|
"modules"
|
||||||
"overlays"
|
"overlays"
|
||||||
"specialArgs"
|
"specialArgs"
|
||||||
@@ -163,7 +168,6 @@
|
|||||||
bekkalokk = stableNixosConfig "bekkalokk" {
|
bekkalokk = stableNixosConfig "bekkalokk" {
|
||||||
overlays = [
|
overlays = [
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
heimdal = unstablePkgs.heimdal;
|
|
||||||
mediawiki-extensions = final.callPackage ./packages/mediawiki-extensions { };
|
mediawiki-extensions = final.callPackage ./packages/mediawiki-extensions { };
|
||||||
simplesamlphp = final.callPackage ./packages/simplesamlphp { };
|
simplesamlphp = final.callPackage ./packages/simplesamlphp { };
|
||||||
bluemap = final.callPackage ./packages/bluemap.nix { };
|
bluemap = final.callPackage ./packages/bluemap.nix { };
|
||||||
@@ -222,7 +226,7 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
skrott = stableNixosConfig "skrott" {
|
skrott = stableNixosConfig "skrott" {
|
||||||
system = "aarch64-linux";
|
crossSystem = "aarch64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
(nixpkgs + "/nixos/modules/installer/sd-card/sd-image-aarch64.nix")
|
(nixpkgs + "/nixos/modules/installer/sd-card/sd-image-aarch64.nix")
|
||||||
inputs.dibbler.nixosModules.default
|
inputs.dibbler.nixosModules.default
|
||||||
|
|||||||
Reference in New Issue
Block a user