feat(nixosModules/desktop): add steam

This commit is contained in:
Mohammad Rafiq 2025-05-25 19:08:11 +08:00
parent cd569cd72f
commit 5396f6dd63
No known key found for this signature in database
5 changed files with 53 additions and 23 deletions

View file

@ -21,5 +21,10 @@
zeroconf_port = 5353; zeroconf_port = 5353;
}; };
}) })
(lib.mkIf osConfig.desktop.enableSteam {
home.persistence."/persist/home/${config.snowfallorg.user.name}".directories = [
".local/share/Steam"
];
})
]; ];
} }

View file

@ -25,6 +25,7 @@ in
"uwsm app -- $LOCKSCREEN" "uwsm app -- $LOCKSCREEN"
"uwsm app -- $NOTIFICATION_DAEMON" "uwsm app -- $NOTIFICATION_DAEMON"
]; ];
xwayland.force_zero_scaling = true;
} }
(import ./decoration.nix) (import ./decoration.nix)
(import ./keybinds.nix { inherit pkgs; }) (import ./keybinds.nix { inherit pkgs; })
@ -32,7 +33,13 @@ in
}; };
xdg.configFile."uwsm/env".text = # sh xdg.configFile."uwsm/env".text = # sh
'' ''
export GDK_SCALE=${mainMonitor.scale}
export STEAM_FORCE_DESKTOPUI_SCALING=${mainMonitor.scale}
'';
xdg.configFile."uwsm/env-hyprland".text = # sh
''
export GDK_SCALE=${mainMonitor.scale}
export STEAM_FORCE_DESKTOPUI_SCALING=${mainMonitor.scale}
''; '';
}; };
} }

View file

@ -1,4 +1,4 @@
{ lib, ... }: { lib, config, ... }:
{ {
imports = [ imports = [
./windowManager.nix ./windowManager.nix
@ -17,5 +17,15 @@
terminal = lib.pantheon.mkStrOption; terminal = lib.pantheon.mkStrOption;
notification-daemon = lib.pantheon.mkStrOption; notification-daemon = lib.pantheon.mkStrOption;
enableSpotifyd = lib.mkEnableOption ""; enableSpotifyd = lib.mkEnableOption "";
enableSteam = lib.mkEnableOption "";
}; };
config = lib.mkMerge [
(lib.mkIf config.desktop.enableSteam {
programs.steam = {
enable = true;
gamescopeSession.enable = true;
};
})
];
} }

View file

@ -24,5 +24,6 @@
enable = true; enable = true;
settings.General.Experimental = true; settings.General.Experimental = true;
}; };
hardware.xone.enable = true;
}; };
} }

View file

@ -3,30 +3,37 @@
... ...
}: }:
{ {
system.hostname = "nemesis"; system = {
system.mainUser.name = "rafiq"; hostname = "nemesis";
system.mainUser.publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdsZyY3gu8IGB8MzMnLdh+ClDxQQ2RYG9rkeetIKq8n"; mainUser.name = "rafiq";
system.bootloader = "systemd-boot"; mainUser.publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdsZyY3gu8IGB8MzMnLdh+ClDxQQ2RYG9rkeetIKq8n";
hardware.drives.btrfs = { bootloader = "systemd-boot";
enable = true;
drive = "/dev/disk/by-id/nvme-CT2000P3SSD8_2325E6E77434";
ephemeralRoot = true;
}; };
hardware.platform = "amd";
hardware.gpu = "nvidia";
desktop.windowManager = "hyprland"; hardware = {
desktop.browser = "firefox"; drives.btrfs = {
desktop.terminal = "ghostty"; enable = true;
desktop.lockscreen = "hyprlock"; drive = "/dev/disk/by-id/nvme-CT2000P3SSD8_2325E6E77434";
desktop.notification-daemon = "mako"; ephemeralRoot = true;
desktop.mainMonitor = { };
id = "desc:OOO AN-270W04K"; platform = "amd";
scale = "2"; gpu = "nvidia";
resolution = "3840x2160";
refresh-rate = "60";
}; };
desktop.enableSpotifyd = true;
desktop = {
windowManager = "hyprland";
browser = "firefox";
terminal = "ghostty";
lockscreen = "hyprlock";
notification-daemon = "mako";
mainMonitor = {
id = "desc:OOO AN-270W04K";
scale = "2";
resolution = "3840x2160";
refresh-rate = "60";
};
enableSpotifyd = true;
enableSteam = true;
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
} }