diff --git a/desktop/general.nix b/desktop/general.nix index cfaaf4a..f4fdb2e 100644 --- a/desktop/general.nix +++ b/desktop/general.nix @@ -53,64 +53,80 @@ in { (mkRemovedOptionModule [ "aviallon" "desktop" "graphics" "shaderCache" "path" ] "Now always relative to $XDG_CACHE_HOME" ) ]; - config = mkIf cfg.enable { + config = mkIf cfg.enable (mkMerge [ + { + aviallon.network.backend = mkDefault "NetworkManager"; - aviallon.network.backend = mkDefault "NetworkManager"; + aviallon.boot.kernel = pkgs.linuxKernel.kernels.linux_xanmod; - aviallon.boot.kernel = pkgs.linuxKernel.kernels.linux_xanmod; + # Enable the X11 windowing system. + services.xserver.enable = true; + # services.xserver.tty = mkOverride 70 1; - # Enable the X11 windowing system. - services.xserver.enable = true; - # services.xserver.tty = mkOverride 70 1; + systemd.services."getty@tty1".enable = mkOverride 50 false; + systemd.services."autovt@tty1".enable = mkOverride 50 false; - systemd.services."getty@tty1".enable = mkOverride 50 false; - systemd.services."autovt@tty1".enable = mkOverride 50 false; - - # Configure keymap in X11 - services.xserver.layout = cfg.layout; - services.xserver.xkbOptions = "eurosign:e"; + # Configure keymap in X11 + services.xserver.layout = cfg.layout; + services.xserver.xkbOptions = "eurosign:e"; - boot.plymouth.enable = mkDefault (!generalCfg.minimal); - aviallon.boot.cmdline = { - splash = mkIf (!generalCfg.debug) ""; - "udev.log_level" = mkIf (!generalCfg.debug) 3; - preempt = "full"; - "usbhid.mousepoll" = 1; # 1ms latency for mouse - "usbhid.kbpoll" = 4; # 4ms latency for kb - }; - boot.initrd.verbose = generalCfg.debug; - boot.consoleLogLevel = mkIf (!generalCfg.debug) 1; + aviallon.boot.cmdline = { + splash = mkIf (!generalCfg.debug) ""; + "udev.log_level" = mkIf (!generalCfg.debug) 3; + preempt = "full"; + "usbhid.mousepoll" = 1; # 1ms latency for mouse + "usbhid.kbpoll" = 4; # 4ms latency for kb + }; + boot.initrd.verbose = generalCfg.debug; + boot.consoleLogLevel = mkIf (!generalCfg.debug) 1; - console.enable = mkDefault false; # Completly disable console by default - fonts.enableDefaultFonts = mkIf (!generalCfg.minimal) true; + console.enable = mkDefault false; # Completly disable console by default + security.polkit.enable = true; # Better interactive privilege prompts - hardware.acpilight.enable = mkIf (!generalCfg.minimal) true; - hardware.opentabletdriver.enable = mkIf (!generalCfg.minimal) true; + # Enable running X11 apps on Wayland + programs.xwayland.enable = true; + + # Enable touchpad support (enabled default in most desktopManager). + services.xserver.libinput.enable = true; - hardware.bluetooth = mkIf (!generalCfg.minimal) { - enable = true; - package = pkgs.bluezFull; - }; - - security.polkit.enable = true; # Better interactive privilege prompts - - # Enable running X11 apps on Wayland - programs.xwayland.enable = true; - - # Enable touchpad support (enabled default in most desktopManager). - services.xserver.libinput.enable = true; - - hardware.opengl.driSupport = true; - # For 32 bit applications - hardware.opengl.driSupport32Bit = mkIf (!generalCfg.minimal) (mkDefault true); + hardware.opengl.driSupport = true; - environment.systemPackages = with pkgs; [] - ++ [ + environment.systemPackages = with pkgs; [ p7zip - ] - ++ optionals (!generalCfg.minimal) [ + ]; + + + security.sudo.extraConfig = + '' + # Keep X and Wayland related variables for better GUI integration + Defaults:root,%wheel env_keep+=DISPLAY + Defaults:root,%wheel env_keep+=XAUTHORITY + + Defaults:root,%wheel env_keep+=WAYLAND_DISPLAY + Defaults:root,%wheel env_keep+=WAYLAND_SOCKET + Defaults:root,%wheel env_keep+=XDG_RUNTIME_DIR + '' + ; + + } + (mkIf (!generalCfg.minimal) { + boot.plymouth.enable = mkDefault true; + + fonts.enableDefaultFonts = true; + + hardware.acpilight.enable = true; + hardware.opentabletdriver.enable = true; + + hardware.bluetooth = { + enable = true; + package = pkgs.bluezFull; + }; + + hardware.opengl.driSupport32Bit = mkDefault cfg.gaming.enable; + + environment.systemPackages = with pkgs; [ glxinfo vdpauinfo libva-utils @@ -124,41 +140,26 @@ in { # Spell check support hunspell hunspellDicts.fr-any - + aspell aspellDicts.fr - ] - ; + ]; + aviallon.programs.allowUnfreeList = [ + "spotify" "spotify-unwrapped" - aviallon.programs.allowUnfreeList = [ - "spotify" "spotify-unwrapped" + "veracrypt" + ]; - "veracrypt" - ]; - - aviallon.programs.libreoffice.enable = mkIf (!generalCfg.minimal) true; - - services.packagekit.enable = mkDefault (!generalCfg.minimal); - security.sudo.extraConfig = - '' - # Keep X and Wayland related variables for better GUI integration - Defaults:root,%wheel env_keep+=DISPLAY - Defaults:root,%wheel env_keep+=XAUTHORITY - - Defaults:root,%wheel env_keep+=WAYLAND_DISPLAY - Defaults:root,%wheel env_keep+=WAYLAND_SOCKET - Defaults:root,%wheel env_keep+=XDG_RUNTIME_DIR - '' - ; - - # SmartCards - services.pcscd.enable = mkDefault (!generalCfg.minimal); - networking.networkmanager = { - plugins = [] - ++ optional (!generalCfg.minimal) pkgs.networkmanager-openvpn - ; - }; - }; + aviallon.programs.libreoffice.enable = true; + + services.packagekit.enable = mkDefault true; + + # SmartCards + services.pcscd.enable = mkDefault true; + + networking.networkmanager.plugins = [ pkgs.networkmanager-openvpn ]; + }) + ]); }