فا نیکسی

Urxvt

Urxvt که با نام rxvt-unicode نیز شناخته می‌شود، یک شبیه‌ساز ترمینال با قابلیت سفارشی‌سازی بالا

rxvt-unicode.override {
  configure =
    { availablePlugins, ... }:
    {
      plugins = with availablePlugins; [
        perls
        resize-font
        vtwheel
      ];
    };
}

اگر تابع configure یک مجموعه ویژگی را بدون صفت plugins برگرداند، availablePlugins به‌طور خودکار استفاده خواهد شد.

برای افزودن پلاگین‌ها و در عین حال حفظ تمامی پلاگین‌های پیش‌فرض نصب‌شده، می‌توان از روش زیر استفاده کرد:

rxvt-unicode.override {
  configure =
    { availablePlugins, ... }:
    {
      plugins = (builtins.attrValues availablePlugins) ++ [ custom-plugin ];
    };
}

برای دریافت فهرستی از تمام افزونه‌های موجود، Nix REPL را باز کرده و اجرا کنید

$ nix repl
:l <nixpkgs>
map (p: p.name) pkgs.rxvt-unicode.plugins

یا اینکه، اگر شل (Shell) شما Bash یا zsh است و قابلیت تکمیل فعال است، عبارت nixpkgs.rxvt-unicode.plugins.<tab> را تای

rxvt-unicode.override {
  configure =
    { availablePlugins, ... }:
    {
      pluginsDeps = [ xsel ];
    };
}

perlDeps روشی کاربردی برای ارائه بسته‌های Perl به افزونه‌های سفارشی شما (در $HOME/.urxvt/ext) است. برای مثال، اگر به AnyEvent نیاز دارید می‌توانید این‌طور عمل کنید:

rxvt-unicode.override {
  configure =
    { availablePlugins, ... }:
    {
      perlDeps = with perlPackages; [ AnyEvent ];
    };
}

vt plugins ->## بسته‌بندی افزونه‌های urxvt ``

  • Backtick content preserved:
{ passthru.perlPackages = [ "self" ]; }

این کار باعث می‌شود wrapperِ urxvt وابستگی را شناسایی کرده و مسیر Perl را بر همین اساس تنظیم کند.