Compare commits

...

1 Commits

Author SHA1 Message Date
bde6ae6da1
system: replace custom args with flakeArgs and flakeConfig 2025-03-01 14:52:49 -05:00
14 changed files with 56 additions and 37 deletions

View File

@ -6,7 +6,7 @@
inputs, inputs,
self, self,
... ...
}: let } @ flakeArgs: let
cfg = config.nixfiles.systems; cfg = config.nixfiles.systems;
inherit inherit
(lib) (lib)
@ -227,14 +227,22 @@ in {
++ lib.optional config.wsl wslModule; ++ lib.optional config.wsl wslModule;
extraConfig = { extraConfig = {
inherit (config) system modules; inherit (config) system modules;
# TODO get rid of specialArgs and pass things as a module specialArgs = {
specialArgs = let # TODO this is temporary, i prefer to not use specialArgs because
inherit (self) outputs; # it can't be exported. these are still better than my clunky
in { # "vars" arg that i would arbitrarily add things to.
inherit inputs outputs; #
inherit (outerConfig.nixfiles) vars; # 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) nixpkgs;
inherit (config.home-manager) input; home-manager = config.home-manager.input;
}; };
}; };
result = config.nixpkgs.lib.nixosSystem config.extraConfig; result = config.nixpkgs.lib.nixosSystem config.extraConfig;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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