Hello guys, I would like to know how I can specify and additionally use gnome.adwaita-icon-theme in places where my main icon theme does not have the necessary icons, if when specifying it in the function arguments I get an error, since the package has “.”

{
  stdenvNoCC,
  jdupes,
  gtk3,
  lib,
  hicolor-icon-theme,
  papirus-icon-theme,
  gnome-icon-theme,
  breeze-icons,
  zafiro-icons,
  fetchurl
}:
  stdenvNoCC.mkDerivation rec {
    pname = "tokyo-night-icons";
    version = "0.2.0";
    src = fetchurl {
      url = "https://github.com/ljmill/tokyo-night-icons/releases/download/v${version}/TokyoNight-SE.tar.bz2";
      sha256 = "1aln273alh7qiqfkmb2grnacxb8236l0ylyrxmjcb3qcrivam9mk";
    };
    nativeBuildInputs = [
      jdupes
      gtk3
    ];
    propagatedBuildInputs = [
    hicolor-icon-theme
    papirus-icon-theme
    gnome-icon-theme
    breeze-icons
    zafiro-icons
    ];
    dontDropIconThemeCache = true;
    dontRewriteSymlinks = true;
    dontPatchELF = true;
    installPhase = ''
    mkdir -p $out/share/icons/
    tar xjf $src -C $out/share/icons/
    jdupes --quiet --link-soft --recurse $out/share/icons/TokyoNight-SE
    gtk-update-icon-cache -q -t -f $out/share/icons/TokyoNight-SE
  '';
  meta = with lib; {
    description = "Beautiful icons theme in Tokyo Night style";
    homepage = "https://github.com/ljmill/tokyo-night-icons";
    license = licenses.gpl3;
    platforms = platforms.unix;
    maintainers = [maintainers.varmisa];
  };
} 

It’s icon theme package without gnome.adwaita-icon-theme, when i add it, I getting this error:

error: syntax error, unexpected '.'

       at /etc/nixos/configuration.nix:8:107:

            7|   tokyo-night-icons = import /etc/nixos/gui/themes/icons/tokyo-night-icons/default.nix {
            8|     inherit (pkgs) lib stdenvNoCC jdupes gtk3 hicolor-icon-theme papirus-icon-theme gnome-icon-theme gnome.adwaita-icon-theme breeze-icons zafiro-icons fetchurl;
             |                                                                                                           ^
            9|   };
(use '--show-trace' to show detailed location information)
building Nix...
error: syntax error, unexpected '.'

       at /etc/nixos/configuration.nix:8:107:

            7|   tokyo-night-icons = import /etc/nixos/gui/themes/icons/tokyo-night-icons/default.nix {
            8|     inherit (pkgs) lib stdenvNoCC jdupes gtk3 hicolor-icon-theme papirus-icon-theme gnome-icon-theme gnome.adwaita-icon-theme breeze-icons zafiro-icons fetchurl;
             |                                                                                                           ^
            9|   };
(use '--show-trace' to show detailed location information)
building the system configuration...
error: syntax error, unexpected '.'

       at /etc/nixos/configuration.nix:8:107:

            7|   tokyo-night-icons = import /etc/nixos/gui/themes/icons/tokyo-night-icons/default.nix {
            8|     inherit (pkgs) lib stdenvNoCC jdupes gtk3 hicolor-icon-theme papirus-icon-theme gnome-icon-theme gnome.adwaita-icon-theme breeze-icons zafiro-icons fetchurl;
             |                                                                                                           ^
            9|   };
(use '--show-trace' to show detailed location information)

Also here is my configuration.nix before changes:

{ config
, pkgs
, lib
, ...
}:
let
  tokyo-night-icons = import /etc/nixos/gui/themes/icons/tokyo-night-icons/default.nix {
    inherit (pkgs) lib stdenvNoCC jdupes gtk3 hicolor-icon-theme papirus-icon-theme gnome-icon-theme breeze-icons zafiro-icons fetchurl;
  };
in

  • mister_drgnB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    There’s nothing wrong with periods in package names. The problem is with how you’re using inherit. You could, for example, do the following, on a separate line from your current inherit statement:

    inherit (pkgs.gnome) adwaita-icon-theme;

    If you really need to have gnome.adwaita-icon-theme, with the period, in the arguments to tokyo-night-icons, then you could just skip using inherit:

    gnome.adwaita-icon-theme = pkgs.gnome.adwaita-icon-theme;