Caution

⚠️ Attention : La modification du fichier /etc/nixos/customConfig/default.nix est à vos risques et périls, n'y touchez que si vous savez ce que vous faites ! ⚠️


GLF-OS fournit un espace pour ajouter vos configurations personnalisés dans /etc/nixos/customConfig/default.nix

Si la configuration actuelle et les flatpaks ne répondent pas entièrement à vos besoins, vous avez la possibilité de modifier la configuration.


Ajout d'une application présente dans les dépots nix.

Note

A noter que vous pourrez trouver une grande quantité d'applications sur le lien suivant :
https://search.nixos.org/packages


Voici un exemple pratique, nous allons ajouter google chrome.

L'option permettant d'installer google chrome est pkgs.google-chrome trouvable ici https://search.nixos.org/packages?channel=25.05&from=0&size=50&sort=relevance&type=packages&query=google-chrome

1- Ouvrez le fichier /etc/nixos/customConfig/default.nix l'outil Éditeur de texte de Gnome fera l'affaire.

2 -Ajoutez pkgs.google-chrome en dessous du commentaire # Add your stable apps here (exemple: pkgs.btop)

{
  lib,
  config,
  pkgs,
  pkgs-unstable,
  ...
}:

{
  environment.systemPackages = [
  # Add your stable apps here (exemple: pkgs.btop)
    pkgs.google-chrome


  # Add your unstable apps here (exemple: pkgs-unstable.btop)


  ];


  # Add your custom configuration here ↓

}

3- Sauvegardez votre fichier avec CTRL+S, le mot de passe root sera demandé.

4- Exécutez la commande avec le terminal :

glf-update

5- Rebootez la machine

Ajout d'une configuration personnalisée.

Si maintenant vous souhaitez ouvrir des ports particulier dans le parefeu c'est dans la partie configuration du même fichier /etc/nixos/customConfig/default.nix que cela se passe.

{
  lib,
  config,
  pkgs,
  pkgs-unstable,
  ...
}:

{
  environment.systemPackages = [
  # Add your stable apps here (exemple: pkgs.btop)
    pkgs.google-chrome


  # Add your unstable apps here (exemple: pkgs-unstable.btop)


  ];


  # Add your custom configuration here ↓
  networking.firewall.allowedTCPPortRanges = [
    { from = 51413; to = 51413; }
  ];

}

Sauvegardez votre fichier avec CTRL+S, le mot de passe root sera demandé.

Exécutez la commande:

glf-update

Rebootez la machine


Au sujet de la modularité

Vous pouvez configurer votre système de manière plus fine en suivant les conseils sur cette page.


Comprendre comment vos réglages se combinent aux nôtres

C'est la notion la plus utile de cette page, et elle explique tous les exemples qui suivent.

NixOS ne lit pas votre fichier « après » le nôtre pour l'écraser : il fusionne les deux. Le comportement dépend du type de l'option.

Type d'option Ce qui se passe
Une liste vos éléments s'ajoutent aux nôtres, rien n'est perdu
Une valeur simple (booléen, chaîne, paquet) conflit si nous l'avons déjà posée, il faut lib.mkForce

Compléter une application déjà fournie par GLF

Note

Vous n'avez rien à retirer chez nous : votre liste s'ajoute à la nôtre.

Prenons OBS Studio. GLF déclare déjà quatre greffons, et en ajoute d'autres selon votre carte graphique. Pour ajouter les vôtres, il suffit de déclarer la liste dans votre fichier :

{
  # Add your custom configuration here ↓
  programs.obs-studio.plugins = with pkgs.obs-studio-plugins; [
    obs-backgroundremoval
    obs-shaderfilter
    input-overlay
  ];
}

Caution

Trois pièges à éviter :

Le même raisonnement vaut pour Steam, dont nous alimentons déjà les outils de compatibilité. Pour ajouter des utilitaires à son environnement :

{
  programs.steam.extraPackages = [
    pkgs.steamtinkerlaunch
    pkgs.protontricks
  ];
}

Changer une valeur que GLF a déjà posée

Ici la fusion ne suffit plus : deux valeurs simples entrent en conflit et l'évaluation échoue. lib.mkForce tranche en votre faveur.

{
  fonts.fontconfig.defaultFonts.monospace = lib.mkForce [ "JetBrainsMono Nerd Font" ];
}

Note

Sans lib.mkForce, vous obtiendrez une erreur du type « The option has conflicting definition values ». Ce message ne signale pas une faute de votre part : il vous demande simplement de dire qui gagne.


Désactiver une brique de GLF

Chaque grand ensemble expose un interrupteur, déjà listé en commentaire dans votre fichier :

{
  glf.firefox.enable = lib.mkForce false;   # retirer Firefox
  glf.gaming.enable = lib.mkForce false;    # retirer tout le pack gaming
  glf.printing.enable = lib.mkForce false;  # retirer l'impression
}

Note

Pour les applications individuelles, préférez GLF Customizer : il écrit dans un fichier prévu pour cela et évite les conflits.


Modifier un paquet lui-même

Quand aucune option n'existe, on agit sur le paquet.

{
  environment.systemPackages = [
    (pkgs.mpv.override { scripts = [ pkgs.mpvScripts.mpris ]; })
  ];
}

Caution

Le paquet ne correspond alors plus à celui du cache binaire : il devra être recompilé sur votre machine. Prévoyez le temps nécessaire.


Trouver les options et les paquets


Pour aller plus loin, côté NixOS


En cas de problème

Note

Une erreur d'évaluation n'installe rien : votre système reste tel quel. Vous ne risquez pas de le casser en essayant.

Si un démarrage se passe mal après une modification, choisissez la génération précédente dans le menu de démarrage, elle est toujours là.

Pour revenir en arrière sans redémarrer :

sudo nixos-rebuild switch --rollback

🌐 www.gaminglinux.frDiscord-Symbol-Blurple Discord GLF


© 2025 GLF