flake.nix (view raw)
1{
2 description = "charlotte's NixOS flake";
3 inputs = {
4 nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
5 nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
6
7 disko.url = "github:nix-community/disko";
8 disko.inputs.nixpkgs.follows = "nixpkgs";
9
10 nixos-hardware.url = "github:NixOS/nixos-hardware/master";
11
12 lanzaboote.url = "github:nix-community/lanzaboote/v1.0.0";
13 lanzaboote.inputs.nixpkgs.follows = "nixpkgs";
14 };
15 outputs =
16 { self
17 , nixpkgs
18 , nixpkgs-unstable
19 , disko
20 , nixos-hardware
21 , lanzaboote
22 , ...
23 }@inputs:
24 {
25 nixosConfigurations = {
26 runestone = nixpkgs.lib.nixosSystem {
27 system = "x86_64-linux";
28
29 specialArgs = {
30 user-pkgs = self.packages."x86_64-linux";
31 unstable-pkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
32 };
33
34 modules = [
35 ({ ... }: {
36 system.stateVersion = "24.05";
37 })
38
39 ./profiles/common/base.nix
40 ./profiles/common/dev.nix
41 ./profiles/common/locale.nix
42 ./profiles/common/networking.nix
43
44 ./profiles/runestone/hardware-configuration.nix
45 ./profiles/runestone/base.nix
46 ./profiles/runestone/borg.nix
47 ./profiles/runestone/postgres.nix
48 ];
49 };
50
51 onyx = nixpkgs.lib.nixosSystem {
52 system = "x86_64-linux";
53
54 specialArgs = {
55 user-pkgs = self.packages."x86_64-linux";
56 unstable-pkgs = import nixpkgs-unstable {
57 system = "x86_64-linux";
58 config.allowUnfree = true;
59 };
60 };
61
62 modules = [
63 ({ ... }: {
64 system.stateVersion = "25.11";
65 })
66
67 nixos-hardware.nixosModules.framework-desktop-amd-ai-max-300-series
68
69 disko.nixosModules.disko
70 ./profiles/onyx/disks.nix
71
72 ./profiles/common/base.nix
73 ./profiles/common/dev.nix
74 ./profiles/common/locale.nix
75 ./profiles/common/networking.nix
76
77 lanzaboote.nixosModules.lanzaboote
78
79 ./profiles/onyx/hardware-configuration.nix
80 ./profiles/onyx/base.nix
81 ./profiles/onyx/secure-boot.nix
82 ./profiles/onyx/nvidia.nix
83 ./profiles/onyx/hyper-v.nix
84 ./profiles/onyx/borg.nix
85 ./profiles/onyx/git-server.nix
86 ];
87 };
88 };
89
90 packages = {
91 x86_64-linux = import ./packages/default.nix {
92 pkgs = import nixpkgs { system = "x86_64-linux"; };
93 };
94 };
95 };
96}