Remove user-specific configs, extract kernel config options

This commit is contained in:
asonix 2023-02-18 22:49:14 -06:00
parent 1bc994a4c6
commit 2a8bf43271
2 changed files with 103 additions and 98 deletions

121
flake.nix
View file

@ -27,96 +27,91 @@
};
};
kernel = (aarch64Pkgs.callPackage ./pkgs/linux { }).testing-rockchip;
kernels = (aarch64Pkgs.callPackage ./pkgs/linux { });
trusted-public-keys = "firestar:spmMw07mO3cxflq5g2GazhE7ddgEoz6QLwaiCnyz/fg=";
buildSystem = ({ kernel, modules }: aarch64Pkgs.callPackage ./pkgs/system {
inherit kernel nixpkgs;
userModule = {
users.users.asonix = {
isNormalUser = true;
description = "Tavi";
extraGroups = [ "wheel" ];
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3+mNUlokSKZQNXJAuGm2LCHelKuElWLJArzIYZQYEPbrFaE+J8VtfNbMMD1qVI21ksfcqvFQW4aiP4+BFDxTOGW0uBmUHWKxkyyU39y2yhnsa+svwwIooc+Iwkxw0atzSMEBb94UaZlq9cKMSnG9RGeRFqfYnW2s49wpU79wk6zEFUuOHCMKn4R7zqkPac7IyjxZeKlspY3fOasNH4zyrkbhEOlvrwEOdRNTRNCWWzDcinIVZjfmErHlSynshx9yLnCGkLBxHSxgI2TVyR3RlQ3aGbHtB3QN5X7/T/dwXJFJ11P1Q2bC3XP3hHCogDqXcPvDTFSQEM/mZuFcKNbsn asonix@asonix-tower"
];
initialPassword = "changeme";
};
};
baseModule = ({ lib, ... }: {
# Nix config
nix.extraOptions = ''
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ${trusted-public-keys}
'';
services.openssh = {
enable = true;
settings.PermitRootLogin = lib.mkForce "prohibit-password";
};
extraModules = modules;
});
system = aarch64Pkgs.callPackage ./pkgs/system {
inherit nixpkgs;
inherit kernel;
extraModules = [
userModule
baseModule
];
};
quartzUBoots = aarch64Pkgs.callPackage ./pkgs/uboot-quartz64 { };
in
{
packages.aarch64-linux = {
kernel = {
testing-rockchip = kernel;
};
packages.x86_64-linux = {
inherit kernels;
modules = system.modules // { inherit userModule; };
};
packages.x86_64-linux =
{
quartz64a = rockchip {
modules = system.modules;
buildQuartz64A = ({ kernel, modules ? [ ] }@attrs:
let system = buildSystem attrs; in
rockchip {
system = system.quartz64a;
uboot = quartzUBoots.ubootQuartz64a;
};
quartz64b = rockchip {
});
buildQuartz64B = ({ kernel, modules ? [ ] }@attrs:
let system = buildSystem attrs; in
rockchip {
system = system.quartz64b;
uboot = quartzUBoots.ubootQuartz64b;
};
soquartz-model-a = rockchip {
});
buildSoQuartzModelA = ({ kernel, modules ? [ ] }@attrs:
let system = buildSystem attrs; in
rockchip {
system = system.soquartz-model-a;
uboot = quartzUBoots.ubootSoQuartzModelA;
};
soquartz-cm4 = rockchip {
});
buildSoQuartzCM4 = ({ kernel, modules ? [ ] }@attrs:
let system = buildSystem attrs; in
rockchip {
system = system.soquartz-cm4;
uboot = quartzUBoots.ubootSoQuartzCM4;
};
soquartz-blade = rockchip {
});
buildSoQuartzBlade = ({ kernel, modules ? [ ] }@attrs:
let system = buildSystem attrs; in
rockchip {
system = system.soquartz-blade;
uboot = quartzUBoots.ubootSoQuartzBlade;
};
rock64 = rockchip {
});
buildRock64 = ({ kernel, modules ? [ ] }@attrs:
let system = buildSystem attrs; in
rockchip {
system = system.rock64;
uboot = aarch64Pkgs.ubootRock64;
};
rockPro64 = rockchip {
});
buildRockPro64 = ({ kernel, modules ? [ ] }@attrs:
let system = buildSystem attrs; in
rockchip {
system = system.rockPro64;
uboot = aarch64Pkgs.ubootRockPro64;
};
rockPro64v2 = rockchip {
});
buildRockPro64v2 = ({ kernel, modules ? [ ] }@attrs:
let system = buildSystem attrs; in
rockchip {
system = system.rockPro64v2;
uboot = aarch64Pkgs.ubootRockPro64;
};
roc-pc-rk3399 = rockchip {
});
buildRocPCRk3399 = ({ kernel, modules ? [ ] }@attrs:
let system = buildSystem attrs; in
rockchip {
system = system.rock-pc-rk3399;
uboot = aarch64Pkgs.ubootROCPCRK3399;
};
pinebookPro = rockchip {
});
buildPinebookPro = ({ kernel, modules ? [ ] }@attrs:
let system = buildSystem attrs; in
rockchip {
system = system.pinebookPro;
uboot = aarch64Pkgs.ubootPinebookPro;
};
};
});
};
};
}

