{ config, inputs, lib, osConfig ? null, pkgs, ... }: let hm = inputs.self.lib.hmModule { inherit config inputs osConfig ; optionPath = [ "shell" "exercism" ]; }; cfg = config.my.shell.exercism; exercism = import ./common.nix { inherit pkgs; }; in { options.my.shell.exercism.enable = lib.mkEnableOption "Exercism coding practice platform"; config = lib.mkMerge [ { my.shell.exercism.enable = lib.mkDefault hm.enabledByDefault; } (lib.mkIf cfg.enable { home.packages = exercism.packages; }) ]; }