Cómo instalar Steam en Nixos?

Cómo instalar Steam en Nixos?
Al instalar cosas en Nixos, debe tener un paquete en el formato correcto en los Nixos.Org Página web. Steam está disponible, pero algunas peculiaridades pueden hacerle tropezar cuando intente instalarlo. Escucharás más sobre esto aquí.

En particular, es un paquete de software no libre, por lo que debe habilitar esta opción. También necesitará manejar el problema 'GlxChoosevisual fallido'. El proceso funcionará de una manera en Nixos y otra forma en otras distribuciones. Es más complejo con solo el administrador de paquetes Nix.

Que es Steam?

La mayoría de las personas que vienen ya saben esto, pero vamos a cubrirlo aquí de todos modos. Steam es una plataforma y un mercado para juegos y jugadores. Comenzó como una forma de actualizar tu juego desde Valve. Fue el único por primera vez en la vida. Como la compañía agregó más juegos, también los agregaron a la plataforma. Con tantos juegos disponibles, lo reconstruyeron para ser un mercado y una plataforma comunitaria. Ahora puedes jugar y comprar juegos y mantenerte en contacto con otros jugadores en la plataforma. Dado todo esto, por supuesto, desea que lo instalen en su sistema Nixos.

Instalación del ejecutable principal

Ha habido algunos problemas con Steam en Nixos en el pasado. Los problemas se resolvieron pero aún requieren algunas acciones adicionales en comparación con otros paquetes.

Un problema es que este no es software libre. En segundo lugar, los paquetes usan GLX de la variante de 32 bits, algo que no se refleja claramente en los paquetes. Estos dos problemas deben abordarse en la configuración del Administrador de paquetes: configuración NIX o NIXOS (.nix) archivo. La solución real era establecer el valor de 32 bits de soporte DRI en verdadero. Hubo algunos otros, pero gracias a un nuevo módulo de Maciej Krüger, ahora puede agregar el módulo con el código a continuación.

programas.vapor.habilitar = true;
nixpkgs.configuración.AllownonFree = True;

Este es un módulo que ha resuelto varios problemas con algunas peculiaridades del software Steam. Una vez que tenga este conjunto correctamente, puede ejecutar la instalación. Si está interesado, el siguiente código es de la confirmación que agrega el módulo para que suceda.

config, lib, PKGS, ...:
con lib;
dejar
CFG = config.programas.vapor;
en
opción.programas.vapor.habilitar = mkenableOption "vapor";
config = mkif cfg.permitir
hardware.OpenGL = # Esto corrige el error "GlxChoeSevisual Falling", contexto:
https: // github.com/nixos/nixpkgs/temas/47932
habilitar = true;
drisupport32bit = true;
;
# Opcionalmente, habilite el soporte de Pulseaudio de 32 bits si PulseAudio está habilitado
hardware.pulseaudio.soporte32bit = config.hardware.pulseaudio.permitir;
hardware.hardware de vapor.habilitar = true;
ambiente.SystemPackages = [PKGS.vapor ];
;
meta.mantenedores = con mantenedores; [mkg20001];

Como puede ver en el código, activa el soporte de representación directa y audio de 32 bits. También agrega el paquete 'PKGS.Steam ', que es el paquete de vapor principal. Con la configuración anterior, debe poner en funcionamiento todo el sistema en el siguiente interruptor de reconstrucción. Una vez que haya guardado su configuración, ejecute:

$ Nixos-ReBuild Switch

Para la mayoría de ustedes, esto permitirá que la instalación avance. Ahora debe asegurarse de tener suficiente espacio en disco para la instalación. También los juegos que instalarás también necesitan espacio en disco.

hardware.abre.drisupport32bit = true;

Si las cosas salen mal, usa:

$ Strace Steam

Hay muchos otros paquetes opcionales para instalar si tiene necesidades o deseos especiales.

nixpkgs.Correo de vapor (vapor)

