split/rename options, bundle vendor settings

This commit is contained in:
Vinzenz Schroeter 2023-09-24 10:46:15 +02:00
parent 1b7989336e
commit 3a9a7242fc
18 changed files with 109 additions and 54 deletions

View file

@ -4,28 +4,24 @@ modulesCfg: {
lib,
...
}: let
isEnabled = modulesCfg.enableDesktop;
enableHomeManager = modulesCfg.enableHomeManager;
cfg = config.my.desktop;
in {
imports = lib.optionals isEnabled [
<home-manager/nixos>
./gnome.nix
./kde.nix
./vinzenz.nix
./ronja.nix
./gaming.nix
];
imports =
[
./gnome.nix
./kde.nix
./vinzenz.nix
./ronja.nix
./gaming.nix
]
++ lib.optionals enableHomeManager [
<home-manager/nixos>
];
options.my.modulesCfg.enableDesktop = lib.mkEnableOption "enable desktop module";
options.my.modulesCfg.enableHomeManager = lib.mkEnableOption "enable home manager";
options.my.desktop = {
enable = lib.mkEnableOption "desktop";
gnome.enable = lib.mkEnableOption "gnome desktop";
kde.enable = lib.mkEnableOption "KDE desktop";
ronja.enable = lib.mkEnableOption "user ronja";
vinzenz.enable = lib.mkEnableOption "user vinzenz";
gaming.enable = lib.mkEnableOption "gaming with wine";
};
options.my.desktop.enable = lib.mkEnableOption "desktop";
config = lib.mkIf cfg.enable {
home-manager.useUserPackages = true;
@ -114,8 +110,6 @@ in {
systemPackages = with pkgs; [
lm_sensors
tldr
ncdu
];
};

View file

@ -4,10 +4,13 @@
lib,
...
}: let
cfg = config.my.desktop.gaming;
isEnabled = config.my.desktop.enableGaming;
in {
imports = [];
config = lib.mkIf cfg.enable {
options.my.desktop.enableGaming = lib.mkEnableOption "gaming with wine";
config = lib.mkIf isEnabled {
hardware.opengl.driSupport32Bit = true;
environment.systemPackages = with pkgs; [

View file

@ -5,7 +5,7 @@
...
}: let
desktopCfg = config.my.desktop;
cfg = desktopCfg.gnome;
isEnabled = desktopCfg.enableGnome;
applyGnomeUserSettings = {
home.packages = with pkgs; [
@ -19,7 +19,9 @@
};
};
in {
config = lib.mkIf cfg.enable {
options.my.desktop.enableGnome = lib.mkEnableOption "gnome desktop";
config = lib.mkIf isEnabled {
my.desktop.enable = true;
services = {

View file

@ -5,7 +5,7 @@
...
}: let
desktopCfg = config.my.desktop;
cfg = desktopCfg.kde;
isEnabled = desktopCfg.enableKde;
applyKdeUserSettings = {
home = {
@ -18,7 +18,9 @@
};
};
in {
config = lib.mkIf cfg.enable {
options.my.desktop.enableKde = lib.mkEnableOption "KDE desktop";
config = lib.mkIf isEnabled {
my.desktop.enable = true;
# flatpak xdg-portal-kde crashes, otherwise this would be global

View file

@ -7,6 +7,8 @@
with lib; let
cfg = config.my.desktop.ronja;
in {
options.my.desktop.ronja.enable = lib.mkEnableOption "user ronja";
config = lib.mkIf cfg.enable {
# Define user account
users.users.ronja = {

View file

@ -6,6 +6,8 @@
}: let
cfg = config.my.desktop.vinzenz;
in {
options.my.desktop.vinzenz.enable = lib.mkEnableOption "user vinzenz";
config = lib.mkIf cfg.enable {
# Define user account
users.users.vinzenz = {