#!/bin/bash

#enable editing
if [ -z "$(grep amdgpu.ppfeaturemask /etc/default/grub)" ];then
    sed -i '/GRUB_CMDLINE_LINUX_DEFAULT/s/\"/ amdgpu.ppfeaturemask=0xfffd7fff"/2' /etc/default/grub
    update-grub
fi

# list all normal users
# user=$(who | awk 'NR==1{print $1}')
users=$(eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1)

for user in ${users[@]};do
    #run without asking for password
cat << EOF > /etc/polkit-1/rules.d/90-corectrl-$user.rules
polkit.addRule(function(action, subject) {
    if ((action.id == "org.corectrl.helper.init" ||
        action.id == "org.corectrl.helperkiller.init") &&
        subject.local == true &&
        subject.active == true &&
        subject.isInGroup("$user")) {
            return polkit.Result.YES;
    }
});
EOF

    #enable autostart
    cp /usr/share/applications/org.corectrl.corectrl.desktop /home/$user/.config/autostart/org.corectrl.CoreCtrl.desktop
    chown $user:$user /home/$user/.config/autostart/org.corectrl.CoreCtrl.desktop

    # check and create configuration directory
    if [ ! -d "/home/$user/.config/corectrl" ];then
      mkdir -p /home/$user/.config/corectrl
      chown $user:$user /home/$user/.config/corectrl
    fi

    # check and create configuration directory
    if [ ! -d "/home/$user/.config/corectrl/profiles" ];then
      mkdir -p /home/$user/.config/corectrl/profiles
      chown $user:$user /home/$user/.config/corectrl/profiles
    fi

    # check and create configuration file
    if [ ! -e /home/$user/.config/corectrl/corectrl.ini ];then
cat << EOF > /home/$user/.config/corectrl/corectrl.ini
[General]
startOnSysTray=true
EOF
    chown $user:$user /home/$user/.config/corectrl/corectrl.ini
    fi

    # default config
    if [ ! -e /home/$user/.config/corectrl/profiles/_global_.ccpro -a -e /etc/skel/.config/corectrl/profiles/_global_.ccpro ];then
        cp /etc/skel/.config/corectrl/profiles/_global_.ccpro /home/$user/.config/corectrl/profiles/_global_.ccpro
        chown $user:$user /etc/skel/.config/corectrl/profiles/_global_.ccpro
    fi
done
