environment.shellAliases problems


The issue

I would like to build an option like this :

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

  options.perso.latex = lib.mkEnableOption "Enable the latex configuration";
  config = lib.mkIf config.perso.latex {
    environment.systemPackages = with pkgs; [ tectonic ipe tikzit ];
    # Using tectonic as a pdflatex & xelatex alias
    environment.shellAliases = { pdflatex = "${pkgs.tectonic}/bin/tectonic"; xelatex = "${pkgs.tectonic}/bin/tectonic"; };

When I import and activate this option via perso.latex = true; in my machine configuration file, I do get tectonic accessible in the command line but I do not get the environment.shellAliases : when I run pdflatex I get :

The program ‘pdflatex’ is currently not installed. It is provided by
several packages. You can install it by typing one of the following:
  nix-env -iA nixos.tetex
  nix-env -iA nixos.texlive.combined.scheme-basic
  nix-env -iA nixos.texlive.combined.scheme-small

and, of course, which pdflatex sends back :
which: no pdflatex in (/home/sirc/.yarn/bin:/home/sirc/.config/yarn/global/node_modules/.bin:/home/sirc/.local/bin:/home/sirc/.fzf/bin:/home/sirc/bin:/run/wrappers/bin:/home/sirc/.nix-profile/bin:/etc/profiles/per-user/sirc/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin)

but when using a nix-shell the command acts as set.
As I use fish in my main shell, is there a way to have all my shell aliases through the option environment.shellAliases that could be overridden via specific options for different shells as suggest the description of the option programs.fish.shellaliases.


While researching my issue I realized that the description for environment.shellaliases does not show up in the documentation site (try to click on the line to see and report if it is just me), even if it exists in the actual code.
I have no idea how to fix it but would like to.

Previous work

I have searched through uses and I can find several people using it as I want :