[General/Desktop] Add minimal config

This commit is contained in:
Antoine Viallon 2022-10-05 08:52:52 +02:00
parent 0b706634e8
commit 233927842b
Signed by: aviallon
GPG key ID: 186FC35EDEB25716
2 changed files with 23 additions and 14 deletions

View file

@ -28,6 +28,12 @@ in {
default = 80.0; default = 80.0;
example = 0.0; example = 0.0;
}; };
noise-filter.enable = mkOption {
description = "Wether to enable noise filter at all";
type = types.bool;
default = true;
example = false;
};
}; };
graphics = { graphics = {
shaderCache = { shaderCache = {
@ -70,7 +76,7 @@ in {
services.xserver.xkbOptions = "eurosign:e"; services.xserver.xkbOptions = "eurosign:e";
boot.plymouth.enable = mkDefault true; boot.plymouth.enable = mkDefault (!generalCfg.minimal);
aviallon.boot.cmdline = { aviallon.boot.cmdline = {
splash = mkIf (!generalCfg.debug) ""; splash = mkIf (!generalCfg.debug) "";
"udev.log_level" = mkIf (!generalCfg.debug) 3; "udev.log_level" = mkIf (!generalCfg.debug) 3;
@ -85,7 +91,7 @@ in {
# Enable sound. # Enable sound.
sound.enable = false; sound.enable = false;
services.pipewire = { services.pipewire = mkIf (!generalCfg.minimal) {
enable = true; enable = true;
pulse.enable = true; pulse.enable = true;
jack.enable = true; jack.enable = true;
@ -104,7 +110,7 @@ in {
programs.xwayland.enable = true; programs.xwayland.enable = true;
# Hardware-agnostic audio denoising # Hardware-agnostic audio denoising
systemd.user.services.pipewire-noise-filter = { systemd.user.services.pipewire-noise-filter = mkIf cfg.audio.noise-filter.enable {
serviceConfig = { serviceConfig = {
ExecStart = [ ExecStart = [
"${pkgs.pipewire}/bin/pipewire -c ${filterConfig}" "${pkgs.pipewire}/bin/pipewire -c ${filterConfig}"
@ -127,25 +133,25 @@ in {
hardware.opengl.driSupport = true; hardware.opengl.driSupport = true;
# For 32 bit applications # For 32 bit applications
hardware.opengl.driSupport32Bit = true; hardware.opengl.driSupport32Bit = mkIf (!generalCfg.minimal) (mkDefault true);
# programs.gnupg.agent.pinentryFlavor = "qt"; # programs.gnupg.agent.pinentryFlavor = "qt";
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
myFirefox
chromium chromium
p7zip p7zip
vlc
glxinfo glxinfo
vdpauinfo vdpauinfo
libva-utils libva-utils
] ]
++ [ ++ (optionals (!generalCfg.minimal) [
myFirefox
spotify spotify
nextcloud-client nextcloud-client
libreoffice-fresh libreoffice-fresh
unstable.kotatogram-desktop unstable.kotatogram-desktop
]; vlc
]);
programs.chromium = { programs.chromium = {
enable = true; enable = true;
@ -187,8 +193,8 @@ in {
}; };
programs.steam.enable = true; programs.steam.enable = !generalCfg.minimal;
hardware.steam-hardware.enable = true; hardware.steam-hardware.enable = !generalCfg.minimal;
programs.steam.remotePlay.openFirewall = true; programs.steam.remotePlay.openFirewall = true;
environment.variables = { environment.variables = {
"__GL_SHADER_DISK_CACHE" = "true"; "__GL_SHADER_DISK_CACHE" = "true";
@ -212,12 +218,12 @@ in {
"steam" "steam-original" "steam-runtime" "steam" "steam-original" "steam-runtime"
]; ];
services.packagekit.enable = true; services.packagekit.enable = mkDefault (!generalCfg.minimal);
networking.networkmanager = { networking.networkmanager = {
plugins = [ plugins = []
pkgs.networkmanager-openvpn ++ optional (!generalCfg.minimal) pkgs.networkmanager-openvpn
]; ;
}; };
}; };
} }

View file

@ -40,6 +40,9 @@ in
description = "Enable aviallon's general tuning"; description = "Enable aviallon's general tuning";
type = types.bool; type = types.bool;
}; };
minimal = mkEnableOption "minimal installation";
cores = mkOption { cores = mkOption {
default = null; default = null;
example = 4; example = 4;