system: replace custom args with flakeArgs and flakeConfig

This commit is contained in:
NullBite 2025-02-26 16:41:16 -05:00
parent 7b6d27bc73
commit 1e8e20820c
Signed by: nullbite
GPG Key ID: 6C4D545385D4925A
14 changed files with 56 additions and 37 deletions

View File

@ -6,7 +6,7 @@
inputs,
self,
...
}: let
} @ flakeArgs: let
cfg = config.nixfiles.systems;
inherit
(lib)
@ -227,14 +227,22 @@ in {
++ lib.optional config.wsl wslModule;
extraConfig = {
inherit (config) system modules;
# TODO get rid of specialArgs and pass things as a module
specialArgs = let
inherit (self) outputs;
in {
inherit inputs outputs;
inherit (outerConfig.nixfiles) vars;
specialArgs = {
# TODO this is temporary, i prefer to not use specialArgs because
# it can't be exported. these are still better than my clunky
# "vars" arg that i would arbitrarily add things to.
#
# we need to merge all of the module args like this because the
# module evaluator only calls each module with the args it asks
# for, but we explicitly want *all* args to be made available.
flakeArgs = outerConfig._module.args // outerConfig._module.specialArgs // flakeArgs;
# still unsure of what the best way to deal with this is. i can
# probably pass this submodule's args for a fairly clean way to
# pass it, but i'd want to refactor it because config.nixpkgs and
# config.home-manager.input are named inconsistently
inherit (config) nixpkgs;
inherit (config.home-manager) input;
home-manager = config.home-manager.input;
};
};
result = config.nixpkgs.lib.nixosSystem config.extraConfig;

View File

@ -2,9 +2,11 @@
pkgs,
config,
lib,
vars,
flakeConfig,
...
}: {
}: let
inherit (flakeConfig.nixfiles) vars;
in {
config = {
networking.hostName = "nixos-wsl";

View File

@ -6,7 +6,6 @@
config,
lib,
pkgs,
inputs,
...
}: {
imports = [

View File

@ -6,7 +6,6 @@
config,
lib,
pkgs,
vars,
...
}: {
imports = [

View File

@ -3,10 +3,11 @@
lib,
config,
options,
inputs,
flakeArgs,
nixpkgs,
...
}: let
inherit (flakeArgs) inputs;
cfg = config.nixfiles.common.nix;
in {
options.nixfiles.common.nix = {

View File

@ -3,9 +3,9 @@
config,
lib,
options,
flakeArgs,
nixpkgs,
home-manager,
inputs,
utils,
...
} @ args:
@ -14,8 +14,15 @@
# inputs/outputs/overlays/etc into scope. this might even make nixfiles
# portable (it still shouldn't be imported by other flakes probably)
let
inherit (flakeArgs) inputs;
cfg = config.nixfiles;
flakeType = cfg.lib.types.flake;
mkReadOnlyOption = {...} @ args:
lib.mkOption ({
readOnly = true;
}
// args);
in {
imports = [
./common
@ -35,7 +42,15 @@ in {
inputs.lanzaboote.nixosModules.lanzaboote
./stylix.nix # imports inputs.stylix
];
config = {};
config = {
_module.args.flakeConfig = flakeArgs.config;
};
options.debug = {
args = mkReadOnlyOption {
description = "all module args";
default = config._module.args // config._module.specialArgs // args;
};
};
options.nixfiles = {
meta.wayland = lib.mkOption {
description = "Whether to prefer wayland applications and configuration";
@ -44,12 +59,6 @@ in {
type = lib.types.bool;
};
utils = lib.mkOption {
description = "nixpkgs `utils` argument passthrough";
default = utils;
readOnly = true;
};
workarounds.nvidiaPrimary = lib.mkOption {
description = "Whether to enable workarounds for NVIDIA as the primary GPU";
default = false;

View File

@ -2,11 +2,12 @@
config,
lib,
pkgs,
inputs,
flakeArgs,
...
}: let
cfg = config.nixfiles.hardware.sound;
inherit (flakeArgs) inputs;
inherit (lib) optionals mkEnableOption mkIf mkDefault;
cfg = config.nixfiles.hardware.sound;
in {
# Enable sound.
# sound.enable = true;

View File

@ -2,9 +2,11 @@
config,
lib,
pkgs,
inputs,
flakeArgs,
...
}: {
}: let
inherit (flakeArgs) inputs;
in {
imports = [
inputs.nix-minecraft.nixosModules.minecraft-servers
];

View File

@ -1,11 +1,10 @@
{
pkgs,
config,
lib,
inputs,
nixpkgs,
flakeArgs,
...
}: let
inherit (flakeArgs) inputs;
p5 = config.services.xserver.desktopManager.plasma5.enable;
p6 = config.services.desktopManager.plasma6.enable;

View File

@ -2,7 +2,6 @@
config,
lib,
pkgs,
inputs,
...
}: let
cfg = config.nixfiles.packageSets.gaming;

View File

@ -2,9 +2,6 @@
config,
lib,
pkgs,
options,
inputs,
outputs,
...
} @ args: let
cfg = config.nixfiles.profile.base;

View File

@ -2,10 +2,10 @@
config,
lib,
pkgs,
outputs,
vars,
flakeConfig,
...
} @ args: let
inherit (flakeConfig.nixfiles) vars;
cfg = config.nixfiles.programs.adb;
in {
options.nixfiles.programs.adb = {

View File

@ -2,9 +2,10 @@
lib,
pkgs,
config,
inputs,
flakeArgs,
...
}: let
inherit (flakeArgs) inputs;
cfg = config.nixfiles.sessions.hyprland;
flake-package = inputs.hyprland.packages.${pkgs.system}.hyprland;
flake-portal = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;

View File

@ -2,9 +2,11 @@
pkgs,
config,
lib,
inputs,
flakeArgs,
...
} @ args: {
} @ args: let
inherit (flakeArgs) inputs;
in {
imports = [inputs.stylix.nixosModules.stylix];
config = {