blob: 8e3c2bbf3f8fac9f5eb6d15a52d9d45629dd9d1f (
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
|
{
description = "Cynerd's personal flake";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable-small";
nixos-hardware.url = "nixos-hardware";
personal-secret.url = "git+ssh://git@cynerd.cz/nixos-personal-secret";
agenix.url = "github:ryantm/agenix";
shvspy.url = "git+https://github.com/silicon-heaven/shvspy.git?submodules=1";
flatline.url = "git+https://gitlab.elektroline.cz/elektroline/flatlineng.git?submodules=1";
shvcli.url = "github:silicon-heaven/shvcli";
nixturris.url = "gitlab:cynerd/nixturris";
nixbigclown.url = "github:cynerd/nixbigclown";
vpsadminos.url = "github:vpsfreecz/vpsadminos";
shellrc.url = "git+https://git.cynerd.cz/shellrc";
usbkey.url = "gitlab:cynerd/usbkey";
};
outputs = {
self,
nixpkgs,
flake-utils,
agenix,
shvspy,
flatline,
shvcli,
shellrc,
usbkey,
...
}:
with flake-utils.lib;
{
lib = import ./lib nixpkgs.lib;
overlays = {
noInherit = final: prev: import ./pkgs final prev;
default = nixpkgs.lib.composeManyExtensions [
agenix.overlays.default
shvspy.overlays.default
flatline.overlays.default
shvcli.overlays.default
shellrc.overlays.default
usbkey.overlays.default
self.overlays.noInherit
];
};
nixosModules = import ./nixos self;
nixosConfigurations = import ./nixos/configurations.nix self;
}
// eachDefaultSystem (system: let
pkgs = nixpkgs.legacyPackages."${system}".extend self.overlays.default;
in {
packages = with nixpkgs.lib;
mapAttrs' (n: v:
nameValuePair
"tarball-${n}"
v.buildPlatform.${system}.config.system.build.tarball) (filterAttrs
(n: v: v.config.system.build ? tarball)
self.nixosConfigurations);
legacyPackages = pkgs;
devShells = filterPackages system (import ./devShells pkgs);
formatter = pkgs.alejandra;
});
}
|