all repos — char/flake @ 61c831c7c1cabd9384bea2894dd6e7228b1dc66e

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    {
 19      self,
 20      nixpkgs,
 21      nixpkgs-unstable,
 22      lix,
 23      niri,
 24      ...
 25    }@inputs:
 26    {
 27      nixosConfigurations = {
 28        runestone = nixpkgs.lib.nixosSystem {
 29          system = "x86_64-linux";
 30
 31          specialArgs = {
 32            user-pkgs = self.packages."x86_64-linux";
 33            unstable-pkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
 34          };
 35
 36          modules = [
 37            /*
 38              ({ config, pkgs, ... }: {
 39                nixpkgs.overlays = [
 40                  (final: prev: {
 41                    xdg-desktop-portal-gnome = prev.xdg-desktop-portal-gnome.overrideAttrs (oldAttrs: {
 42                      patches = (oldAttrs.patches or [ ]) ++ [
 43                        ./packages/xdg-desktop-portal-gnome/unattended.patch
 44                      ];
 45                    });
 46                  })
 47                ];
 48              })
 49            */
 50
 51            lix.nixosModules.default
 52
 53            niri.nixosModules.niri
 54            ({ ... }: {
 55              nixpkgs.overlays = [ niri.overlays.niri ];
 56            })
 57
 58            (
 59              { ... }:
 60              {
 61                system.stateVersion = "24.05";
 62              }
 63            )
 64
 65            ./profiles/common/base.nix
 66            ./profiles/common/locale.nix
 67            ./profiles/common/networking.nix
 68            ./profiles/common/desktop.nix
 69
 70            ./profiles/runestone/hardware-configuration.nix
 71            ./profiles/runestone/base.nix
 72            ./profiles/runestone/desktop.nix
 73          ];
 74        };
 75
 76        opal = nixpkgs.lib.nixosSystem {
 77          system = "x86_64-linux";
 78
 79          specialArgs = {
 80            user-pkgs = self.packages."x86_64-linux";
 81            unstable-pkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
 82          };
 83
 84          modules = [
 85            lix.nixosModules.default
 86
 87            niri.nixosModules.niri
 88            ({ ... }: {
 89              nixpkgs.overlays = [ niri.overlays.niri ];
 90            })
 91
 92            (
 93              { ... }:
 94              {
 95                system.stateVersion = "23.05";
 96              }
 97            )
 98
 99            ./profiles/common/base.nix
100            ./profiles/common/locale.nix
101            ./profiles/common/networking.nix
102            ./profiles/common/desktop.nix
103
104            ./profiles/opal/hardware-configuration.nix
105            ./profiles/opal/base.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}