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 =
8 {
9 self,
10 nixpkgs,
11 nixpkgs-unstable,
12 ...
13 }@inputs:
14 {
15 nixosConfigurations = {
16 runestone = nixpkgs.lib.nixosSystem {
17 system = "x86_64-linux";
18
19 specialArgs = {
20 user-pkgs = self.packages;
21 unstable-pkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
22 };
23
24 modules = [
25 /*
26 ({ config, pkgs, ... }: {
27 nixpkgs.overlays = [
28 (final: prev: {
29 xdg-desktop-portal-gnome = prev.xdg-desktop-portal-gnome.overrideAttrs (oldAttrs: {
30 patches = (oldAttrs.patches or [ ]) ++ [
31 ./packages/xdg-desktop-portal-gnome/unattended.patch
32 ];
33 });
34 })
35 ];
36 })
37 */
38
39 (
40 { ... }:
41 {
42 system.stateVersion = "24.05";
43 }
44 )
45
46 ./profiles/common/base.nix
47 ./profiles/common/locale.nix
48 ./profiles/common/networking.nix
49 ./profiles/common/desktop.nix
50
51 ./profiles/runestone/hardware-configuration.nix
52 ./profiles/runestone/base.nix
53 ./profiles/runestone/desktop.nix
54 ./profiles/runestone/grafana-prometheus.nix
55 ];
56 };
57
58 opal = nixpkgs.lib.nixosSystem {
59 system = "x86_64-linux";
60
61 specialArgs = {
62 user-pkgs = self.packages;
63 unstable-pkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
64 };
65
66 modules = [
67 (
68 { ... }:
69 {
70 system.stateVersion = "24.05";
71 }
72 )
73
74 ./profiles/common/base.nix
75 ./profiles/common/locale.nix
76 ./profiles/common/networking.nix
77 ./profiles/common/desktop.nix
78
79 ./profiles/opal/hardware-configuration.nix
80 ./profiles/opal/base.nix
81 ./profiles/runestone/gnome.nix # TODO: replace with a nice wayland twm or something
82 ];
83 };
84 };
85
86 packages = import ./packages/default.nix { pkgs = import nixpkgs { system = "x86_64-linux"; }; };
87 };
88}