summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorseth <[email protected]>2024-05-24 04:46:59 -0400
committerseth <[email protected]>2024-05-24 21:36:05 -0600
commitef2b5ea9f2f9450eac7ac2a875a8f1c6599c1ed0 (patch)
tree5d21686d2d34986c6fcdf23fcd8f3a3c176d53bd /modules
parent5533072babca9fdefe45151ee834cdd14e1c679e (diff)
don't use flake module
Diffstat (limited to 'modules')
-rw-r--r--modules/default.nix9
-rw-r--r--modules/flake/configurations.nix186
-rw-r--r--modules/flake/default.nix3
-rw-r--r--modules/nixos/desktop/plasma/default.nix8
-rw-r--r--modules/shared/traits/home-manager.nix3
5 files changed, 11 insertions, 198 deletions
diff --git a/modules/default.nix b/modules/default.nix
index ef449b6..ecfaf25 100644
--- a/modules/default.nix
+++ b/modules/default.nix
@@ -1,7 +1,10 @@
-{
+{moduleLocation, ...}: {
flake = {
- darwinModules = import ./darwin;
- flakeModules = import ./flake;
+ darwinModules = builtins.mapAttrs (k: v: {
+ _file = "${toString moduleLocation}#darwinModules.${k}";
+ imports = [v];
+ }) (import ./darwin);
+
nixosModules = import ./nixos;
};
}
diff --git a/modules/flake/configurations.nix b/modules/flake/configurations.nix
deleted file mode 100644
index 5b2d934..0000000
--- a/modules/flake/configurations.nix
+++ /dev/null
@@ -1,186 +0,0 @@
-{
- config,
- lib,
- flake-parts-lib,
- inputs,
- self,
- moduleLocation,
- withSystem,
- ...
-}: let
- inherit (flake-parts-lib) mkSubmoduleOptions;
-
- inherit
- (builtins)
- attrValues
- mapAttrs
- removeAttrs
- ;
-
- inherit
- (lib)
- const
- literalExpression
- mkOption
- recursiveUpdate
- types
- ;
-
- kernelFor = {
- nixos = "linux";
- darwin = "darwin";
- };
-
- applySpecialArgsFor = system:
- recursiveUpdate {
- inherit inputs;
- inputs' = withSystem system ({inputs', ...}: inputs');
- };
-
- toSystem = type: {
- modules ? [],
- system,
- specialArgs ? {},
- ...
- } @ args:
- args.builder (
- removeAttrs args ["builder"]
- // {
- modules = modules ++ attrValues (self."${type}Modules" or {});
- specialArgs = applySpecialArgsFor system specialArgs;
- }
- );
-
- toUser = {
- extraSpecialArgs ? {},
- modules ? [],
- pkgs,
- } @ args:
- inputs.home-manager.lib.homeManagerConfiguration (
- args
- // {
- modules = modules ++ attrValues (self.homeManagerModules or {});
- extraSpecialArgs = applySpecialArgsFor pkgs.stdenv.hostPlatform.system extraSpecialArgs;
- }
- );
-
- mapSystems = type: mapAttrs (const (toSystem type));
- mapUsers = mapAttrs (const toUser);
- mapNixOS = mapSystems "nixos";
- mapDarwin = mapSystems "darwin";
-
- systemsSubmodule = type: {
- freeformType = types.attrsOf types.anything;
-
- options = {
- builder = let
- error = throw "System configuration of type `${type}` is not supported!";
- in
- mkOption {
- type = types.functionTo (types.lazyAttrsOf types.raw);
- default =
- {
- nixos = inputs.nixpkgs.lib.nixosSystem;
- darwin = inputs.nix-darwin.lib.darwinSystem;
- }
- .${type}
- or error;
- example = literalExpression (
- {
- nixos = "inputs.nixpkgs.lib.nixosSystem";
- darwin = "inputs.nix-darwin.lib.darwinSystem";
- }
- .${type}
- or error
- );
- description = ''
- Function to build this ${type}Configuration with
- '';
- };
-
- system = mkOption {
- type = types.str;
- default = "x86_64-" + kernelFor.${type};
- example = literalExpression ("aarch64-" + kernelFor.${type});
- description = ''
- System to build this ${type}Configuration for
- '';
- };
- };
- };
-
- usersSubmodule = {
- freeformType = types.attrsOf types.anything;
-
- options = {
- pkgs = mkOption {
- type = types.lazyAttrsOf types.raw;
- default = inputs.nixpkgs.legacyPackages.x86_64-linux;
- defaultText = "inputs.nixpkgs.legacyPackages.x86_64-linux";
- example = literalExpression "inputs.nixpkgs.legacyPackages.aarch64-linux";
- description = ''
- Instance of nixpkgs to use in this homeConfiguration
- '';
- };
- };
- };
-
- mkSystemOptions = type:
- mkOption {
- type = types.attrsOf (types.submodule (systemsSubmodule type));
- default = {};
- example = literalExpression ''
- {
- myComputer = {
- system = "aarch64${kernelFor type}";
- };
- }
- '';
- description = ''
- Attribute set of `lib.${type}System` options. The names of
- each attribute will be used to import files in the `systems/`
- directory
- '';
- };
-in {
- options = {
- flake = mkSubmoduleOptions {
- darwinModules = mkOption {
- type = types.lazyAttrsOf types.unspecified;
- default = {};
- apply = mapAttrs (name: value: {
- _file = "${toString moduleLocation}#darwinModules.${name}";
- imports = [value];
- });
- };
- };
-
- configurations = {
- nixos = mkSystemOptions "nixos";
- darwin = mkSystemOptions "darwin";
-
- home = mkOption {
- type = types.attrsOf (types.submodule usersSubmodule);
- default = {};
- example = literalExpression ''
- {
- john = {
- pkgs = inputs.nixpkgs.legacyPackages.aarch64-linux;
- };
- }
- '';
- description = ''
- Attribute set of `lib.homeManagerConfiguration` arguments. The
- name of each attribute will be used to import files in the `users/`
- directory.
- '';
- };
- };
- };
-
- config.flake = {
- nixosConfigurations = mapNixOS config.configurations.nixos;
- darwinConfigurations = mapDarwin config.configurations.darwin;
- homeConfigurations = mapUsers config.configurations.home;
- };
-}
diff --git a/modules/flake/default.nix b/modules/flake/default.nix
deleted file mode 100644
index 8d671c2..0000000
--- a/modules/flake/default.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- configurations = import ./configurations.nix;
-}
diff --git a/modules/nixos/desktop/plasma/default.nix b/modules/nixos/desktop/plasma/default.nix
index d2e2aee..c8e2683 100644
--- a/modules/nixos/desktop/plasma/default.nix
+++ b/modules/nixos/desktop/plasma/default.nix
@@ -2,7 +2,7 @@
config,
lib,
pkgs,
- inputs',
+ inputs,
...
}: let
cfg = config.desktop.plasma;
@@ -23,9 +23,9 @@ in {
NIXOS_OZONE_WL = "1";
};
- systemPackages = with pkgs; [
- haruna
- inputs'.krunner-nix.packages.default
+ systemPackages = [
+ pkgs.haruna
+ inputs.krunner-nix.packages.${pkgs.system}.default
];
};
diff --git a/modules/shared/traits/home-manager.nix b/modules/shared/traits/home-manager.nix
index 732f4f9..e49c4a5 100644
--- a/modules/shared/traits/home-manager.nix
+++ b/modules/shared/traits/home-manager.nix
@@ -2,7 +2,6 @@
config,
lib,
inputs,
- inputs',
...
}: let
cfg = config.traits.home-manager;
@@ -15,7 +14,7 @@ in {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
- extraSpecialArgs = {inherit inputs inputs';};
+ extraSpecialArgs = {inherit inputs;};
};
};
}