Test distrobox steam
This commit is contained in:
parent
f74e80d0ea
commit
3740489bf0
2 changed files with 53 additions and 7 deletions
|
|
@ -309,7 +309,7 @@ in
|
||||||
# enableSSHSupport = true;
|
# enableSSHSupport = true;
|
||||||
# };
|
# };
|
||||||
|
|
||||||
kk.steam.enable = hwconfig.system == "x86_64-linux";
|
kk.steam.enable = true;
|
||||||
|
|
||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,18 +7,64 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
cfg = config.kk.steam;
|
cfg = config.kk.steam;
|
||||||
|
containerPath = if hwconfig.useImpermanence then "/persist/home/containers/steam" else "/var/containers/steam";
|
||||||
|
containerName = "fedora-steam";
|
||||||
in {
|
in {
|
||||||
options.kk.steam = {
|
options.kk.steam = {
|
||||||
enable = lib.mkEnableOption "Enable steam";
|
enable = lib.mkEnableOption "Enable steam";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (
|
config = lib.mkIf cfg.enable (
|
||||||
# if hwconfig.useImpermanence
|
if hwconfig.system == "aarch64-linux"
|
||||||
# then {
|
then {
|
||||||
# kk.services.flatpak.enable = lib.mkForce true;
|
virtualisation.podman = {
|
||||||
# services.flatpak.packages = ["com.valvesoftware.Steam"];
|
enable = true;
|
||||||
# }
|
dockerCompat = true;
|
||||||
# else
|
};
|
||||||
|
environment.systemPackages = with pkgs;[
|
||||||
|
distrobox
|
||||||
|
(pkgs.writeShellScriptBin "steam-install" ''
|
||||||
|
set -e
|
||||||
|
echo "Проверяем контейнер Steam..."
|
||||||
|
|
||||||
|
if [ ! -d "${containerPath}" ]; then
|
||||||
|
echo "Контейнер не найден, создаем новый с Fedora..."
|
||||||
|
|
||||||
|
# Создаём контейнер с Fedora
|
||||||
|
export PATH=${pkgs.podman}/bin:$PATH
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-create --name "${containerName}" --image registry.fedoraproject.org/fedora:latest --home ${containerPath} --hostname ${containerName} --yes
|
||||||
|
|
||||||
|
echo "Контейнер ${containerName} создан, устанавливаем Steam..."
|
||||||
|
|
||||||
|
# Устанавливаем Steam внутри контейнера
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf upgrade --refresh -y
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/steam
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/fedora-remix-branding
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/fedora-remix-scripts
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/kernel
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/mesa
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/kernel-edge
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/packit-builds
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/u-boot
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/rawhide-rebuilds
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/mesa
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf copr enable -y @asahi/mesa
|
||||||
|
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf upgrade --refresh -y
|
||||||
|
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf install --best --setopt=allow_vendor_change=true asahi-repos -y
|
||||||
|
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf install --best --setopt=allow_vendor_change=true steam -y
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox-enter "${containerName}" -- sudo dnf remove dhcpcd -y
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Экспортируем Steam..."
|
||||||
|
env -u SUDO_USER ${pkgs.distrobox}/bin/distrobox enter "${containerName}" -- distrobox-export --app steam
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;#!hwconfig.useImpermanence;
|
enable = true;#!hwconfig.useImpermanence;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue