style(flake)!: manually import lib
flake module
- Also make `lib` an `internal` option - Unify let blocks and move them under `imports` (makes it clear where `config.lib` comes from) - Fix a minor typo
This commit is contained in:
parent
1baef9b78c
commit
31f9e7dbef
9 changed files with 96 additions and 82 deletions
|
@ -5,9 +5,9 @@ let
|
|||
and
|
||||
hasFiles
|
||||
hasDirectories
|
||||
configuration-type-to-outputs-modules;
|
||||
in
|
||||
let
|
||||
configuration-type-to-outputs-modules
|
||||
;
|
||||
|
||||
# `pkgs` with flake's overlays
|
||||
# NOTE: done here to avoid infinite recursion
|
||||
pkgs' = system:
|
||||
|
|
|
@ -1,21 +1,19 @@
|
|||
{ lib, config, self, inputs, withSystem, ... }:
|
||||
|
||||
let
|
||||
inherit (config.lib)
|
||||
and
|
||||
hasFiles
|
||||
hasDirectories
|
||||
recurseDir
|
||||
kebabToCamel
|
||||
configuration-type-to-outputs-modules;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../lib
|
||||
./default-generators.nix
|
||||
];
|
||||
|
||||
options = let
|
||||
inherit (lib) types;
|
||||
inherit (lib)
|
||||
types
|
||||
;
|
||||
inherit (config.lib)
|
||||
recurseDir
|
||||
kebabToCamel
|
||||
;
|
||||
in {
|
||||
auto.configurations = lib.mkOption {
|
||||
description = ''
|
||||
|
|
|
@ -6,9 +6,12 @@
|
|||
];
|
||||
|
||||
options = let
|
||||
inherit (lib) types;
|
||||
inherit (lib)
|
||||
types
|
||||
;
|
||||
in {
|
||||
lib = lib.mkOption {
|
||||
internal = true;
|
||||
type = types.unspecified;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
{ lib, config, self, inputs, ... }:
|
||||
|
||||
let
|
||||
inherit (config.lib)
|
||||
and
|
||||
eq
|
||||
hasFiles
|
||||
;
|
||||
in
|
||||
{
|
||||
config.lib = rec {
|
||||
config.lib = let
|
||||
inherit (config.lib)
|
||||
and
|
||||
eq
|
||||
hasFiles
|
||||
;
|
||||
in rec {
|
||||
# Try to passthru `inputs` by default
|
||||
defaultThingHandle = { raw, thingType }: name: result: let
|
||||
thing =
|
||||
|
|
|
@ -1,21 +1,24 @@
|
|||
{ lib, config, self, inputs, ... }:
|
||||
|
||||
let
|
||||
inherit (config.lib)
|
||||
createThings
|
||||
kebabToCamel;
|
||||
in
|
||||
let
|
||||
# Modules helpers
|
||||
createModules = baseDir:
|
||||
createThings {
|
||||
inherit baseDir;
|
||||
thingType = "module";
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../lib
|
||||
];
|
||||
|
||||
options = let
|
||||
inherit (lib) types;
|
||||
inherit (lib)
|
||||
types
|
||||
;
|
||||
inherit (config.lib)
|
||||
createThings
|
||||
kebabToCamel
|
||||
;
|
||||
|
||||
createModules = baseDir:
|
||||
createThings {
|
||||
inherit baseDir;
|
||||
thingType = "module";
|
||||
};
|
||||
in {
|
||||
auto.modules = lib.mkOption {
|
||||
description = ''
|
||||
|
@ -76,7 +79,6 @@ in
|
|||
(createModules dir);
|
||||
};
|
||||
};
|
||||
config = {};
|
||||
}));
|
||||
# TODO: put in a more visible place
|
||||
default = {
|
||||
|
|
|
@ -1,19 +1,23 @@
|
|||
{ lib, config, self, inputs, ... }:
|
||||
|
||||
let
|
||||
inherit (config.lib)
|
||||
createThings;
|
||||
in
|
||||
let
|
||||
createOverlays = baseDir:
|
||||
createThings {
|
||||
inherit baseDir;
|
||||
thingType = "overlay";
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../lib
|
||||
];
|
||||
|
||||
options = let
|
||||
inherit (lib) types;
|
||||
inherit (lib)
|
||||
types
|
||||
;
|
||||
inherit (config.lib)
|
||||
createThings
|
||||
;
|
||||
|
||||
createOverlays = baseDir:
|
||||
createThings {
|
||||
inherit baseDir;
|
||||
thingType = "overlay";
|
||||
};
|
||||
in {
|
||||
auto.overlays = lib.mkOption {
|
||||
description = ''
|
||||
|
|
|
@ -1,23 +1,27 @@
|
|||
{ lib, config, self, inputs, ... }:
|
||||
|
||||
let
|
||||
inherit (config.lib)
|
||||
createThings;
|
||||
in
|
||||
let
|
||||
createPackages = baseDir:
|
||||
createThings {
|
||||
inherit baseDir;
|
||||
thingType = "package";
|
||||
raw = false;
|
||||
extras.systems = {
|
||||
default = lib.const true;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../lib
|
||||
];
|
||||
|
||||
options = let
|
||||
inherit (lib) types;
|
||||
inherit (lib)
|
||||
types
|
||||
;
|
||||
inherit (config.lib)
|
||||
createThings
|
||||
;
|
||||
|
||||
createPackages = baseDir:
|
||||
createThings {
|
||||
inherit baseDir;
|
||||
thingType = "package";
|
||||
raw = false;
|
||||
extras.systems = {
|
||||
default = lib.const true;
|
||||
};
|
||||
};
|
||||
in {
|
||||
auto.packages = lib.mkOption {
|
||||
description = ''
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
perSystem = { system, ... }: {
|
||||
_module.args.pkgs = import inputs.nixpkgs {
|
||||
inherit system;
|
||||
# WARN: not including `self.packages` overylay
|
||||
# WARN: not including `self.packages` overlay
|
||||
# because it causes an infinite recursion
|
||||
overlays = lib.attrValues self.overlays ++ [
|
||||
inputs.neovim-nightly-overlay.overlays.default
|
||||
|
|
|
@ -1,23 +1,27 @@
|
|||
{ lib, config, self, inputs, ... }:
|
||||
|
||||
let
|
||||
inherit (config.lib)
|
||||
createThings;
|
||||
in
|
||||
let
|
||||
createDevShells = baseDir:
|
||||
createThings {
|
||||
inherit baseDir;
|
||||
thingType = "devShell";
|
||||
raw = false;
|
||||
extras.systems = {
|
||||
default = lib.const true;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../lib
|
||||
];
|
||||
|
||||
options = let
|
||||
inherit (lib) types;
|
||||
inherit (lib)
|
||||
types
|
||||
;
|
||||
inherit (config.lib)
|
||||
createThings
|
||||
;
|
||||
|
||||
createDevShells = baseDir:
|
||||
createThings {
|
||||
inherit baseDir;
|
||||
thingType = "devShell";
|
||||
raw = false;
|
||||
extras.systems = {
|
||||
default = lib.const true;
|
||||
};
|
||||
};
|
||||
in {
|
||||
auto.devShells = lib.mkOption {
|
||||
description = ''
|
||||
|
|
Loading…
Reference in a new issue