[misc] skip restallation for pacman
This commit is contained in:
parent
0ba89c7f04
commit
a651d1ad5a
|
@ -12,7 +12,7 @@ case "$PM" in
|
||||||
sudo pip3 install docker-compose
|
sudo pip3 install docker-compose
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S docker docker-compose
|
sudo pacman -S --needed docker docker-compose
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ case "$PM" in
|
||||||
gimp
|
gimp
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S \
|
sudo pacman -S --needed \
|
||||||
chromium \
|
chromium \
|
||||||
zathura zathura-pdf-mupdf sxiv\
|
zathura zathura-pdf-mupdf sxiv\
|
||||||
flameshot \
|
flameshot \
|
||||||
|
|
|
@ -12,7 +12,7 @@ case "$PM" in
|
||||||
sudo apt install -y keepassxc
|
sudo apt install -y keepassxc
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S keepassxc
|
sudo pacman -S --needed keepassxc
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,6 @@ case "$PM" in
|
||||||
sudo apt install -y nextcloud-client
|
sudo apt install -y nextcloud-client
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S nextcloud-client
|
sudo pacman -S --needed nextcloud-client
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -9,7 +9,7 @@ case "$PM" in
|
||||||
sudo apt install -y dunst
|
sudo apt install -y dunst
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S dunst
|
sudo pacman -S --needed dunst
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
7
env.sh
7
env.sh
|
@ -32,7 +32,10 @@ lnsf () {
|
||||||
[ "$#" -ne 2 ] && echo "lnsf <src> <symlink>"
|
[ "$#" -ne 2 ] && echo "lnsf <src> <symlink>"
|
||||||
[ ! -L "$2" ] && rm -rf $2
|
[ ! -L "$2" ] && rm -rf $2
|
||||||
SYM_DIR=$(dirname $2)
|
SYM_DIR=$(dirname $2)
|
||||||
[ -n "$SYM_DIR" ] && mkdir -p $SYM_DIR
|
if [ -n "$SYM_DIR" ]; then
|
||||||
|
[ ! -d "$SYM_DIR" ] && rm -rf "$SYM_DIR"
|
||||||
|
mkdir -p "$SYM_DIR"
|
||||||
|
fi
|
||||||
ln -sf $1 $2
|
ln -sf $1 $2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +60,7 @@ case "$PM" in
|
||||||
man sudo
|
man sudo
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S \
|
sudo pacman -S --needed --needed \
|
||||||
base-devel \
|
base-devel \
|
||||||
unzip p7zip \
|
unzip p7zip \
|
||||||
openssh \
|
openssh \
|
||||||
|
|
|
@ -16,12 +16,6 @@ function source-file-if-exists
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if not functions -q fisher
|
|
||||||
set -q XDG_CONFIG_HOME; or set XDG_CONFIG_HOME ~/.config
|
|
||||||
curl https://git.io/fisher --create-dirs -sLo $XDG_CONFIG_HOME/fish/functions/fisher.fish
|
|
||||||
fish -c fisher
|
|
||||||
end
|
|
||||||
|
|
||||||
source-file-if-exists /usr/share/autojump/autojump.fish
|
source-file-if-exists /usr/share/autojump/autojump.fish
|
||||||
source-file-if-exists /usr/local/share/autojump/autojump.fish
|
source-file-if-exists /usr/local/share/autojump/autojump.fish
|
||||||
append-path-if-exists ~/.local/bin
|
append-path-if-exists ~/.local/bin
|
||||||
|
|
436
fish/config/functions/fisher.fish
Normal file
436
fish/config/functions/fisher.fish
Normal file
|
@ -0,0 +1,436 @@
|
||||||
|
set -g fisher_version 3.3.2
|
||||||
|
|
||||||
|
function fisher -a cmd -d "fish plugin manager"
|
||||||
|
set -q XDG_CACHE_HOME; or set XDG_CACHE_HOME ~/.cache
|
||||||
|
set -q XDG_CONFIG_HOME; or set XDG_CONFIG_HOME ~/.config
|
||||||
|
set -q XDG_DATA_HOME; or set XDG_DATA_HOME ~/.local/share
|
||||||
|
|
||||||
|
set -g fish_config $XDG_CONFIG_HOME/fish
|
||||||
|
set -g fisher_cache $XDG_CACHE_HOME/fisher
|
||||||
|
set -g fisher_data $XDG_DATA_HOME/fisher
|
||||||
|
|
||||||
|
set -q fisher_path; or set -g fisher_path $fish_config
|
||||||
|
set -g fishfile $fish_config/fishfile
|
||||||
|
|
||||||
|
for path in {$fish_config,$fisher_path}/{functions,completions,conf.d} $fisher_cache
|
||||||
|
if test ! -d $path
|
||||||
|
command mkdir -p $path
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if test ! -e $fisher_path/completions/fisher.fish
|
||||||
|
echo "fisher complete" >$fisher_path/completions/fisher.fish
|
||||||
|
_fisher_complete
|
||||||
|
end
|
||||||
|
|
||||||
|
if test -e $fisher_path/conf.d/fisher.fish
|
||||||
|
switch "$version"
|
||||||
|
case \*-\*
|
||||||
|
command rm -f $fisher_path/conf.d/fisher.fish
|
||||||
|
case 2\*
|
||||||
|
case \*
|
||||||
|
command rm -f $fisher_path/conf.d/fisher.fish
|
||||||
|
end
|
||||||
|
else
|
||||||
|
switch "$version"
|
||||||
|
case \*-\*
|
||||||
|
case 2\*
|
||||||
|
echo "fisher copy-user-key-bindings" >$fisher_path/conf.d/fisher.fish
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# 2019-10-22: temp code, migrates fishfile from old path back to $fish_config
|
||||||
|
if test -e "$fisher_path/fishfile"; and test ! -e "$fishfile"
|
||||||
|
command mv -f "$fisher_path/fishfile" "$fishfile"
|
||||||
|
end
|
||||||
|
|
||||||
|
# 2020-06-23: temp code, migrates fisher data from XDG_CONFIG_HOME to XDG_DATA_HOME
|
||||||
|
set -l fisher_config $XDG_CONFIG_HOME/fisher
|
||||||
|
if test -d $fisher_config
|
||||||
|
echo "migrating local data from $fisher_config to $fisher_data"
|
||||||
|
command rm -rf $fisher_data
|
||||||
|
command mv -f $fisher_config $fisher_data
|
||||||
|
end
|
||||||
|
|
||||||
|
switch "$cmd"
|
||||||
|
case {,self-}complete
|
||||||
|
_fisher_complete
|
||||||
|
case copy-user-key-bindings
|
||||||
|
_fisher_copy_user_key_bindings
|
||||||
|
case ls
|
||||||
|
set -e argv[1]
|
||||||
|
if test -s "$fishfile"
|
||||||
|
set -l file (_fisher_fmt <$fishfile | _fisher_parse -R | command sed "s|@.*||")
|
||||||
|
_fisher_ls | _fisher_fmt | command awk -v FILE="$file" "
|
||||||
|
BEGIN { for (n = split(FILE, f); ++i <= n;) file[f[i]] } \$0 in file && /$argv[1]/
|
||||||
|
" | command sed "s|^$HOME|~|"
|
||||||
|
end
|
||||||
|
case self-update
|
||||||
|
_fisher_self_update (status -f)
|
||||||
|
case self-uninstall
|
||||||
|
_fisher_self_uninstall
|
||||||
|
case {,-}-v{ersion,}
|
||||||
|
echo "fisher version $fisher_version" (status -f | command sed "s|^$HOME|~|")
|
||||||
|
case {,-}-h{elp,}
|
||||||
|
_fisher_help
|
||||||
|
case ""
|
||||||
|
_fisher_commit --
|
||||||
|
case add rm
|
||||||
|
if not isatty
|
||||||
|
while read -l arg
|
||||||
|
set argv $argv $arg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if test (count $argv) = 1
|
||||||
|
echo "fisher: invalid number of arguments" >&2
|
||||||
|
_fisher_help >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
_fisher_commit $argv
|
||||||
|
case \*
|
||||||
|
echo "fisher: unknown flag or command \"$cmd\"" >&2
|
||||||
|
_fisher_help >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_complete
|
||||||
|
complete -ec fisher
|
||||||
|
complete -xc fisher -n __fish_use_subcommand -a add -d "Add plugins"
|
||||||
|
complete -xc fisher -n __fish_use_subcommand -a rm -d "Remove plugins"
|
||||||
|
complete -xc fisher -n __fish_use_subcommand -a ls -d "List installed plugins matching REGEX"
|
||||||
|
complete -xc fisher -n __fish_use_subcommand -a --help -d "Show usage help"
|
||||||
|
complete -xc fisher -n __fish_use_subcommand -a --version -d "$fisher_version"
|
||||||
|
complete -xc fisher -n __fish_use_subcommand -a self-update -d "Update to the latest version"
|
||||||
|
for pkg in (fisher ls)
|
||||||
|
complete -xc fisher -n "__fish_seen_subcommand_from rm" -a $pkg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_copy_user_key_bindings
|
||||||
|
if functions -q fish_user_key_bindings
|
||||||
|
functions -c fish_user_key_bindings fish_user_key_bindings_copy
|
||||||
|
end
|
||||||
|
function fish_user_key_bindings
|
||||||
|
for file in $fisher_path/conf.d/*_key_bindings.fish
|
||||||
|
source $file >/dev/null 2>/dev/null
|
||||||
|
end
|
||||||
|
if functions -q fish_user_key_bindings_copy
|
||||||
|
fish_user_key_bindings_copy
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_ls
|
||||||
|
for pkg in $fisher_data/*/*/*
|
||||||
|
command readlink $pkg; or echo $pkg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_fmt
|
||||||
|
command sed "s|^[[:space:]]*||;s|^$fisher_data/||;s|^~|$HOME|;s|^\.\/*|$PWD/|;s|^https*:/*||;s|^github\.com/||;s|/*\$||"
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_help
|
||||||
|
echo "usage: fisher add <plugin...> Add plugin/s"
|
||||||
|
echo " fisher rm <plugin...> Remove plugin/s"
|
||||||
|
echo " fisher Update all plugins"
|
||||||
|
echo " fisher ls [<regex>] List installed plugins matching <regex>"
|
||||||
|
echo " fisher --help Show this help"
|
||||||
|
echo " fisher --version Show the current version"
|
||||||
|
echo " fisher self-update Update to the latest version"
|
||||||
|
echo " fisher self-uninstall Uninstall from your system"
|
||||||
|
echo "examples:"
|
||||||
|
echo " fisher add jorgebucaran/z rafaelrinaldi/pure"
|
||||||
|
echo " fisher add gitlab.com/foo/bar@v2"
|
||||||
|
echo " fisher add ~/path/to/local/pkg"
|
||||||
|
echo " fisher add <file"
|
||||||
|
echo " fisher rm rafaelrinaldi/pure"
|
||||||
|
echo " fisher ls | fisher rm"
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_self_update -a file
|
||||||
|
set -l url "https://raw.githubusercontent.com/jorgebucaran/fisher/main/fisher.fish"
|
||||||
|
echo "fetching $url" >&2
|
||||||
|
command curl -s "$url?nocache" >$file.
|
||||||
|
|
||||||
|
set -l next_version (command awk '$4 ~ /^[0-9]+\.[0-9]+\.[0-9]+$/ { print v=$4 } { exit !v }' <$file.)
|
||||||
|
switch "$next_version"
|
||||||
|
case "" $fisher_version
|
||||||
|
command rm -f $file.
|
||||||
|
if test -z "$next_version"
|
||||||
|
echo "fisher: cannot update fisher -- are you offline?" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
echo "fisher is already up-to-date" >&2
|
||||||
|
case \*
|
||||||
|
echo "linking $file" | command sed "s|$HOME|~|" >&2
|
||||||
|
command mv -f $file. $file
|
||||||
|
source $file
|
||||||
|
echo "updated to fisher $fisher_version -- hooray!" >&2
|
||||||
|
_fisher_complete
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_self_uninstall
|
||||||
|
for pkg in (_fisher_ls)
|
||||||
|
_fisher_rm $pkg
|
||||||
|
end
|
||||||
|
|
||||||
|
for file in $fisher_cache $fisher_data $fisher_path/{functions,completions,conf.d}/fisher.fish $fishfile
|
||||||
|
echo "removing $file"
|
||||||
|
command rm -Rf $file 2>/dev/null
|
||||||
|
end | command sed "s|$HOME|~|" >&2
|
||||||
|
|
||||||
|
for name in (set -n | command awk '/^fisher_/')
|
||||||
|
set -e "$name"
|
||||||
|
end
|
||||||
|
|
||||||
|
functions -e (functions -a | command awk '/^_fisher/') fisher
|
||||||
|
complete -c fisher --erase
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_commit -a cmd
|
||||||
|
set -e argv[1]
|
||||||
|
set -l elapsed (_fisher_now)
|
||||||
|
|
||||||
|
if test ! -e "$fishfile"
|
||||||
|
command touch $fishfile
|
||||||
|
echo "created new fishfile in $fishfile" | command sed "s|$HOME|~|" >&2
|
||||||
|
end
|
||||||
|
|
||||||
|
set -l old_pkgs (_fisher_ls | _fisher_fmt)
|
||||||
|
for pkg in (_fisher_ls)
|
||||||
|
_fisher_rm $pkg
|
||||||
|
end
|
||||||
|
command rm -Rf $fisher_data
|
||||||
|
command mkdir -p $fisher_data
|
||||||
|
|
||||||
|
set -l next_pkgs (_fisher_fmt <$fishfile | _fisher_parse -R $cmd (printf "%s\n" $argv | _fisher_fmt))
|
||||||
|
set -l actual_pkgs (_fisher_fetch $next_pkgs)
|
||||||
|
set -l updated_pkgs
|
||||||
|
for pkg in $old_pkgs
|
||||||
|
if contains -- $pkg $actual_pkgs
|
||||||
|
set updated_pkgs $updated_pkgs $pkg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if test -z "$actual_pkgs$updated_pkgs$old_pkgs$next_pkgs"
|
||||||
|
echo "fisher: nothing to commit -- try adding some plugins" >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
set -l out_pkgs
|
||||||
|
if test "$cmd" = "rm"
|
||||||
|
set out_pkgs $next_pkgs
|
||||||
|
else
|
||||||
|
for pkg in $next_pkgs
|
||||||
|
if contains -- (echo $pkg | command sed "s|@.*||") $actual_pkgs
|
||||||
|
set out_pkgs $out_pkgs $pkg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
printf "%s\n" (_fisher_fmt <$fishfile | _fisher_parse -W $cmd $out_pkgs | command sed "s|^$HOME|~|") >$fishfile
|
||||||
|
|
||||||
|
_fisher_complete
|
||||||
|
|
||||||
|
command awk -v A=(count $actual_pkgs) -v U=(count $updated_pkgs) -v O=(count $old_pkgs) -v E=(_fisher_now $elapsed) '
|
||||||
|
BEGIN {
|
||||||
|
res = fmt("removed", O - U, fmt("updated", U, fmt("added", A - U)))
|
||||||
|
printf((res ? res : "done") " in %.2fs\n", E / 1000)
|
||||||
|
}
|
||||||
|
function fmt(action, n, s) {
|
||||||
|
return n ? (s ? s ", " : s) action " " n " plugin" (n > 1 ? "s" : "") : s
|
||||||
|
}
|
||||||
|
' >&2
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_parse -a mode cmd
|
||||||
|
set -e argv[1..2]
|
||||||
|
command awk -v FS="[[:space:]]*#+" -v MODE="$mode" -v CMD="$cmd" -v ARGSTR="$argv" '
|
||||||
|
BEGIN {
|
||||||
|
for (n = split(ARGSTR, a, " "); i++ < n;) pkgs[getkey(a[i])] = a[i]
|
||||||
|
}
|
||||||
|
!NF { next } { k = getkey($1) }
|
||||||
|
MODE == "-R" && !(k in pkgs) && ($0 = $1)
|
||||||
|
MODE == "-W" && (/^#/ || k in pkgs || CMD != "rm") { print pkgs[k] (sub($1, "") ? $0 : "") }
|
||||||
|
MODE == "-W" || CMD == "rm" { delete pkgs[k] }
|
||||||
|
END {
|
||||||
|
for (k in pkgs) {
|
||||||
|
if (CMD != "rm" || MODE == "-W") print pkgs[k]
|
||||||
|
else print "fisher: cannot remove \""k"\" -- plugin is not in fishfile" > "/dev/stderr"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getkey(s, a) {
|
||||||
|
return (split(s, a, /@+|:/) > 2) ? a[2]"/"a[1]"/"a[3] : a[1]
|
||||||
|
}
|
||||||
|
'
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_fetch
|
||||||
|
set -l pkg_jobs
|
||||||
|
set -l out_pkgs
|
||||||
|
set -l next_pkgs
|
||||||
|
set -l local_pkgs
|
||||||
|
set -q fisher_user_api_token; and set -l curl_opts -u $fisher_user_api_token
|
||||||
|
|
||||||
|
for pkg in $argv
|
||||||
|
switch $pkg
|
||||||
|
case \~\* /\*
|
||||||
|
set -l path (echo "$pkg" | command sed "s|^~|$HOME|")
|
||||||
|
if test -e "$path"
|
||||||
|
set local_pkgs $local_pkgs $path
|
||||||
|
else
|
||||||
|
echo "fisher: cannot add \"$pkg\" -- is this a valid file?" >&2
|
||||||
|
end
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
|
||||||
|
command awk -v PKG="$pkg" -v FS=/ '
|
||||||
|
BEGIN {
|
||||||
|
split(PKG, tmp, /@/)
|
||||||
|
pkg = split(PKG, _, "/") <= 2 ? "github.com/"tmp[1] : tmp[1]
|
||||||
|
tag = tmp[2] ? tmp[2] : "HEAD"
|
||||||
|
print pkg "\t" (\
|
||||||
|
pkg ~ /^github/ ? "https://codeload."pkg"/tar.gz/"tag : \
|
||||||
|
pkg ~ /^gitlab/ ? "https://"pkg"/-/archive/"tag"/"tmp[split(pkg, tmp, "/")]"-"tag".tar.gz" : \
|
||||||
|
pkg ~ /^bitbucket/ ? "https://"pkg"/get/"tag".tar.gz" : pkg\
|
||||||
|
)
|
||||||
|
}
|
||||||
|
' | read -l pkg url
|
||||||
|
|
||||||
|
if test ! -d "$fisher_data/$pkg"
|
||||||
|
fish -c "
|
||||||
|
echo fetching $url >&2
|
||||||
|
command mkdir -p $fisher_data/$pkg $fisher_cache/(command dirname $pkg)
|
||||||
|
if command curl $curl_opts -Ss -w \"\" $url 2>&1 | command tar -xzf- -C $fisher_data/$pkg 2>/dev/null
|
||||||
|
command rm -Rf $fisher_cache/$pkg
|
||||||
|
command mv -f $fisher_data/$pkg/* $fisher_cache/$pkg
|
||||||
|
command rm -Rf $fisher_data/$pkg
|
||||||
|
command cp -Rf {$fisher_cache,$fisher_data}/$pkg
|
||||||
|
else if test -d \"$fisher_cache/$pkg\"
|
||||||
|
echo fisher: cannot connect to server -- looking in \"$fisher_cache/$pkg\" | command sed 's|$HOME|~|' >&2
|
||||||
|
command cp -Rf $fisher_cache/$pkg $fisher_data/$pkg/..
|
||||||
|
else
|
||||||
|
command rm -Rf $fisher_data/$pkg
|
||||||
|
echo fisher: cannot add \"$pkg\" -- is this a valid plugin\? >&2
|
||||||
|
end
|
||||||
|
" >/dev/null &
|
||||||
|
set pkg_jobs $pkg_jobs (_fisher_jobs --last)
|
||||||
|
set next_pkgs $next_pkgs "$fisher_data/$pkg"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if set -q pkg_jobs[1]
|
||||||
|
while for job in $pkg_jobs
|
||||||
|
contains -- $job (_fisher_jobs); and break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for pkg in $next_pkgs
|
||||||
|
if test -d "$pkg"
|
||||||
|
set out_pkgs $out_pkgs $pkg
|
||||||
|
_fisher_add $pkg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
set -l local_prefix $fisher_data/local/$USER
|
||||||
|
if test ! -d "$local_prefix"
|
||||||
|
command mkdir -p $local_prefix
|
||||||
|
end
|
||||||
|
for pkg in $local_pkgs
|
||||||
|
set -l target $local_prefix/(command basename $pkg)
|
||||||
|
if test ! -L "$target"
|
||||||
|
command ln -sf $pkg $target
|
||||||
|
set out_pkgs $out_pkgs $pkg
|
||||||
|
_fisher_add $pkg --link
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if set -q out_pkgs[1]
|
||||||
|
_fisher_fetch (
|
||||||
|
for pkg in $out_pkgs
|
||||||
|
if test -s "$pkg/fishfile"
|
||||||
|
_fisher_fmt <$pkg/fishfile | _fisher_parse -R
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
printf "%s\n" $out_pkgs | _fisher_fmt
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_add -a pkg opts
|
||||||
|
for src in $pkg/{functions,completions,conf.d}/**.* $pkg/*.fish
|
||||||
|
set -l target (command basename $src)
|
||||||
|
switch $src
|
||||||
|
case $pkg/conf.d\*
|
||||||
|
set target $fisher_path/conf.d/$target
|
||||||
|
case $pkg/completions\*
|
||||||
|
set target $fisher_path/completions/$target
|
||||||
|
case $pkg/{functions,}\*
|
||||||
|
switch $target
|
||||||
|
case uninstall.fish
|
||||||
|
continue
|
||||||
|
case {init,key_bindings}.fish
|
||||||
|
set target $fisher_path/conf.d/(command basename $pkg)\_$target
|
||||||
|
case \*
|
||||||
|
set target $fisher_path/functions/$target
|
||||||
|
end
|
||||||
|
end
|
||||||
|
echo "linking $target" | command sed "s|$HOME|~|" >&2
|
||||||
|
if set -q opts[1]
|
||||||
|
command ln -sf $src $target
|
||||||
|
else
|
||||||
|
command cp -f $src $target
|
||||||
|
end
|
||||||
|
switch $target
|
||||||
|
case \*.fish
|
||||||
|
source $target >/dev/null 2>/dev/null
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_rm -a pkg
|
||||||
|
for src in $pkg/{conf.d,completions,functions}/**.* $pkg/*.fish
|
||||||
|
set -l target (command basename $src)
|
||||||
|
set -l filename (command basename $target .fish)
|
||||||
|
switch $src
|
||||||
|
case $pkg/conf.d\*
|
||||||
|
test "$filename.fish" = "$target"; and emit "$filename"_uninstall
|
||||||
|
set target conf.d/$target
|
||||||
|
case $pkg/completions\*
|
||||||
|
test "$filename.fish" = "$target"; and complete -ec $filename
|
||||||
|
set target completions/$target
|
||||||
|
case $pkg/{,functions}\*
|
||||||
|
test "$filename.fish" = "$target"; and functions -e $filename
|
||||||
|
switch $target
|
||||||
|
case uninstall.fish
|
||||||
|
source $src
|
||||||
|
continue
|
||||||
|
case {init,key_bindings}.fish
|
||||||
|
set target conf.d/(command basename $pkg)\_$target
|
||||||
|
case \*
|
||||||
|
set target functions/$target
|
||||||
|
end
|
||||||
|
end
|
||||||
|
command rm -f $fisher_path/$target
|
||||||
|
end
|
||||||
|
if not functions -q fish_prompt
|
||||||
|
source "$__fish_datadir$__fish_data_dir/functions/fish_prompt.fish"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_jobs
|
||||||
|
jobs $argv | command awk '/^[0-9]+\t/ { print $1 }'
|
||||||
|
end
|
||||||
|
|
||||||
|
function _fisher_now -a elapsed
|
||||||
|
switch (command uname)
|
||||||
|
case Darwin \*BSD
|
||||||
|
command perl -MTime::HiRes -e 'printf("%.0f\n", (Time::HiRes::time() * 1000) - $ARGV[0])' $elapsed
|
||||||
|
case \*
|
||||||
|
math (command date "+%s%3N") - "0$elapsed"
|
||||||
|
end
|
||||||
|
end
|
|
@ -14,7 +14,7 @@ case "$PM" in
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
! which pip && $ROOT/python/install.sh
|
! which pip && $ROOT/python/install.sh
|
||||||
sudo pacman -S fish xdotool
|
sudo pacman -S --needed --needed fish xdotool
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -29,3 +29,6 @@ fi
|
||||||
lnsf $DIR/config/config.fish ~/.config/fish/config.fish
|
lnsf $DIR/config/config.fish ~/.config/fish/config.fish
|
||||||
lnsf $DIR/config/functions/fish_prompt.fish ~/.config/fish/functions/fish_prompt.fish
|
lnsf $DIR/config/functions/fish_prompt.fish ~/.config/fish/functions/fish_prompt.fish
|
||||||
lnsf $DIR/config/functions/fish_right_prompt.fish ~/.config/fish/functions/fish_right_prompt.fish
|
lnsf $DIR/config/functions/fish_right_prompt.fish ~/.config/fish/functions/fish_right_prompt.fish
|
||||||
|
lnsf $DIR/config/functions/fisher.fish ~/.config/fish/functions/fisher.fish
|
||||||
|
|
||||||
|
source ~/.config/fish/config.fish
|
||||||
|
|
|
@ -27,7 +27,7 @@ case "$PM" in
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
# fonts
|
# fonts
|
||||||
sudo pacman -S \
|
sudo pacman -S --needed \
|
||||||
terminus-font \
|
terminus-font \
|
||||||
ttf-droid \
|
ttf-droid \
|
||||||
freetype2 \
|
freetype2 \
|
||||||
|
@ -36,17 +36,17 @@ case "$PM" in
|
||||||
wqy-microhei-lite \
|
wqy-microhei-lite \
|
||||||
gucharmap
|
gucharmap
|
||||||
# clipboard
|
# clipboard
|
||||||
sudo pacman -S \
|
sudo pacman -S --needed \
|
||||||
xclip xsel
|
xclip xsel
|
||||||
# keyring
|
# keyring
|
||||||
sudo pacman -S \
|
sudo pacman -S --needed \
|
||||||
gnome-keyring libsecret
|
gnome-keyring libsecret
|
||||||
# network manager
|
# network manager
|
||||||
sudo pacman -S \
|
sudo pacman -S --needed \
|
||||||
networkmanager network-manager-applet
|
networkmanager network-manager-applet
|
||||||
# bluetooth
|
# bluetooth
|
||||||
if has-bluetooth; then
|
if has-bluetooth; then
|
||||||
sudo pacman -S \
|
sudo pacman -S --needed \
|
||||||
bluez bluez-utils blueman pulseaudio-bluetooth xorg-xbacklight
|
bluez bluez-utils blueman pulseaudio-bluetooth xorg-xbacklight
|
||||||
sudo systemctl enable bluetooth
|
sudo systemctl enable bluetooth
|
||||||
sudo systemctl start bluetooth
|
sudo systemctl start bluetooth
|
||||||
|
|
|
@ -10,7 +10,7 @@ case "$PM" in
|
||||||
lxappearance arc-theme qt5ct qt5-style-plugins
|
lxappearance arc-theme qt5ct qt5-style-plugins
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S \
|
sudo pacman -S --needed \
|
||||||
lxappearance arc-gtk-theme arc-icon-theme qt5ct qt5-styleplugins
|
lxappearance arc-gtk-theme arc-icon-theme qt5ct qt5-styleplugins
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -10,7 +10,7 @@ case "$PM" in
|
||||||
sudo apt install -y nodejs yarnpkg
|
sudo apt install -y nodejs yarnpkg
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S nodejs yarn
|
sudo pacman -S --needed nodejs yarn
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ case "$PM" in
|
||||||
sudo apt install -y neovim
|
sudo apt install -y neovim
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S neovim
|
sudo pacman -S --needed neovim
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
|
@ -4,5 +4,4 @@ DIR=$(readlink -f $(dirname $0))
|
||||||
|
|
||||||
killall -q picom
|
killall -q picom
|
||||||
while pgrep -x picom >/dev/null; do sleep 1; done
|
while pgrep -x picom >/dev/null; do sleep 1; done
|
||||||
echo $DIR/picom.conf
|
picom -b --config $DIR/picom.conf --experimental-backends --blur-method dual_kawase --blur-strength 6
|
||||||
picom -b --config $DIR/picom.conf
|
|
||||||
|
|
|
@ -190,8 +190,8 @@ blur-background-exclude = [
|
||||||
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
||||||
# `xrender` is the default one.
|
# `xrender` is the default one.
|
||||||
#
|
#
|
||||||
# backend = "glx"
|
backend = "glx"
|
||||||
backend = "xrender";
|
# backend = "xrender";
|
||||||
|
|
||||||
# Enable/disable VSync.
|
# Enable/disable VSync.
|
||||||
# vsync = false
|
# vsync = false
|
||||||
|
|
|
@ -14,22 +14,20 @@ case "$PM" in
|
||||||
sudo pip3 install meson
|
sudo pip3 install meson
|
||||||
# install dependencies
|
# install dependencies
|
||||||
sudo apt install -y ninja-build libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-xinerama0-dev libxcb-glx0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev libpcre3-dev libevdev-dev uthash-dev libev-dev libx11-xcb-dev
|
sudo apt install -y ninja-build libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-xinerama0-dev libxcb-glx0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev libpcre3-dev libevdev-dev uthash-dev libev-dev libx11-xcb-dev
|
||||||
# download picom source
|
|
||||||
[ ! -f /tmp/picom.tar.gz ] && \
|
|
||||||
curl -L https://github.com/yshui/picom/archive/v8.1.tar.gz --output /tmp/picom.tar.gz
|
|
||||||
# build and install
|
|
||||||
mkdir -p /tmp/picom
|
|
||||||
tar zxvf /tmp/picom.tar.gz --strip 1 -C /tmp/picom
|
|
||||||
pushd /tmp/picom
|
|
||||||
#git submodule update --init --recursive
|
|
||||||
meson --buildtype=release . build
|
|
||||||
sudo ninja -C build install
|
|
||||||
popd
|
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S picom
|
sudo pacman -S --needed uthash ninja meson
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# symlink configuration
|
# build and install picom-next
|
||||||
|
curl -sLo https://github.com/yshui/picom/archive/next.zip /tmp/picom-next.zip
|
||||||
|
unzip /tmp/picom-next.zip -d /tmp
|
||||||
|
pushd /tmp/picom-next
|
||||||
|
meson --buildtype=release . build
|
||||||
|
sudo ninja -C build install
|
||||||
|
popd
|
||||||
|
rm -rf /tmp/picom*
|
||||||
|
|
||||||
|
# configuration
|
||||||
lnsf $DIR/config ~/.config/picom
|
lnsf $DIR/config ~/.config/picom
|
||||||
|
|
|
@ -10,7 +10,7 @@ case "$PM" in
|
||||||
sudo apt install -y mpd mpc ncmpcpp mpv
|
sudo apt install -y mpd mpc ncmpcpp mpv
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S mpd mpc ncmpcpp mpv
|
sudo pacman -S --needed mpd mpc ncmpcpp mpv
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ case "$PM" in
|
||||||
fish-is-default-shell && sudo pip3 install virtualfish
|
fish-is-default-shell && sudo pip3 install virtualfish
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S python python-pip
|
sudo pacman -S --needed python python-pip
|
||||||
fish-is-default-shell && sudo pip install virtualfish
|
fish-is-default-shell && sudo pip install virtualfish
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -10,7 +10,7 @@ case "$PM" in
|
||||||
sudo pip3 install ranger-fm ueberzug
|
sudo pip3 install ranger-fm ueberzug
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S ranger ueberzug
|
sudo pacman -S --needed ranger ueberzug
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ case "$PM" in
|
||||||
sudo apt remove gdm3
|
sudo apt remove gdm3
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S \
|
sudo pacman -S --needed \
|
||||||
xorg-server xorg-xinit xorg-xrandr xorg-xev xorg-xprop \
|
xorg-server xorg-xinit xorg-xrandr xorg-xev xorg-xprop \
|
||||||
alsa-firmware alsa-utils alsa-plugins pulseaudio-alsa pulseaudio pavucontrol \
|
alsa-firmware alsa-utils alsa-plugins pulseaudio-alsa pulseaudio pavucontrol \
|
||||||
arandr autorandr \
|
arandr autorandr \
|
||||||
|
|
|
@ -10,7 +10,7 @@ case "$PM" in
|
||||||
thunar gvfs-bin gvfs-backends thunar-archive-plugin file-roller tumbler
|
thunar gvfs-bin gvfs-backends thunar-archive-plugin file-roller tumbler
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S \
|
sudo pacman -S --needed \
|
||||||
thunar gvfs-smb gvfs-mtp thunar-archive-plugin file-roller tumbler
|
thunar gvfs-smb gvfs-mtp thunar-archive-plugin file-roller tumbler
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -25,7 +25,7 @@ case "$PM" in
|
||||||
rm -rf /tmp/tmux*
|
rm -rf /tmp/tmux*
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
sudo pacman -S tmux bc
|
sudo pacman -S --needed tmux bc
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user