Conditional on options as a mechanism for ensuring compatibility across NixOS versions?

This commit is contained in:
Daniel Flanagan 2024-07-31 10:24:55 -05:00
parent dbabc70e2f
commit 594078f84f
2 changed files with 23 additions and 33 deletions

View file

@ -233,32 +233,7 @@
flakeInputs = self.inputs;
};
nixosConfigurations = let
system = {
nixpkgsInput,
modules ? [],
system ? "x86_64-linux",
}:
nixpkgsInput.lib.nixosSystem {
inherit system;
modules = modules ++ [nixosModules.common];
};
stableSystem = {
modules,
system ? "x86_64-linux",
}:
system {
nixpkgsInput = nixpkgs;
modules = modules ++ [nixosModules.stableCommon];
};
unstableSystem = {
modules,
system ? "x86_64-linux",
}:
nixpkgs-unstable.lib.nixosSystem {
nixosModules.stableCommon
};
in {
nixosConfigurations = {
beefcake = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = with nixosModules; [

View file

@ -419,7 +419,13 @@
};
};
graphical-workstation = {pkgs, ...}: {
graphical-workstation = {
pkgs,
lib,
options,
config,
...
}: {
imports = with nixosModules; [
plasma6
enable-flatpaks-and-appimages
@ -431,13 +437,22 @@
xdg.portal.enable = true;
hardware = {
graphics = {
enable = true;
# driSupport32Bit = true;
# driSupport = true;
hardware =
if builtins.hasAttr "enable" options.hardware.graphics
then {
graphics = {
enable = true;
# driSupport32Bit = true;
# driSupport = true;
};
}
else {
opengl = {
enable = true;
driSupport32Bit = true;
driSupport = true;
};
};
};
environment = {
systemPackages = with pkgs; [
libnotify