-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
101 lines (90 loc) · 2.59 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
{
description = "Joe rules";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
x13s-nixos.url = "github:TheNightmanCodeth/x13s-nixos/jhovold-6.12-rc4";
catppuccin.url = "github:catppuccin/nix";
vpn-confinement.url = "github:Maroka-chan/VPN-Confinement";
nixos-cosmic = {
url = "github:lilyinstarlight/nixos-cosmic";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
ghostty = {
url = "git+ssh://[email protected]/ghostty-org/ghostty";
inputs.nixpkgs-stable.follows = "nixpkgs";
inputs.nixpkgs-unstable.follows = "nixpkgs";
};
};
outputs = { self,
nixpkgs,
x13s-nixos,
catppuccin,
nixos-cosmic,
home-manager,
ghostty,
vpn-confinement,
... }@inputs:
let
system = "aarch64-linux";
in {
config.hardware.enableRedistributableFirmware = true;
nixpkgs.config.allowUnfree = true;
nixosConfigurations = {
# Thinkpad X13s
thinkpad-X13s = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs system; };
modules = [
x13s-nixos.nixosModules.default
catppuccin.nixosModules.catppuccin
home-manager.nixosModules.home-manager
./hosts/thinkpad-x13s/configuration.nix
];
};
homelab = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; system = "x86_64-linux"; };
modules = [
catppuccin.nixosModules.catppuccin
home-manager.nixosModules.home-manager
vpn-confinement.nixosModules.default
./hosts/homelab/configuration.nix
];
};
installer-iso = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
modules = [
x13s-nixos.nixosModules.default
({ ... }: {
imports = [ "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix" ];
hardware.deviceTree = {
enable = true;
name = "qcom/sc8280xp-lenovo-thinkpad-x13s.dtb";
};
boot = {
initrd = {
systemd.enable = true;
systemd.emergencyAccess = true;
};
loader = {
grub.enable = false;
systemd-boot.enable = true;
systemd-boot.graceful = true;
};
};
nixpkgs.config.allowUnfree = true;
nixos-x13s = {
enable = true;
bluetoothMac = "F4:A8:0D:2A:84:EA";
wifiMac = "F4:A8:0D:FF:7C:87";
};
})
];
};
};
};
}