-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
126 lines (119 loc) · 4.52 KB
/
flake.nix
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
{
description = "Network infrastructure à la Roman. Do not try this at home.";
nixConfig.extra-substituters = [
"https://rvolosatovs.cachix.org"
"https://nixify.cachix.org"
"https://crane.cachix.org"
"https://nix-community.cachix.org"
"https://wasmcloud.cachix.org"
];
nixConfig.extra-trusted-public-keys = [
"rvolosatovs.cachix.org-1:eRYUO4OXTSmpDFWu4wX3/X08MsP01baqGKi9GsoAmQ8="
"nixify.cachix.org-1:95SiUQuf8Ij0hwDweALJsLtnMyv/otZamWNRp1Q1pXw="
"crane.cachix.org-1:8Scfpmn9w+hGdXH/Q9tTLiYAE/2dnJYRJP7kl80GuRk="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"wasmcloud.cachix.org-1:9gRBzsKh+x2HbVVspreFg/6iFRiD4aOcUQfXVDl3hiM="
];
inputs.base16-shell.flake = false;
inputs.base16-shell.url = "github:chriskempson/base16-shell";
inputs.fenix.url = "github:nix-community/fenix";
inputs.firefox-addons.inputs.flake-utils.follows = "flake-utils";
inputs.firefox-addons.inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.home-manager-unstable.url = "github:nix-community/home-manager/master";
inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs-nixos";
inputs.home-manager.url = "github:nix-community/home-manager/release-23.11";
inputs.ioquake3-mac-install.flake = false;
inputs.ioquake3-mac-install.url = "github:rvolosatovs/ioquake3-mac-install";
inputs.lanzaboote.inputs.flake-utils.follows = "flake-utils";
inputs.lanzaboote.inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.lanzaboote.url = "github:nix-community/lanzaboote";
inputs.neovim.inputs.flake-utils.follows = "flake-utils";
inputs.neovim.inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.neovim.url = "github:neovim/neovim/nightly?dir=contrib";
inputs.nix-darwin.inputs.nixpkgs.follows = "nixpkgs-darwin";
inputs.nix-darwin.url = "github:LnL7/nix-darwin";
inputs.nix-flake-tests.url = "github:antifuchs/nix-flake-tests";
inputs.nixify.inputs.nixlib.follows = "nixlib";
inputs.nixify.inputs.nixpkgs.follows = "nixpkgs-nixos";
inputs.nixify.url = "github:rvolosatovs/nixify";
inputs.nixlib.url = "github:nix-community/nixpkgs.lib";
inputs.nixos-hardware.url = "github:NixOS/nixos-hardware";
inputs.nixpkgs-darwin.url = "github:NixOS/nixpkgs/nixpkgs-23.11-darwin";
inputs.nixpkgs-firefox-darwin.inputs.nixpkgs.follows = "nixpkgs-darwin";
inputs.nixpkgs-firefox-darwin.url = "github:bandithedoge/nixpkgs-firefox-darwin";
inputs.nixpkgs-nixos.url = "github:NixOS/nixpkgs/nixos-23.11";
inputs.nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.sops-nix.inputs.nixpkgs-stable.follows = "nixpkgs-nixos";
inputs.sops-nix.inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.sops-nix.url = "github:Mic92/sops-nix";
outputs = inputs @ {
self,
nixify,
...
}:
with nixify.lib; let
flake = mkFlake {
withOverlays = {overlays, ...}: overlays // import ./overlays inputs;
overlays = [
self.overlays.default
];
withDevShells = {
devShells,
pkgs,
...
}:
extendDerivations {
buildInputs = [
pkgs.age
pkgs.openssh
pkgs.openssl
pkgs.sops
pkgs.ssh-to-age
pkgs.yubikey-manager
pkgs.yubikey-personalization
pkgs.bootstrap
pkgs.bootstrap-ca
pkgs.host-key
pkgs.ssh-for-each
];
}
devShells;
withChecks = {
checks,
pkgs,
...
}:
checks
// import ./checks inputs pkgs;
withPackages = {
pkgs,
packages,
...
}:
packages
// {
inherit
(pkgs)
host-key
install-iso-aarch64-linux
install-iso-x86_64-linux
neovim
partition-osmium
ssh-for-each
;
};
};
in
flake
// {
darwinConfigurations = import ./darwinConfigurations inputs;
darwinModules = import ./darwinModules inputs;
homeModules = import ./homeModules inputs;
lib = import ./lib inputs;
nixosConfigurations = import ./nixosConfigurations inputs;
nixosModules = import ./nixosModules inputs;
};
}