96 lines
2 KiB
Nix
96 lines
2 KiB
Nix
{
|
|
config,
|
|
inputs,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib) mkOption types;
|
|
namespace = "sneeuwvlok";
|
|
|
|
channelConfig = {
|
|
allowUnfree = true;
|
|
permittedInsecurePackages = [
|
|
# Due to *arr stack
|
|
"dotnet-sdk-6.0.428"
|
|
"aspnetcore-runtime-6.0.36"
|
|
|
|
# I think this is because of zen
|
|
"qtwebengine-5.15.19"
|
|
|
|
# For Nheko, the matrix client
|
|
"olm-3.2.16"
|
|
];
|
|
};
|
|
|
|
systemOverlays = with inputs; [
|
|
fenix.overlays.default
|
|
nix-minecraft.overlay
|
|
flux.overlays.default
|
|
];
|
|
|
|
mkPkgs = system:
|
|
import inputs.nixpkgs {
|
|
inherit system;
|
|
overlays = systemOverlays;
|
|
config = channelConfig;
|
|
};
|
|
|
|
sharedContext = {
|
|
inherit inputs namespace;
|
|
erosanixLib = inputs.erosanix.lib;
|
|
repoRoot = ../.;
|
|
sneeuwvlokLib = config.localLib;
|
|
terranixLib = inputs.terranix.lib;
|
|
};
|
|
|
|
baseNixosModules =
|
|
[
|
|
inputs.grub2-themes.nixosModules.default
|
|
inputs.home-manager.nixosModules.home-manager
|
|
inputs.himmelblau.nixosModules.himmelblau
|
|
inputs.jovian.nixosModules.default
|
|
inputs.mydia.nixosModules.default
|
|
inputs.nix-minecraft.nixosModules.minecraft-servers
|
|
inputs.nvf.nixosModules.default
|
|
inputs.sops-nix.nixosModules.sops
|
|
{
|
|
nixpkgs = {
|
|
config = channelConfig;
|
|
overlays = systemOverlays;
|
|
};
|
|
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
extraSpecialArgs = sharedContext;
|
|
sharedModules = config.localUsers.homeSharedModules;
|
|
};
|
|
}
|
|
]
|
|
++ [ ../modules/nixos ];
|
|
in {
|
|
imports = [
|
|
./options
|
|
./strings
|
|
];
|
|
|
|
options.localLib = mkOption {
|
|
type = types.lazyAttrsOf types.raw;
|
|
default = {};
|
|
};
|
|
|
|
config = {
|
|
_module.args = {
|
|
inherit
|
|
baseNixosModules
|
|
channelConfig
|
|
mkPkgs
|
|
sharedContext
|
|
systemOverlays
|
|
;
|
|
sneeuwvlokLib = config.localLib;
|
|
};
|
|
|
|
flake.lib = config.localLib;
|
|
};
|
|
}
|