Hi.
  Env variables enumerated in home-fish-configuration are translated into
set VAR VALUE statements in config.fish file. This set VAR in global scope which is fine. However, for fish shell, if variables are to be exported, the command syntax is
set -x VAR VALUE

So serialize-fish-env-vars in gnu/home/services/shells.scm needs to be modified from
#~(string-append "set " #$key " "  #$value "\n") to
#~(string-append "set -x" #$key " "  #$value "\n")


-Milind