forked from Shinonome/dots-hyprland
Add -F, --firstrun
This commit is contained in:
@@ -8,7 +8,7 @@ function copy_file_s_t(){
|
|||||||
local t=$2
|
local t=$2
|
||||||
if [ -f $t ];then
|
if [ -f $t ];then
|
||||||
echo -e "${STY_YELLOW}[$0]: \"$t\" already exists.${STY_RST}"
|
echo -e "${STY_YELLOW}[$0]: \"$t\" already exists.${STY_RST}"
|
||||||
if $firstrun;then
|
if ${INSTALL_FIRSTRUN};then
|
||||||
echo -e "${STY_BLUE}[$0]: It seems to be the firstrun.${STY_RST}"
|
echo -e "${STY_BLUE}[$0]: It seems to be the firstrun.${STY_RST}"
|
||||||
v mv $t $t.old
|
v mv $t $t.old
|
||||||
v cp -f $s $t
|
v cp -f $s $t
|
||||||
@@ -35,11 +35,19 @@ function copy_dir_s_t(){
|
|||||||
#####################################################################################
|
#####################################################################################
|
||||||
# In case some dirs does not exists
|
# In case some dirs does not exists
|
||||||
v mkdir -p $XDG_BIN_HOME $XDG_CACHE_HOME $XDG_CONFIG_HOME $XDG_DATA_HOME/icons
|
v mkdir -p $XDG_BIN_HOME $XDG_CACHE_HOME $XDG_CONFIG_HOME $XDG_DATA_HOME/icons
|
||||||
if test -f "${FIRSTRUN_FILE}"; then
|
|
||||||
firstrun=false
|
case ${INSTALL_FIRSTRUN} in
|
||||||
else
|
# When specify --firstrun
|
||||||
firstrun=true
|
true) sleep 0 ;;
|
||||||
fi
|
# When not specify --firstrun
|
||||||
|
*)
|
||||||
|
if test -f "${FIRSTRUN_FILE}"; then
|
||||||
|
${INSTALL_FIRSTRUN}=false
|
||||||
|
else
|
||||||
|
${INSTALL_FIRSTRUN}=true
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# `--delete' for rsync to make sure that
|
# `--delete' for rsync to make sure that
|
||||||
# original dotfiles and new ones in the SAME DIRECTORY
|
# original dotfiles and new ones in the SAME DIRECTORY
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ Idempotent installation for dotfiles.
|
|||||||
Options for install:
|
Options for install:
|
||||||
-h, --help Print this help message and exit
|
-h, --help Print this help message and exit
|
||||||
-f, --force (Dangerous) Force mode without any confirm
|
-f, --force (Dangerous) Force mode without any confirm
|
||||||
|
-F, --fisrtrun Act like it is the first run
|
||||||
-c, --clean Clean the build cache first
|
-c, --clean Clean the build cache first
|
||||||
--skip-allgreeting Skip the whole process greeting
|
--skip-allgreeting Skip the whole process greeting
|
||||||
--skip-alldeps Skip the whole process installing dependency
|
--skip-alldeps Skip the whole process installing dependency
|
||||||
@@ -43,8 +44,8 @@ cleancache(){
|
|||||||
|
|
||||||
# `man getopt` to see more
|
# `man getopt` to see more
|
||||||
para=$(getopt \
|
para=$(getopt \
|
||||||
-o hfk:cs \
|
-o hfFk:cs \
|
||||||
-l help,force,fontset:,clean,skip-allgreeting,skip-alldeps,skip-allsetups,skip-allfiles,skip-sysupdate,skip-plasmaintg,skip-backup,skip-quickshell,skip-fish,skip-hyprland,skip-fontconfig,skip-miscconf,core,exp-files,via-nix \
|
-l help,force,firstrun,fontset:,clean,skip-allgreeting,skip-alldeps,skip-allsetups,skip-allfiles,skip-sysupdate,skip-plasmaintg,skip-backup,skip-quickshell,skip-fish,skip-hyprland,skip-fontconfig,skip-miscconf,core,exp-files,via-nix \
|
||||||
-n "$0" -- "$@")
|
-n "$0" -- "$@")
|
||||||
[ $? != 0 ] && echo "$0: Error when getopt, please recheck parameters." && exit 1
|
[ $? != 0 ] && echo "$0: Error when getopt, please recheck parameters." && exit 1
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
@@ -69,6 +70,7 @@ while true ; do
|
|||||||
-c|--clean) shift;;
|
-c|--clean) shift;;
|
||||||
## Ones without parameter
|
## Ones without parameter
|
||||||
-f|--force) ask=false;shift;;
|
-f|--force) ask=false;shift;;
|
||||||
|
-F|--firstrun) INSTALL_FIRSTRUN=true;shift;;
|
||||||
--skip-allgreeting) SKIP_ALLGREETING=true;shift;;
|
--skip-allgreeting) SKIP_ALLGREETING=true;shift;;
|
||||||
--skip-alldeps) SKIP_ALLDEPS=true;shift;;
|
--skip-alldeps) SKIP_ALLDEPS=true;shift;;
|
||||||
--skip-allsetups) SKIP_ALLSETUPS=true;shift;;
|
--skip-allsetups) SKIP_ALLSETUPS=true;shift;;
|
||||||
|
|||||||
Reference in New Issue
Block a user