path:
/flake.nix
1.93 KB | plain
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
{
description = "This flake contains packages and modules for home-manager and nixos - maintained by the tgc-users";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
nixpkgsUnstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs:
(
let
lib = import ./lib {
inherit (inputs.nixpkgs) lib;
inherit inputs;
};
modulesTemplate =
modules:
modules
// {
default = {
imports = builtins.attrValues modules;
};
};
in
{
inherit lib;
formatter = lib.forAllSystems { body = pkgs: pkgs.nixfmt-rfc-style; };
packages = lib.forAllSystems {
overlays = builtins.attrValues inputs.self.overlays;
body =
pkgs:
(import ./packages pkgs)
// {
inherit (pkgs) swaylock-plugin-fprintd;
};
};
overlays = (import ./overlays) // {
nixpkgsUnstable = final: prev: {
unstable = inputs.nixpkgsUnstable.legacyPackages.${prev.stdenv.hostPlatform.system};
};
lib = final: prev: {
lib = prev.lib.extend (_: _: { tgc = lib; });
};
packages = final: prev: {
tgc = import ./packages prev;
};
emacs-overlay = inputs.emacs-overlay.overlays.package;
default = inputs.self.overlays.packages;
};
homeManagerModules = modulesTemplate (import ./homeManagerModules inputs.self);
nixosModules = (modulesTemplate (import ./nixosModules inputs.self)) // {
packages = {
nixpkgs.overlays = with inputs.self.overlays; [
libheif
packages
];
};
};
}
);
}