# based on https://artemis.sh/2023/06/06/cross-compile-nixos-for-great-good.html { description = "system configuration for ppc"; inputs = { nixpkgs.url = "github:stary2001/nixpkgs/stary/ppc32"; common.url = "github:stary2001/nix-common"; }; outputs = { self, common, nixpkgs, }: rec { formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.nixfmt-rfc-style; nixosConfigurations.lancom = nixpkgs.legacyPackages.x86_64-linux.pkgsCross.powerpc.nixos { imports = [ (import ./minimal.nix) (import ./ssh-keys.nix) (import ./locale.nix) common.nixosModules.wait-online-any (import ./ppc.nix) (import ./nginx.nix) (import ./config.nix) (import ./disable-systemd-security.nix) ( { pkgs, lib, ... }: { networking.hostName = "lancom"; boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.callPackage ./lancom-kernel.nix { }); system.boot.loader.kernelFile = "uImage"; fileSystems."/" = { device = "/dev/nvme0n1p2"; fsType = "ext4"; }; } ) ]; }; nixosConfigurations.wiiu = nixpkgs.legacyPackages.x86_64-linux.pkgsCross.powerpc.nixos { imports = [ (import ./minimal.nix) (import ./ssh-keys.nix) common.nixosModules.wait-online-any (import ./ppc.nix) (import ./nginx.nix) (import ./config.nix) (import ./disable-systemd-security.nix) ( { pkgs, lib, ... }: { networking.hostName = "nixos"; boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.callPackage ./wiiu-kernel-6.6.nix { }); system.boot.loader.kernelFile = "dtbImage.wiiu"; fileSystems."/" = { device = "/dev/sda1"; fsType = "ext4"; }; fileSystems."/boot" = { device = "/dev/mmcblk0p1"; fsType = "vfat"; }; } ) ]; }; }; }