flake.nix (view raw)
1{
2 description = "charlotte's NixOS flake";
3 inputs = {
4 nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
5 nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
6 };
7 outputs = { self, nixpkgs, nixpkgs-unstable, ... }@inputs: {
8 nixosConfigurations = {
9 runestone = nixpkgs.lib.nixosSystem {
10 system = "x86_64-linux";
11
12 specialArgs = {
13 user-pkgs = self.packages;
14 unstable-pkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
15 };
16
17 modules = [
18 /* ({ config, pkgs, ... }: {
19 nixpkgs.overlays = [
20 (final: prev: {
21 xdg-desktop-portal-gnome = prev.xdg-desktop-portal-gnome.overrideAttrs (oldAttrs: {
22 patches = (oldAttrs.patches or [ ]) ++ [
23 ./packages/xdg-desktop-portal-gnome/unattended.patch
24 ];
25 });
26 })
27 ];
28 }) */
29
30 ({ ... }: {
31 system.stateVersion = "24.05";
32 })
33
34 ./profiles/common/base.nix
35 ./profiles/common/locale.nix
36 ./profiles/common/networking.nix
37 ./profiles/common/desktop.nix
38
39 ./profiles/runestone/hardware-configuration.nix
40 ./profiles/runestone/base.nix
41 ./profiles/runestone/desktop.nix
42 ./profiles/runestone/grafana-prometheus.nix
43 ];
44 };
45
46 opal = nixpkgs.lib.nixosSystem {
47 system = "x86_64-linux";
48
49 specialArgs = {
50 user-pkgs = self.packages;
51 unstable-pkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
52 };
53
54 modules = [
55 ({ ... }: {
56 system.stateVersion = "24.05";
57 })
58
59 ./profiles/common/base.nix
60 ./profiles/common/locale.nix
61 ./profiles/common/networking.nix
62 ./profiles/common/desktop.nix
63
64 ./profiles/opal/hardware-configuration.nix
65 ./profiles/opal/base.nix
66 ./profiles/runestone/gnome.nix # TODO: replace with a nice wayland twm or something
67 ];
68 };
69 };
70
71 packages =
72 import ./packages/default.nix { pkgs = import nixpkgs { system = "x86_64-linux"; }; };
73 };
74}