-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflake.nix
More file actions
90 lines (80 loc) · 2.51 KB
/
flake.nix
File metadata and controls
90 lines (80 loc) · 2.51 KB
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
{
description = "a2not NixOS/Ubuntu/Darwin configs with home-manager";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-darwin = {
url = "github:LnL7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
llm-agents = {
url = "github:numtide/llm-agents.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-lima = {
url = "github:nixos-lima/nixos-lima";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs @ {
self,
nixpkgs,
nix-darwin,
nixos-lima,
nixos-generators,
...
}: let
username = builtins.getEnv "USER";
homeDirectory = builtins.getEnv "HOME";
limaVMName = builtins.getEnv "LIMA_VM_NAME";
in {
hm = import ./home-manager {inherit inputs username homeDirectory;};
homeConfigurations = {
aarch64-linux = self.hm.mkHomeManager {system = "aarch64-linux";};
aarch64-darwin = self.hm.mkHomeManager {system = "aarch64-darwin";};
x86_64-linux = self.hm.mkHomeManager {system = "x86_64-linux";};
};
darwinConfigurations."mac" = nix-darwin.lib.darwinSystem {
system = "aarch64-darwin";
specialArgs = {inherit inputs username;};
modules = [
./system/darwin
];
};
nixosConfigurations."lima" = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
specialArgs = {inherit nixos-lima limaVMName;};
modules = [
./system/nixos
];
};
# TODO: needs linux-builder or nix-rosetta-builder to build
# https://github.com/nixos-lima/nixos-lima/blob/master/README.md#prerequisites
#
# error: a 'aarch64-linux' with features {} is required to build '/nix/store/xxxxxxxx-X-Restart-Triggers-dhcpcd.drv',
# but I am a 'aarch64-darwin' with features {apple-virt, benchmark, big-parallel, nixos-test}
img = nixos-generators.nixosGenerate {
pkgs = import nixpkgs {system = "aarch64-linux";};
specialArgs = {inherit nixos-lima;};
modules = [
./system/nixos
];
format = "qcow-efi";
};
};
}