{ lib, pkgs, ... }: let toFishPlugin = lib.getAttrs [ "name" "src" ]; in { home.packages = [ pkgs.exercism pkgs.miller # needed by fish plugin ]; programs.fish.plugins = map toFishPlugin [ pkgs.fishPlugins.exercism-cli-fish-wrapper ]; programs.emacs = { extraPackages = epkgs: [ epkgs.exercism ]; extraConfig = '' (use-package exercism :commands (exercism)) ''; }; }