Skip to content

Commit e0c1a36

Browse files
committed
feat(lib): add library functions
1 parent bf9b617 commit e0c1a36

File tree

5 files changed

+21
-14
lines changed

5 files changed

+21
-14
lines changed

Diff for: default.nix

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
(import ./pkgs/top-level { inherit pkgs; }) // {
1212
# The `lib`, `modules`, and `overlay` names are special
13-
# lib = import ./lib { inherit pkgs; }; # functions
13+
lib = import ./lib { inherit pkgs; }; # functions
1414
# modules = import ./modules; # NixOS modules
1515
overlays = import ./overlays; # nixpkgs overlays
1616
}

Diff for: flake.nix

+10-6
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,24 @@
1919
persistent = "/persistent";
2020
args = { inherit hostname username persistent; };
2121
pkgs = nixpkgs.legacyPackages.${system};
22+
# https://github.com/NixOS/nixpkgs/issues/156312
23+
# https://github.com/NixOS/nixpkgs/pull/157056
24+
lib = nixpkgs.lib.extend (
25+
final: prev: prev // (import ./lib { inherit pkgs; })
26+
);
2227
in
2328
{
2429
nixosConfigurations = {
25-
${hostname} = nixpkgs.lib.nixosSystem {
26-
inherit system;
30+
${hostname} = lib.nixosSystem {
31+
inherit system lib;
2732
modules = [
28-
(import ./home.nix { path = "nixos"; })
33+
(lib.importDir "nixos")
2934
home-manager.nixosModules.home-manager
3035
{
3136
home-manager = {
3237
useGlobalPkgs = true;
3338
useUserPackages = true;
34-
users.${username} = import ./home.nix { path = "config"; };
39+
users.${username} = lib.importDir "config";
3540
sharedModules = [
3641
"${impermanence}/home-manager.nix"
3742
{ _module = { inherit args; }; }
@@ -48,8 +53,7 @@
4853
};
4954
};
5055
legacyPackages.${system} = import ./. { inherit pkgs; };
51-
packages.${system} = nixpkgs.lib.filterAttrs
52-
(_: v: nixpkgs.lib.isDerivation v)
56+
packages.${system} = lib.filterAttrs (_: v: lib.isDerivation v)
5357
self.legacyPackages.${system};
5458
inherit (self.legacyPackages.${system}) overlays;
5559
formatter.${system} = pkgs.nixpkgs-fmt;

Diff for: home.nix

-7
This file was deleted.

Diff for: lib/default.nix

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{ pkgs }:
2+
3+
{
4+
importDir = path: {
5+
# loads *.nix files and directories with default.nix
6+
imports = map (name: ../${path}/${name})
7+
(builtins.attrNames (builtins.readDir ../${path}));
8+
};
9+
}

Diff for: overlays/default.nix

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
22
pkgs = final: prev: import ../pkgs/top-level { pkgs = final; };
3+
lib = final: prev: { lib = prev.lib // (import ../lib { pkgs = final; }); };
34
maintainers = import ./maintainers.nix;
45
}

0 commit comments

Comments
 (0)