revise deck system config
This commit is contained in:
parent
1fa32a8f93
commit
23061f7570
2 changed files with 91 additions and 75 deletions
|
|
@ -7,6 +7,9 @@
|
||||||
../../../modules/desktop.nix
|
../../../modules/desktop.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Desktop module configuration (disable GDM for Jovian autoStart mode)
|
||||||
|
desktop-custom.enableDisplayManager = false;
|
||||||
|
|
||||||
# Bootloader - standard UEFI setup
|
# Bootloader - standard UEFI setup
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
|
|
@ -33,10 +36,8 @@
|
||||||
enableRedistributableFirmware = true;
|
enableRedistributableFirmware = true;
|
||||||
|
|
||||||
# Graphics configuration for AMD
|
# Graphics configuration for AMD
|
||||||
graphics = {
|
# Note: enable32Bit is set by jovian.steam.enable
|
||||||
enable = true;
|
graphics.enable = true;
|
||||||
enable32Bit = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Bluetooth support
|
# Bluetooth support
|
||||||
bluetooth = {
|
bluetooth = {
|
||||||
|
|
@ -50,18 +51,10 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Sound configuration with PipeWire
|
|
||||||
services.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Jovian Steam Deck configuration
|
# Jovian Steam Deck configuration
|
||||||
jovian = {
|
jovian = {
|
||||||
|
hardware.has.amd.gpu = true; # Enables backlight control and early modesetting
|
||||||
|
|
||||||
steam = {
|
steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
|
|
@ -71,6 +64,13 @@
|
||||||
devices.steamdeck = {
|
devices.steamdeck = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoUpdate = true;
|
autoUpdate = true;
|
||||||
|
enableSoundSupport = true; # Steam Deck-optimized PipeWire with DSP
|
||||||
|
enableVendorDrivers = true; # Uses Valve's driver branches instead of upstream
|
||||||
|
};
|
||||||
|
steamos = {
|
||||||
|
useSteamOSConfig = true; # Enable SteamOS optimizations (zram, OOM, sysctl, etc.)
|
||||||
|
enableBluetoothConfig = true; # SteamOS bluetooth defaults
|
||||||
|
enableAutoMountUdevRules = true; # Auto-mount SD cards
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,68 +1,84 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.desktop-custom;
|
||||||
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
# GNOME Desktop Environment
|
options.desktop-custom = {
|
||||||
services.xserver.enable = true;
|
enableDisplayManager = mkOption {
|
||||||
services.displayManager.gdm.enable = true;
|
type = types.bool;
|
||||||
services.desktopManager.gnome.enable = true;
|
default = true;
|
||||||
|
description = "Enable GDM display manager (conflicts with jovian.steam.autoStart)";
|
||||||
# Keyboard layout
|
|
||||||
services.xserver.xkb = {
|
|
||||||
layout = "us";
|
|
||||||
options = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Exclude unwanted GNOME default packages
|
|
||||||
environment.gnome.excludePackages = with pkgs; [
|
|
||||||
gnome-tour
|
|
||||||
gnome-console # terminal (using Ghostty instead)
|
|
||||||
gnome-text-editor # text editor (using Neovim instead)
|
|
||||||
gnome-connections # remote desktop client
|
|
||||||
gnome-font-viewer # font viewer
|
|
||||||
seahorse # passwords and keys
|
|
||||||
baobab # disk usage analyzer
|
|
||||||
gnome-disk-utility # disks
|
|
||||||
gnome-logs # logs viewer
|
|
||||||
gnome-system-monitor # system monitor
|
|
||||||
decibels # audio player
|
|
||||||
epiphany # GNOME web browser
|
|
||||||
file-roller # archive manager
|
|
||||||
geary # GNOME email client
|
|
||||||
gnome-music
|
|
||||||
gnome-photos
|
|
||||||
gnome-maps
|
|
||||||
gnome-weather
|
|
||||||
gnome-contacts
|
|
||||||
gnome-clocks
|
|
||||||
gnome-calculator
|
|
||||||
gnome-calendar
|
|
||||||
gnome-characters
|
|
||||||
simple-scan
|
|
||||||
snapshot # camera
|
|
||||||
totem # video player
|
|
||||||
yelp # help viewer
|
|
||||||
];
|
|
||||||
|
|
||||||
# XDG portal for proper desktop integration
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
extraPortals = with pkgs; [
|
|
||||||
xdg-desktop-portal-gnome
|
|
||||||
xdg-desktop-portal-gtk
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Touchpad configuration
|
|
||||||
services.libinput = {
|
|
||||||
enable = true;
|
|
||||||
touchpad = {
|
|
||||||
naturalScrolling = true;
|
|
||||||
tapping = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# System packages for GNOME
|
config = {
|
||||||
environment.systemPackages = with pkgs; [
|
# GNOME Desktop Environment
|
||||||
hicolor-icon-theme # Fallback icon theme
|
services.xserver.enable = true;
|
||||||
];
|
services.displayManager.gdm.enable = mkIf cfg.enableDisplayManager true;
|
||||||
|
services.desktopManager.gnome.enable = true;
|
||||||
|
|
||||||
|
# Keyboard layout
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = "us";
|
||||||
|
options = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Exclude unwanted GNOME default packages
|
||||||
|
environment.gnome.excludePackages = with pkgs; [
|
||||||
|
gnome-tour
|
||||||
|
gnome-console # terminal (using Ghostty instead)
|
||||||
|
gnome-text-editor # text editor (using Neovim instead)
|
||||||
|
gnome-connections # remote desktop client
|
||||||
|
gnome-font-viewer # font viewer
|
||||||
|
seahorse # passwords and keys
|
||||||
|
baobab # disk usage analyzer
|
||||||
|
gnome-disk-utility # disks
|
||||||
|
gnome-logs # logs viewer
|
||||||
|
gnome-system-monitor # system monitor
|
||||||
|
decibels # audio player
|
||||||
|
epiphany # GNOME web browser
|
||||||
|
file-roller # archive manager
|
||||||
|
geary # GNOME email client
|
||||||
|
gnome-music
|
||||||
|
gnome-photos
|
||||||
|
gnome-maps
|
||||||
|
gnome-weather
|
||||||
|
gnome-contacts
|
||||||
|
gnome-clocks
|
||||||
|
gnome-calculator
|
||||||
|
gnome-calendar
|
||||||
|
gnome-characters
|
||||||
|
simple-scan
|
||||||
|
snapshot # camera
|
||||||
|
totem # video player
|
||||||
|
yelp # help viewer
|
||||||
|
];
|
||||||
|
|
||||||
|
# XDG portal for proper desktop integration
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-gnome
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Touchpad configuration
|
||||||
|
services.libinput = {
|
||||||
|
enable = true;
|
||||||
|
touchpad = {
|
||||||
|
naturalScrolling = true;
|
||||||
|
tapping = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# System packages for GNOME
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
hicolor-icon-theme # Fallback icon theme
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue