-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
54 lines (48 loc) · 1.58 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
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
lix-module = {
url =
"https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager.url = "github:nix-community/home-manager/release-24.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
signal-flags.url = "github:abidingabi/signal-flags";
signal-flags.inputs.nixpkgs.follows = "nixpkgs";
pronounspace = {
type = "github";
owner = "abidingabi";
repo = "pronounspace";
flake = false;
};
};
outputs = inputs:
let
mkSystem = system: stateVersion: hostName:
inputs.nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./devices/base.nix
./devices/${hostName}.nix
{
networking.hostName = hostName;
system.stateVersion = stateVersion;
home-manager.users.abi = { home.stateVersion = stateVersion; };
}
];
specialArgs = {
inherit inputs;
pkgs-unstable = import inputs.nixpkgs-unstable { system = system; };
};
};
in {
nixosConfigurations = {
allium = mkSystem "x86_64-linux" "20.09" "allium"; # a laptop
lily = mkSystem "x86_64-linux" "22.05" "lily"; # a vps
orchid = mkSystem "x86_64-linux" "20.09" "orchid"; # a desktop
poppy = mkSystem "x86_64-linux" "22.11" "poppy"; # a graphical vm
};
};
}