{{- if ne .host.distro.family "windows" -}} #!/usr/bin/env bash {{ includeTemplate "universal/profile" }} {{ includeTemplate "universal/logg" }} ### Ensure Chrome policies directory is present for POLICY_DIR in "/opt/google/chrome/policies" "/etc/chromium/policies" "/etc/brave/policies"; do ### Managed policies if [ ! -f "$POLICY_DIR/managed/policies.json" ]; then logg info "Ensuring directory $POLICY_DIR/managed exists" sudo mkdir -p "$POLICY_DIR/managed" logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/chrome/managed.json to $POLICY_DIR/managed/policies.json" sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/managed.json" "$POLICY_DIR/managed/policies.json" fi ### Recommended policies if [ ! -f "$POLICY_DIR/recommended/policies.json" ]; then logg info "Ensuring directory $POLICY_DIR/recommended exists" sudo mkdir -p "$POLICY_DIR/recommended" logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/chrome/recommended.json to $POLICY_DIR/recommended/policies.json" sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/recommended.json" "$POLICY_DIR/recommended/policies.json" fi done ### Add Chrome extension JSON for EXTENSION_DIR in "/opt/google/chrome/extensions" "/etc/chromium/extensions" "/etc/brave/extensions" "$HOME/Library/Application Support/Google/Chrome/External Extensions" "$HOME/Library/Application Support/Microsoft/Edge/External Extensions" "$HOME/Library/Application Support/BraveSoftware/Brave-Browser/External Extensions" ; do ### Ensure program-type is installed if [ -d "$(dirname "$EXTENSION_DIR")" ]; then ### Ensure extension directory exists if [[ "$EXTENSION_DIR" == '/opt/'* ]] || [[ "$EXTENSION_DIR" == '/etc/'* ]]; then if [ ! -d "$EXTENSION_DIR" ]; then logg info "Creating directory $EXTENSION_DIR" sudo mkdir -p "$EXTENSION_DIR" fi else if [ ! -d "$EXTENSION_DIR" ]; then logg info "Creating directory $EXTENSION_DIR" mkdir -p "$EXTENSION_DIR" fi fi ### Add extension JSON logg info "Adding Chrome extensions to $EXTENSION_DIR" for EXTENSION in {{ list (.chromeExtensions | toString | replace "[" "" | replace "]" "") | uniq | join " " }}; do logg info "Adding Chrome extension manifest ($EXTENSION)" EXTENSION_ID="$(echo "$EXTENSION" | sed 's/^.*\/\([^\/]*\)$/\1/')" if [[ "$EXTENSION_DIR" == '/opt/'* ]] || [[ "$EXTENSION_DIR" == '/etc/'* ]]; then sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/extension.json" "$EXTENSION_DIR/${EXTENSION_ID}.json" else cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/extension.json" "$EXTENSION_DIR/${EXTENSION_ID}.json" fi done else logg info "$EXTENSION_DIR does not exist" fi done {{ end -}}