all repos — char/flake @ 6419c77d877f86a946455ce9bd45667bcd512f8d

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  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 = import nixpkgs-unstable {
51              system = "x86_64-linux";
52              config.allowUnfree = true;
53            };
54          };
55
56          modules = [
57            ({ ... }: {
58              system.stateVersion = "25.11";
59            })
60
61            nixos-hardware.nixosModules.framework-desktop-amd-ai-max-300-series
62
63            disko.nixosModules.disko
64            ./profiles/onyx/disks.nix
65
66            ./profiles/common/base.nix
67            ./profiles/common/locale.nix
68            ./profiles/common/networking.nix
69
70            ./profiles/onyx/hardware-configuration.nix
71            ./profiles/onyx/base.nix
72            ./profiles/onyx/nvidia.nix
73            ./profiles/onyx/hyper-v.nix
74            ./profiles/onyx/borg.nix
75          ];
76        };
77      };
78
79      packages = {
80        x86_64-linux = import ./packages/default.nix {
81          pkgs = import nixpkgs { system = "x86_64-linux"; };
82        };
83      };
84    };
85}