¿Por qué necesitas vapor?? Steam-Run permite ejecutar las bibliotecas Nixos en lugar de las que proporciona Steam. Esto puede funcionar mejor cuando desee ejecutar juegos que esperen un sistema de Linux regular debajo. Algunos juegos necesitan parches para ejecutar, utilizando el entorno Steam. La razón es que solo los juegos proporcionados por Steam están construidos para un entorno cerrado. Para usarlos, agregue el vapor o la nativa de vapor a su archivo de configuración.

ambiente.SystemPackages = con PKGS; [

nativo de vapor
];

También puede usar Steam-Run directamente como un comando, como este:

$ vapor ./empezar juego.mierda

Esto ejecutará el juego en un entorno de Steam directamente.

Dependencias faltantes

Algunos juegos pueden necesitar dependencias que Nixos no proporcione automáticamente. Para solucionar esto, puede agregarlos al archivo de configuración en SystemPackages.

ambiente.SystemPackages = con PKGS; [

(vapor.anulación extrapkgs = pkgs: [mono gtk3 gtk3-x11 libgdiplus zlib];
nationalMy = verdadero; ).correr
(vapor.anular withprimus = true; extrapkgs = PKGS: [Bumblebee Glxinfo];
nationalMy = verdadero; ).correr
(vapor.anular withjava = true; )
];

El código anterior agrega dependencias para muchos casos. Elegirás los que necesitas, por supuesto. También puede buscar otras dependencias que puedan faltar. Sin embargo, estará solo si lo hace, así que prepárese para usar el terminal para comenzar y rastrearlo cuando solicite ayuda en los diferentes foros de soporte.

Otros paquetes útiles

También tiene algunos paquetes especiales que pueden ayudarlo con algunos problemas.

nixpkgs.SteamCMD (SteamCMD)

Este paquete agrega herramientas de línea de comandos Steam. Puede usar esto para instalar software y ejecutar sus propios servidores; Algunas tareas se pueden automatizar.

También tienes muchos otros paquetes disponibles. Para usarlos, los agrega a sus paquetes y reconstruye. Los actualmente disponibles están a continuación:

nixpkgs.Kodiplugins.vapor-launcher (Kodi-plugin-steam-layer)

Iniciar vapor en el modo de imagen grande desde Kodi

nixpkgs.Pidgin-OpenSteamWorks (Pidgin-OpenSteamWorks)

Complemento para pidgin 2.x, que implementa vapor amigos/vapor soy compatibilidad

nixpkgs.bitlbee-steam (bitlbee-step)

Complemento de protocolo de vapor para bitlbee

nixpkgs.Eidolon (Eidolon-1.4.6)

Un solo registro basado en TUI para juegos sin DRM, vinos y vapor en Linux, accedido a través de un menú de lanzamiento de ROFI

nixpkgs.Kodiplugins.controlador de vapor (kodi-plugin-periférico.SteamController)

Complemento binario para el controlador de vapor

nixpkgs.Matterbridge (Matterbridge-1.18.0)

El simple puente entre la materia, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat (a través de XMPP), Matrix y Steam

nixpkgs.SteamController (SteamController)

Un controlador de vapor independiente

nixpkgs.SC-Controller (SC-Controller-0.4.7)

Controlador de modo de usuario y GUI para controlador de vapor y otros controladores

Conclusión

Steam presenta un pequeño problema porque una gran parte de la plataforma y algunos juegos aún requieren bibliotecas de 32 bits, y debe habilitar eso. Con suerte, has recibido tu respuesta aquí. Si no, puede preguntar en los foros! Nixos es extremadamente versátil, pero conocer el idioma Nix es una tarea. Cuando cambie, asegúrese de tener una comprensión fundamental del lenguaje para evitar búsquedas largas y sinuosas soluciones. Deberías poder encontrar muchos tú mismo con suficiente comprensión del lenguaje Nix.