1. Ouvrir le terminal
2. Créer le fichier sunshine.nix
sudo nano /etc/nixos/customConfig/sunshine.nix
Code à recopier (Vous avez un bouton à droite du code pour copier le bloc en entier.)
{ config, pkgs, ... }:
let
username = "TON-USER"; # <-- ton utilisateur Linux
in
{
# Session ouverte au boot : obligatoire pour Sunshine (service utilisateur)
services.displayManager.autoLogin = {
enable = true;
user = username;
};
# Découverte du PC par Moonlight sur le LAN
services.avahi = {
enable = true;
nssmdns4 = true;
publish = {
enable = true;
addresses = true;
userServices = true;
};
};
services.sunshine = {
enable = true;
autoStart = true;
capSysAdmin = true;
openFirewall = true;
};
# Ne pas lancer Sunshine sur la session GDM (conflit de ports sinon)
systemd.user.services.sunshine.unitConfig.ConditionUser = username;
# Souris : profil flat (meilleur ressenti sous Moonlight)
programs.dconf.profiles.user.databases = [{
settings."org/gnome/desktop/peripherals/mouse" = {
accel-profile = "flat";
};
}];
users.users.${username}.extraGroups = [ "input" ];
}
Coller le contenu de sunshine.nix.
Remplacer username = "TON-USER" par ton utilisateur Linux.
Ctrl + X -> O -> Entrée
3. Modifier default.nix
sudo nano /etc/nixos/customConfig/default.nix
Dans imports :
./sunshine.nix
Ctrl + X -> O -> Entrée
4. Ports - Nix Firewall Manager
Ajouter 2 règles, puis Sauvegarder et Reconstruire :
Règle 1 - Nom : Sunshine-TCP | Protocole : TCP
Ports : 47984, 47989, 47990, 48010
Règle 2 - Nom : Sunshine-UDP | Protocole : UDP
Ports : 47998, 47999, 48000, 48002, 48010
5. Rebuild
glf-update && reboot
6. Premier lancement
- Sur le PC : https://localhost:47990 ou cliquer sur l’icône Sunshine sur le bureau → créer le compte admin
- Installer Moonlight sur le client
- Le PC apparaît tout seul, sinon Add Host + IP du PC
- Appairer dans Moonlight avec le PIN
Option - Wake-on-LAN
BIOS : Wake on LAN → Enabled
sudo nano /etc/nixos/customConfig/wake-on-lan.nix
{ config, pkgs, ... }:
{
networking = {
interfaces.enp42s0.wakeOnLan.enable = true; # <-- ton interface réseau
firewall.allowedUDPPorts = [ 9 ];
};
}
Coller wake-on-lan.nix. Adapter enp42s0 (ip link show).
Dans default.nix :
./wake-on-lan.nix
glf-update && reboot
Dans Moonlight : MAC de l’interface (ip link show enp42s0).
Wi-Fi maison uniquement (pas 4G).
Tutoriel plus détaillé ici : Wake-On-Lan - Instalation GLF
Désinstallation
Retirer les imports dans default.nix, puis :
glf-update && reboot
rm -rf ~/.config/sunshine
Supprimer aussi les 2 règles dans Nix Firewall Manager.

