

# TODO: If detect "$HOME/.config/x-cmd", then ___X_CMD_ROOT_CFG set.

# chezmoi add $___X_CMD_ROOT_CFG

# link to ~/.config/x-cmd-cfg
# x chezmoi add ~/.config/x-cmd-cfg

# x chezmoi add ~/.config

___x_cmd_root_dotconfig(){
    [ $# -gt 0 ]    ||  set -- --help

    local op="$1" ;     shift
    case "$op" in
        -h|--help)      ___x_cmd help -m root dotconfig "$@" ;;
        activate|isactivated|status|apply)
                        ___x_cmd_root_dotconfig_"$op"   "$@" ;;
        *)              N=root M="Unsupported op -> $op" log:ret:64 ;;
    esac
}

___X_CMD_ROOT_DOTCONFIG="$HOME/.config/x-cmd-cfg"

___x_cmd_root_dotconfig_activate(){
    [ ! -e "$___X_CMD_ROOT_DOTCONFIG" ] || {
        x:info "Already existed -> $___X_CMD_ROOT_DOTCONFIG"
        return 1
    }

    ___x_cmd mkdirp "$HOME/.config"
    ___x_cmd rmrf "$___X_CMD_ROOT_DOTCONFIG"

    # Consider backup ?
    ___x_cmd cp -r -i "$___X_CMD_ROOT_CFG" "$___X_CMD_ROOT_DOTCONFIG"

    ___x_cmd rmrf "$___X_CMD_ROOT_CFG"

    ___x_cmd mklink -d "$___X_CMD_ROOT_DOTCONFIG" "$___X_CMD_ROOT_CFG"
}

___x_cmd_root_dotconfig_isactivated(){
    [ -e "$___X_CMD_ROOT_DOTCONFIG" ]
}

___x_cmd_root_dotconfig_status(){
    if ___x_cmd_root_dotconfig_isactivated; then
        x:info "Link to dotconfig is activated."
    else
        x:info --tip "x root dotconfig activate" \
            "Link to dotconfig is not activated. You can follow the tip to activate it."
    fi
}


