fix steam-deck?

This commit is contained in:
Tyler Starr 2023-09-02 11:06:41 -07:00
parent c4c303a253
commit b936165ded
6 changed files with 78 additions and 139 deletions

View File

@ -1,5 +1,10 @@
{ config, lib, pkgs, pkgs-unstable, user, ... }:
{
imports = [
./steam-deck.nix
../../modules
];
nix = {
package = pkgs.nixFlakes;
extraOptions = "experimental-features = nix-command flakes";
@ -108,7 +113,6 @@
};
# Enable modules
imports = [ ../../modules ];
modules = {
services = {
samba-client.enable = true;
@ -118,7 +122,6 @@
};
gaming = {
steam.enable = true;
steam-deck.enable = true;
};
};

View File

@ -0,0 +1,66 @@
{ config, lib, pkgs, pkgs-unstable, user, jovian-nixos, home-manager, ... }:
{
imports = [
(jovian-nixos + "/modules")
home-manager.nixosModule
];
jovian = {
steam.desktopSession = "gnome-xorg";
steam.enable = true;
steam.autoStart = true;
steam.user = "${user}";
devices.steamdeck = {
enable = true;
};
};
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = false;
services.xserver.desktopManager.gnome.enable = true;
# Enable GNOME
sound.enable = true;
hardware.pulseaudio.enable = lib.mkForce false;
environment.systemPackages = with pkgs; [
gnome.gnome-terminal
gnomeExtensions.dash-to-dock
jupiter-dock-updater-bin
steamdeck-firmware
];
# GNOME settings through home
home-manager.users.${user} = {
dconf.settings = {
# Enable on-screen keyboard
"org/gnome/desktop/a11y/applications" = {
screen-keyboard-enabled = true;
};
"org/gnome/shell" = {
enabled-extensions = [
"dash-to-dock@micxgx.gmail.com"
];
favorite-apps = ["steam.desktop"];
};
# Dash to Dock settings for a better touch screen experience
"org/gnome/shell/extensions/dash-to-dock" = {
background-opacity = 0.80000000000000004;
custom-theme-shrink = true;
dash-max-icon-size = 48;
dock-fixed = true;
dock-position = "LEFT";
extend-height = true;
height-fraction = 0.60999999999999999;
hot-keys = false;
preferred-monitor = -2;
preferred-monitor-by-connector = "eDP-1";
scroll-to-focused-application = true;
show-apps-at-top = true;
show-mounts = true;
show-show-apps-button = true;
show-trash = false;
};
};
};
}

View File

@ -5,11 +5,11 @@
programs.home-manager.enable = true;
# Setup git
#programs.git = {
# enable = true;
# userName = "starr-dusT";
# userEmail = "starrtyler88@gmail.com"
#};
programs.git = {
enable = true;
userName = "starr-dusT";
userEmail = "starrtyler88@gmail.com";
};
home.packages = with pkgs; [
chezmoi

View File

@ -1,4 +1,4 @@
{ ... }:
{
imports = [ ./steam.nix ./steam-deck.nix ];
imports = [ ./steam.nix ];
}

View File

@ -1,130 +0,0 @@
{ config, lib, pkgs, pkgs-unstable, user, jovian-nixos, home-manager, ... }:
let
cfg = config.modules.gaming.steam-deck;
in {
imports = [
(jovian-nixos + "/modules")
home-manager.nixosModule
];
options.modules.gaming.steam-deck.enable = lib.mkEnableOption "steam-deck";
config = lib.mkIf cfg.enable {
jovian = {
steam.desktopSession = "gnome-xorg";
steam.enable = true;
steam.autoStart = true;
steam.user = "${user}";
devices.steamdeck = {
enable = true;
};
};
#services.xserver.displayManager.gdm.wayland = lib.mkForce true; # lib.mkForce is only required on my setup because I'm using some other NixOS configs that conflict with this value
#services.xserver.displayManager.defaultSession = "steam-wayland";
#services.xserver.displayManager.autoLogin.enable = true;
#services.xserver.displayManager.autoLogin.user = "${user}";
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = false;
services.xserver.desktopManager.gnome.enable = true;
# Enable GNOME
sound.enable = true;
hardware.pulseaudio.enable = lib.mkForce false;
# Create user
users.users.${user} = {
isNormalUser = true;
};
#systemd.services.gamescope-switcher = {
# wantedBy = [ "graphical.target" ];
# serviceConfig = {
# User = 1000;
# PAMName = "login";
# WorkingDirectory = "~";
# TTYPath = "/dev/tty7";
# TTYReset = "yes";
# TTYVHangup = "yes";
# TTYVTDisallocate = "yes";
# StandardInput = "tty-fail";
# StandardOutput = "journal";
# StandardError = "journal";
# UtmpIdentifier = "tty7";
# UtmpMode = "user";
# Restart = "always";
# };
# script = ''
# set-session () {
# mkdir -p ~/.local/state
# >~/.local/state/steamos-session-select echo "$1"
# }
# consume-session () {
# if [[ -e ~/.local/state/steamos-session-select ]]; then
# cat ~/.local/state/steamos-session-select
# rm ~/.local/state/steamos-session-select
# else58 closure
# echo "gamescope"
# fi
# }
# while :; do
# session=$(consume-session)
# case "$session" in
# plasma)
# dbus-run-session -- gnome-shell --display-server --wayland
# ;;
# gamescope)
# steam-session
# ;;
# esac
# done
# '';
#};
environment.systemPackages = with pkgs; [
gnome.gnome-terminal
gnomeExtensions.dash-to-dock
jupiter-dock-updater-bin
steamdeck-firmware
];
# GNOME settings through home
home-manager.users.${user} = {
dconf.settings = {
# Enable on-screen keyboard
"org/gnome/desktop/a11y/applications" = {
screen-keyboard-enabled = true;
};
"org/gnome/shell" = {
enabled-extensions = [
"dash-to-dock@micxgx.gmail.com"
];
favorite-apps = ["steam.desktop"];
};
# Dash to Dock settings for a better touch screen experience
"org/gnome/shell/extensions/dash-to-dock" = {
background-opacity = 0.80000000000000004;
custom-theme-shrink = true;
dash-max-icon-size = 48;
dock-fixed = true;
dock-position = "LEFT";
extend-height = true;
height-fraction = 0.60999999999999999;
hot-keys = false;
preferred-monitor = -2;
preferred-monitor-by-connector = "eDP-1";
scroll-to-focused-application = true;
show-apps-at-top = true;
show-mounts = true;
show-show-apps-button = true;
show-trash = false;
};
};
};
};
}