View file

@ -1,42 +1,52 @@
{ pkgs, lib }:
with pkgs.linuxKernel; {
let
kernelConfig = with lib.kernel; {
SND_SOC_RK817 = yes;
STMMAC_ETH = yes;
MOTORCOMM_PHY = yes;
MMC_DW = yes;
MMC_DW_ROCKCHIP = yes;
MMC_SDHCI_OF_DWCMSHC = yes;
PCIE_ROCKCHIP_DW_HOST = yes;
PHY_ROCKCHIP_NANENG_COMBO_PHY = yes;
ROCKCHIP_DW_HDMI = yes;
PHY_ROCKCHIP_INNO_DSIDPHY = yes;
ROCKCHIP_VOP2 = yes;
ARCH_ROCKCHIP = yes;
ROCKCHIP_PHY = yes;
PHY_ROCKCHIP_INNO_USB2 = yes;
RTC_DRV_RK808 = yes;
COMMON_CLK_RK808 = yes;
MFD_RK808 = yes;
CHARGER_RK817 = yes;
REGULATOR_RK808 = yes;
ROCKCHIP_PM_DOMAINS = yes;
GPIO_ROCKCHIP = yes;
PINCTRL_ROCKCHIP = yes;
PWM_ROCKCHIP = yes;
ROCKCHIP_IOMMU = yes;
ROCKCHIP_MBOX = yes;
ROCKCHIP_SARADC = yes;
ROCKCHIP_THERMAL = yes;
SPI_ROCKCHIP = yes;
VIDEO_HANTRO_ROCKCHIP = yes;
ROCKCHIP_IODOMAIN = yes;
COMMON_CLK_ROCKCHIP = yes;
PHY_ROCKCHIP_INNO_CSIDPHY = yes;
};
in
with pkgs.linuxKernel;
{
testing = packages.linux_testing;
testing-rockchip = packagesFor (kernels.linux_testing.override {
structuredExtraConfig = with lib.kernel; {
SND_SOC_RK817 = yes;
STMMAC_ETH = yes;
MOTORCOMM_PHY = yes;
MMC_DW = yes;
MMC_DW_ROCKCHIP = yes;
MMC_SDHCI_OF_DWCMSHC = yes;
PCIE_ROCKCHIP_DW_HOST = yes;
PHY_ROCKCHIP_NANENG_COMBO_PHY = yes;
ROCKCHIP_DW_HDMI = yes;
PHY_ROCKCHIP_INNO_DSIDPHY = yes;
ROCKCHIP_VOP2 = yes;
ARCH_ROCKCHIP = yes;
ROCKCHIP_PHY = yes;
PHY_ROCKCHIP_INNO_USB2 = yes;
RTC_DRV_RK808 = yes;
COMMON_CLK_RK808 = yes;
MFD_RK808 = yes;
CHARGER_RK817 = yes;
REGULATOR_RK808 = yes;
ROCKCHIP_PM_DOMAINS = yes;
GPIO_ROCKCHIP = yes;
PINCTRL_ROCKCHIP = yes;
PWM_ROCKCHIP = yes;
ROCKCHIP_IOMMU = yes;
ROCKCHIP_MBOX = yes;
ROCKCHIP_SARADC = yes;
ROCKCHIP_THERMAL = yes;
SPI_ROCKCHIP = yes;
VIDEO_HANTRO_ROCKCHIP = yes;
ROCKCHIP_IODOMAIN = yes;
COMMON_CLK_ROCKCHIP = yes;
PHY_ROCKCHIP_INNO_CSIDPHY = yes;
};
structuredExtraConfig = kernelConfig;
});
linux_6_1 = packages.linux_6_1;
linux_6_1-rockchip = packagesFor (kernels.linux_6_1.override {
structuredExtraConfig = kernelConfig;
});
}