-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
62 lines (48 loc) · 1.7 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
{
description = "A very basic flake";
inputs.nixpkgs.url = "github:NixOS/nixpkgs";
inputs.nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
inputs.deploy-rs.url = "github:serokell/deploy-rs";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, nixos-generators, deploy-rs, flake-utils }:
let
inherit (self.nixosConfigurations.default) config;
inherit (config.nixpkgs.hostPlatform) system;
in
{
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
modules = [ ./configuration.nix ];
specialArgs = { inherit self; };
};
deploy.nodes."jupyter.intra.lair.onl" = {
hostname = "jupyter.intra.lair.onl";
profiles.system = {
user = "root";
sshUser = "root";
path = deploy-rs.lib.${system}.activate.nixos self.nixosConfigurations.default;
};
};
checks =
builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy)
deploy-rs.lib;
} // (flake-utils.lib.eachSystem [ system ] (localSystem:
let
pkgs = import nixpkgs { inherit localSystem; };
inherit (pkgs) mkShell deploy-rs;
in
{
devShells.default = mkShell { packages = [ deploy-rs ]; };
packages.default =
(nixos-generators.nixosGenerate {
system = localSystem;
modules = [ ./configuration.nix ];
specialArgs = { inherit self; };
format = "proxmox-lxc";
}).override {
fileName = "nixos-${config.system.stateVersion}-jupyterhub_${self.lastModifiedDate}_amd64";
};
}));
}