How to install the nord theme for gnome-terminal?

I would like to install the Nord color theme for GNOME Terminal on my NixOS unstable system, but the provided install script does not work for me, probably due to NixOS particularities regarding dconf.

Maybe someone more knowledgeable with dconf could take a look at it, and come with a way of doing it.


1 Like

If you look at the install script, it looks like it just writes to the dconf database. So, you can try running the install script, then converting the dconf data into nix using dconf2nix. I haven’t tried it, but you can give it a shot?

EDIT: Wait, sorry you mentioned the install script did not work for you.

I ran their install script, but it worked for me. Then, I ran dconf2nix and I can see the changes. Do you have gnome-terminal installed on your system? It’s not the same as gnome console.

Here’s what it gave me.

"org/gnome/terminal/legacy/profiles:" = {
      # Put IDs of other profiles if you have some already.
      list = [ "903204a8-2d64-461c-a67d-4fbd5654c266" ];

      # Set the default profile to it.
      default = "903204a8-2d64-461c-a67d-4fbd5654c266";

"org/gnome/terminal/legacy/profiles:/:903204a8-2d64-461c-a67d-4fbd5654c266" = {
      background-color = "#2E3440";
      bold-color = "#D8DEE9";
      bold-color-same-as-fg = true;
      cursor-background-color = "rgb(216,222,233)";
      cursor-colors-set = true;
      cursor-foreground-color = "rgb(59,66,82)";
      foreground-color = "#D8DEE9";
      highlight-background-color = "rgb(136,192,208)";
      highlight-colors-set = true;
      highlight-foreground-color = "rgb(46,52,64)";
      nord-gnome-terminal-version = "0.1.0";
      palette = [ "#3B4252" "#BF616A" "#A3BE8C" "#EBCB8B" "#81A1C1" "#B48EAD" "#88C0D0" "#E5E9F0" "#4C566A" "#BF616A" "#A3BE8C" "#EBCB8B" "#81A1C1" "#B48EAD" "#8FBCBB" "#ECEFF4" ];
      use-theme-background = false;
      use-theme-colors = false;
      use-theme-transparency = false;
      use-transparent-background = false;
      visible-name = "Nord";

Well, you provided zero information about why it does not work, so I can’t tell much more than this.

This is what I get when I run the script:

$ ./ --loglevel 4
[INFO] Validated required dependencies: dconf expr gsettings uuidgen
[INFO] Detected compatible GNOME Terminal version 3.48.2 (>= 3.8 dconf migrated)
No schemas installed
[INFO] Available profile UUIDs:
[WARN] No profiles found!
[ERR] There must be at least one default profile!
[DEBUG] Cleaning up script execution by unsetting declared functions and variables

I have just discovered that it works when I run the script inside gnome-terminal. Otherwise the gnome-terminal schemas are not found.

From terminology:

$ gsettings get org.gnome.Terminal.ProfilesList list
No schemas installed

From gnome-terminal:

$ gsettings get org.gnome.Terminal.ProfilesList list
['b1dcc9dd-5262-4d8d-a863-c897e6d979b9', '6424465a-fbd6-49ba-800b-909d45d9c09e', '0b56a96b-875b-479d-9fa6-2af5eb9cafe2', '60776c6b-6209-4410-9264-fb342aeb7d7f']

This happens because the gnome-terminal gsettings schemas dir is added to XDG_DATA_DIRS in the gnome-terminal binary wrapper only.