all repos — char/flake @ 2ad44b45f4cd2e73224ae0a834466f1e5687b1ec

nixos flake

flake.nix (view raw)

  1{
  2  description = "charlotte's NixOS flake";
  3  inputs = {
  4    nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
  5    nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
  6
  7    lix = {
  8      url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz";
  9      inputs.nixpkgs.follows = "nixpkgs";
 10    };
 11
 12    niri = {
 13      url = "github:sodiboo/niri-flake";
 14      inputs.nixpkgs.follows = "nixpkgs";
 15    };
 16  };
 17  outputs =
 18    { self
 19    , nixpkgs
 20    , nixpkgs-unstable
 21    , lix
 22    , niri
 23    , ...
 24    }@inputs:
 25    {
 26      nixosConfigurations = {
 27        runestone = nixpkgs.lib.nixosSystem {
 28          system = "x86_64-linux";
 29
 30          specialArgs = {
 31            user-pkgs = self.packages."x86_64-linux";
 32            unstable-pkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
 33          };
 34
 35          modules = [
 36            /*
 37              ({ config, pkgs, ... }: {
 38                nixpkgs.overlays = [
 39                  (final: prev: {
 40                    xdg-desktop-portal-gnome = prev.xdg-desktop-portal-gnome.overrideAttrs (oldAttrs: {
 41                      patches = (oldAttrs.patches or [ ]) ++ [
 42                        ./packages/xdg-desktop-portal-gnome/unattended.patch
 43                      ];
 44                    });
 45                  })
 46                ];
 47              })
 48            */
 49
 50            lix.nixosModules.default
 51
 52            niri.nixosModules.niri
 53            ({ ... }: {
 54              nixpkgs.overlays = [ niri.overlays.niri ];
 55            })
 56
 57            (
 58              { ... }:
 59              {
 60                system.stateVersion = "24.05";
 61              }
 62            )
 63
 64            ./profiles/common/base.nix
 65            ./profiles/common/locale.nix
 66            ./profiles/common/networking.nix
 67            ./profiles/common/desktop.nix
 68
 69            ./profiles/runestone/hardware-configuration.nix
 70            ./profiles/runestone/base.nix
 71            ./profiles/runestone/desktop.nix
 72          ];
 73        };
 74
 75        opal = nixpkgs.lib.nixosSystem {
 76          system = "x86_64-linux";
 77
 78          specialArgs = {
 79            user-pkgs = self.packages."x86_64-linux";
 80            unstable-pkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
 81          };
 82
 83          modules = [
 84            niri.nixosModules.niri
 85            ({ ... }: {
 86              nixpkgs.overlays = [ niri.overlays.niri ];
 87            })
 88
 89            (
 90              { ... }:
 91              {
 92                system.stateVersion = "23.05";
 93              }
 94            )
 95
 96            ./profiles/common/base.nix
 97            ./profiles/common/locale.nix
 98            ./profiles/common/networking.nix
 99            ./profiles/common/desktop.nix
100
101            ./profiles/opal/hardware-configuration.nix
102            ./profiles/opal/base.nix
103            ./profiles/opal/software.nix
104            ./profiles/runestone/desktop.nix
105          ];
106        };
107      };
108
109      packages = {
110        x86_64-linux = import ./packages/default.nix {
111          pkgs = import nixpkgs { system = "x86_64-linux"; };
112        };
113      };
114    };
115}