92 lines
2.3 KiB
Nix
92 lines
2.3 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
userSettings,
|
|
...
|
|
}: {
|
|
imports = [
|
|
./settings/audio.nix
|
|
./settings/desktops.nix
|
|
./settings/fonts.nix
|
|
./settings/locales.nix
|
|
./settings/network.nix
|
|
./settings/nvidia.nix
|
|
./settings/printing.nix
|
|
./settings/loginManager.nix
|
|
./settings/style.nix
|
|
./settings/default-applications.nix
|
|
./settings/logind.nix
|
|
./settings/updates.nix
|
|
./settings/bootloader.nix
|
|
|
|
./settings/user.nix
|
|
];
|
|
|
|
nix.settings = {
|
|
experimental-features = ["nix-command" "flakes"];
|
|
trusted-users = ["root" "${userSettings.username}" "@wheel"];
|
|
};
|
|
|
|
sys = {
|
|
audio.enable = lib.mkDefault true;
|
|
bootloader.plymouth.enable = lib.mkDefault true;
|
|
#bootloader.systemd-boot.enable = lib.mkDefault true;
|
|
desktop = {
|
|
plasma.enable =
|
|
if userSettings.plasma == true
|
|
then lib.mkDefault true
|
|
else lib.mkDefault false;
|
|
gnome.enable =
|
|
if userSettings.gnome == true
|
|
then lib.mkDefault true
|
|
else lib.mkDefault false;
|
|
hyprland.enable =
|
|
if userSettings.hyprland == true
|
|
then lib.mkDefault true
|
|
else lib.mkDefault false;
|
|
};
|
|
fonts.packages = lib.mkDefault true;
|
|
locales.enable = lib.mkDefault true;
|
|
network.enable = lib.mkDefault true;
|
|
bluetooth = {
|
|
enable = lib.mkDefault true;
|
|
blueman.enable = lib.mkDefault true;
|
|
media-player-control.enable = lib.mkDefault false;
|
|
};
|
|
|
|
autoUpdate.enable = lib.mkDefault true;
|
|
autoCleanup.enable = lib.mkDefault false;
|
|
|
|
nvidia = {
|
|
enable = lib.mkDefault false;
|
|
mode = lib.mkDefault "none";
|
|
optimus = {
|
|
offload =
|
|
if config.sys.nvidia.mode == "offload"
|
|
then true
|
|
else false;
|
|
sync =
|
|
if config.sys.nvidia.mode == "sync"
|
|
then true
|
|
else false;
|
|
reverse =
|
|
if config.sys.nvidia.mode == "reverse"
|
|
then true
|
|
else false;
|
|
};
|
|
disable =
|
|
if config.sys.nvidia.mode == "disable"
|
|
then true
|
|
else false;
|
|
};
|
|
|
|
printing.enable = lib.mkDefault true;
|
|
login = {
|
|
sddm.enable = lib.mkDefault true;
|
|
gdm.enable = lib.mkDefault false;
|
|
};
|
|
style.enable = lib.mkDefault true;
|
|
default-applications.enable = lib.mkDefault true;
|
|
};
|
|
}
|