From ef2b5ea9f2f9450eac7ac2a875a8f1c6599c1ed0 Mon Sep 17 00:00:00 2001 From: seth Date: Fri, 24 May 2024 04:46:59 -0400 Subject: don't use flake module --- modules/default.nix | 9 +- modules/flake/configurations.nix | 186 ------------------------------- modules/flake/default.nix | 3 - modules/nixos/desktop/plasma/default.nix | 8 +- modules/shared/traits/home-manager.nix | 3 +- 5 files changed, 11 insertions(+), 198 deletions(-) delete mode 100644 modules/flake/configurations.nix delete mode 100644 modules/flake/default.nix (limited to 'modules') 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;}; }; }; } -- cgit v1.2.3