diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 143 |
1 files changed, 79 insertions, 64 deletions
@@ -1,78 +1,93 @@ { - outputs = { - self, - nur, - nixpkgs, - flake-parts, - ... - } @ inputs: let - devenvModules.personal = ./modules/devenv; - flakeModules = { - personal = ./modules/flake-parts/personal.nix; - devenv = import ./modules/flake-parts/devenv.nix devenvModules; - }; - in - flake-parts.lib.mkFlake {inherit inputs;} { - imports = [flakeModules.personal]; + outputs = + { + self, + nur, + nixpkgs, + flake-parts, + ... + }@inputs: + let + devenvModules.personal = ./modules/devenv; + flakeModules = { + personal = ./modules/flake-parts/personal.nix; + devenv = import ./modules/flake-parts/devenv.nix devenvModules; + }; + in + flake-parts.lib.mkFlake { inherit inputs; } { + imports = [ flakeModules.personal ]; flake = { inherit devenvModules flakeModules; nixosModules.personal = ./modules/nixos; homeModules.personal = ./modules/home-manager; - overlays.personal = _: super: let - my-packages = import ./pkgs (super.extend nur.overlays.default); - in { - inherit - (super.lib.recursiveUpdate super { - personal = my-packages; - lib.personal = my-packages.lib; - }) - personal - lib - ; - }; + overlays.personal = + _: super: + let + my-packages = import ./pkgs (super.extend nur.overlays.default); + in + { + inherit + (super.lib.recursiveUpdate super { + personal = my-packages; + lib.personal = my-packages.lib; + }) + personal + lib + ; + }; lib = import ./lib; - templates = let - devenv = {path = ./templates/devenv;}; - in { - inherit devenv; - default = devenv; - }; + templates = + let + devenv = { + path = ./templates/devenv; + }; + in + { + inherit devenv; + default = devenv; + }; }; - perSystem = { - config, - system, - pkgs, - lib, - ... - }: let - flatten = let - aux = path: attrs: - if lib.isAttrs attrs && !lib.isDerivation attrs - then - lib.foldlAttrs - (prev: name: value: prev // aux (path ++ [name]) value) {} - attrs - else - ( - if lib.isDerivation attrs - then { - "${lib.concatStringsSep "_" path}" = attrs; - } - else {} - ); + perSystem = + { + config, + system, + pkgs, + lib, + ... + }: + let + flatten = + let + aux = + path: attrs: + if lib.isAttrs attrs && !lib.isDerivation attrs then + lib.foldlAttrs ( + prev: name: value: + prev // aux (path ++ [ name ]) value + ) { } attrs + else + ( + if lib.isDerivation attrs then + { + "${lib.concatStringsSep "_" path}" = attrs; + } + else + { } + ); + in + aux [ ]; in - aux []; - in { - _module.args.pkgs = import nixpkgs { - inherit system; - overlays = [self.overlays.personal]; - config = {}; - }; + { + _module.args.pkgs = import nixpkgs { + inherit system; + overlays = [ self.overlays.personal ]; + config = { }; + }; - packages = flatten pkgs.personal; - }; + packages = flatten pkgs.personal; + }; }; } |
