73 lines
1.9 KiB
Nix
73 lines
1.9 KiB
Nix
|
{ config, lib, pkgs, ... }:
|
||
|
with lib; {
|
||
|
imports = [ ./gnome.nix ./kde.nix ./xfce.nix ./arcan.nix ];
|
||
|
|
||
|
options = {
|
||
|
pulse = {
|
||
|
enable = mkOption {
|
||
|
description = "Enable PulseAudio";
|
||
|
default = false;
|
||
|
example = true;
|
||
|
type = types.bool;
|
||
|
};
|
||
|
};
|
||
|
pipewire = {
|
||
|
enable = mkOption {
|
||
|
description = "Enable PipeWire";
|
||
|
default = true;
|
||
|
example = true;
|
||
|
type = types.bool;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config = mkMerge [
|
||
|
(mkIf config.arcan.enable {
|
||
|
sound.enable = true;
|
||
|
services = { xserver.enable = false; };
|
||
|
environment.systemPackages = with pkgs; [ brave go-font vlc pcsctools ];
|
||
|
})
|
||
|
(mkIf (config.kde.enable || config.gnome.enable || config.xfce.enable) {
|
||
|
|
||
|
services = {
|
||
|
xserver.enable = true;
|
||
|
pcscd.enable = true;
|
||
|
};
|
||
|
|
||
|
# TODO: TEMP FIX
|
||
|
systemd.services.NetworkManager-wait-online.serviceConfig.ExecStart =
|
||
|
lib.mkForce [ "" "${pkgs.networkmanager}/bin/nm-online -q" ];
|
||
|
|
||
|
sound.enable = true;
|
||
|
security.rtkit.enable = true;
|
||
|
environment.systemPackages = with pkgs; [ brave go-font vlc pcsctools ];
|
||
|
|
||
|
programs = {
|
||
|
firejail = {
|
||
|
enable = true;
|
||
|
wrappedBinaries = {
|
||
|
firefox = {
|
||
|
executable = "${lib.getBin pkgs.firefox}/bin/firefox";
|
||
|
profile = "${pkgs.firejail}/etc/firejail/firefox.profile";
|
||
|
};
|
||
|
#brave = {
|
||
|
# executable = "${lib.getBin pkgs.brave}/bin/brave";
|
||
|
# profile = "${pkgs.firejail}/etc/firejail/brave.profile";
|
||
|
#};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
})
|
||
|
(mkIf config.pulse.enable { hardware.pulseaudio = { enable = true; }; })
|
||
|
(mkIf config.pipewire.enable {
|
||
|
services.pipewire = {
|
||
|
enable = true;
|
||
|
pulse.enable = true;
|
||
|
jack.enable = true;
|
||
|
alsa.enable = true;
|
||
|
};
|
||
|
})
|
||
|
];
|
||
|
}
|