all repos — char/flake @ f6f8216403a0a87d97014f2200dfdfa080d286e8

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            lix.nixosModules.default
 85
 86            niri.nixosModules.niri
 87            ({ ... }: {
 88              nixpkgs.overlays = [ niri.overlays.niri ];
 89            })
 90
 91            (
 92              { ... }:
 93              {
 94                system.stateVersion = "23.05";
 95              }
 96            )
 97
 98            ./profiles/common/base.nix
 99            ./profiles/common/locale.nix
100            ./profiles/common/networking.nix
101            ./profiles/common/desktop.nix
102
103            ./profiles/opal/hardware-configuration.nix
104            ./profiles/opal/base.nix
105            ./profiles/opal/software.nix
106            ./profiles/runestone/desktop.nix
107          ];
108        };
109      };
110
111      packages = {
112        x86_64-linux = import ./packages/default.nix {
113          pkgs = import nixpkgs { system = "x86_64-linux"; };
114        };
115      };
116    };
117}