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 outputs =
13 { self
14 , nixpkgs
15 , nixpkgs-unstable
16 , disko
17 , nixos-hardware
18 , ...
19 }@inputs:
20 {
21 nixosConfigurations = {
22 runestone = nixpkgs.lib.nixosSystem {
23 system = "x86_64-linux";
24
25 specialArgs = {
26 user-pkgs = self.packages."x86_64-linux";
27 unstable-pkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
28 };
29
30 modules = [
31 ({ ... }: {
32 system.stateVersion = "24.05";
33 })
34
35 ./profiles/common/base.nix
36 ./profiles/common/locale.nix
37 ./profiles/common/networking.nix
38
39 ./profiles/runestone/hardware-configuration.nix
40 ./profiles/runestone/base.nix
41 ./profiles/runestone/postgres.nix
42 ];
43 };
44
45 onyx = nixpkgs.lib.nixosSystem {
46 system = "x86_64-linux";
47
48 specialArgs = {
49 user-pkgs = self.packages."x86_64-linux";
50 unstable-pkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
51 };
52
53 modules = [
54 ({ ... }: {
55 system.stateVersion = "25.11";
56 })
57
58 nixos-hardware.nixosModules.framework-desktop-amd-ai-max-300-series
59
60 disko.nixosModules.disko
61 ./profiles/onyx/disks.nix
62
63 ./profiles/common/base.nix
64 ./profiles/common/locale.nix
65 ./profiles/common/networking.nix
66
67 ./profiles/onyx/hardware-configuration.nix
68 ./profiles/onyx/base.nix
69 ./profiles/onyx/nvidia.nix
70 ./profiles/onyx/hyper-v.nix
71 ];
72 };
73 };
74
75 packages = {
76 x86_64-linux = import ./packages/default.nix {
77 pkgs = import nixpkgs { system = "x86_64-linux"; };
78 };
79 };
80 };
81}