all repos — char/flake @ c9224fa9fb35ca85ead8bb8225df20e26d959352

nixos flake

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}