#!/usr/bin/env bash declare -A mapper=( ["nix"]="nix" ) declare -A edit_file=( ["nix"]="shell.nix" ) if [ -z "$1" ] then echo "No argument given. Use --list (-l) to show all options." exit 1 fi if [ "$1" = "-l" ] || [ "$1" = "--list" ] then echo "${!mapper[@]}" exit fi target="${mapper["$1"]}" if [ -z "$target" ] then echo "Template not found. Use --list (-l) to show all options." exit 1 fi target="$XDG_CONFIG_HOME/templates/$target" if [ -f "$target" ] then cp -i "$target" . echo "Template copied." elif [ -d "$target" ] then cp -irT "$target" . echo "Template copied." else echo "Error copying template." exit 1 fi if [ -n "${edit_file["$1"]}" ] then $EDITOR "${edit_file["$1"]}" fi