mirror of
https://github.com/aviallon/nixos-lib.git
synced 2026-04-06 01:38:06 +00:00
[Desktop/General] Refactor config for easier modularisation (minimal desktop)
This commit is contained in:
parent
0fa8b85066
commit
0c68b4cf87
1 changed files with 78 additions and 77 deletions
|
|
@ -53,64 +53,80 @@ in {
|
||||||
(mkRemovedOptionModule [ "aviallon" "desktop" "graphics" "shaderCache" "path" ] "Now always relative to $XDG_CACHE_HOME" )
|
(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.
|
systemd.services."getty@tty1".enable = mkOverride 50 false;
|
||||||
services.xserver.enable = true;
|
systemd.services."autovt@tty1".enable = mkOverride 50 false;
|
||||||
# services.xserver.tty = mkOverride 70 1;
|
|
||||||
|
|
||||||
systemd.services."getty@tty1".enable = mkOverride 50 false;
|
# Configure keymap in X11
|
||||||
systemd.services."autovt@tty1".enable = mkOverride 50 false;
|
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 = {
|
||||||
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;
|
preempt = "full";
|
||||||
preempt = "full";
|
"usbhid.mousepoll" = 1; # 1ms latency for mouse
|
||||||
"usbhid.mousepoll" = 1; # 1ms latency for mouse
|
"usbhid.kbpoll" = 4; # 4ms latency for kb
|
||||||
"usbhid.kbpoll" = 4; # 4ms latency for kb
|
};
|
||||||
};
|
boot.initrd.verbose = generalCfg.debug;
|
||||||
boot.initrd.verbose = generalCfg.debug;
|
boot.consoleLogLevel = mkIf (!generalCfg.debug) 1;
|
||||||
boot.consoleLogLevel = mkIf (!generalCfg.debug) 1;
|
|
||||||
|
|
||||||
console.enable = mkDefault false; # Completly disable console by default
|
console.enable = mkDefault false; # Completly disable console by default
|
||||||
fonts.enableDefaultFonts = mkIf (!generalCfg.minimal) true;
|
security.polkit.enable = true; # Better interactive privilege prompts
|
||||||
|
|
||||||
hardware.acpilight.enable = mkIf (!generalCfg.minimal) true;
|
# Enable running X11 apps on Wayland
|
||||||
hardware.opentabletdriver.enable = mkIf (!generalCfg.minimal) true;
|
programs.xwayland.enable = true;
|
||||||
|
|
||||||
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
hardware.bluetooth = mkIf (!generalCfg.minimal) {
|
hardware.opengl.driSupport = true;
|
||||||
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);
|
|
||||||
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; []
|
environment.systemPackages = with pkgs; [
|
||||||
++ [
|
|
||||||
p7zip
|
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
|
glxinfo
|
||||||
vdpauinfo
|
vdpauinfo
|
||||||
libva-utils
|
libva-utils
|
||||||
|
|
@ -124,41 +140,26 @@ in {
|
||||||
# Spell check support
|
# Spell check support
|
||||||
hunspell
|
hunspell
|
||||||
hunspellDicts.fr-any
|
hunspellDicts.fr-any
|
||||||
|
|
||||||
aspell
|
aspell
|
||||||
aspellDicts.fr
|
aspellDicts.fr
|
||||||
]
|
];
|
||||||
;
|
|
||||||
|
|
||||||
|
aviallon.programs.allowUnfreeList = [
|
||||||
|
"spotify" "spotify-unwrapped"
|
||||||
|
|
||||||
aviallon.programs.allowUnfreeList = [
|
"veracrypt"
|
||||||
"spotify" "spotify-unwrapped"
|
];
|
||||||
|
|
||||||
"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 = {
|
aviallon.programs.libreoffice.enable = true;
|
||||||
plugins = []
|
|
||||||
++ optional (!generalCfg.minimal) pkgs.networkmanager-openvpn
|
services.packagekit.enable = mkDefault true;
|
||||||
;
|
|
||||||
};
|
# SmartCards
|
||||||
};
|
services.pcscd.enable = mkDefault true;
|
||||||
|
|
||||||
|
networking.networkmanager.plugins = [ pkgs.networkmanager-openvpn ];
|
||||||
|
})
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue