Compare commits
3 Commits
3e71764fd8
...
a574645fa0
Author | SHA1 | Date |
---|---|---|
|
a574645fa0 | |
|
d463bd7432 | |
|
3f685d0753 |
139
.bin/setup
139
.bin/setup
|
@ -1,13 +1,13 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Packages to install from Arch repositories
|
|
||||||
pac_list=(
|
pac_list=(
|
||||||
git
|
git
|
||||||
vim
|
neovim
|
||||||
|
nodejs-lts-jod
|
||||||
)
|
)
|
||||||
|
|
||||||
# Packages to install from AUR
|
|
||||||
aurpac_list=(
|
aurpac_list=(
|
||||||
|
nvm
|
||||||
ttf-iosevka-term-ss08
|
ttf-iosevka-term-ss08
|
||||||
vim-plug
|
vim-plug
|
||||||
xbanish
|
xbanish
|
||||||
|
@ -15,7 +15,7 @@ xbanish
|
||||||
|
|
||||||
install() {
|
install() {
|
||||||
if pacman -Qi "$1" &> /dev/null; then
|
if pacman -Qi "$1" &> /dev/null; then
|
||||||
echo ""$1" is already installed"
|
echo "$1 is already installed"
|
||||||
else
|
else
|
||||||
echo "Installing " "$1"
|
echo "Installing " "$1"
|
||||||
sudo pacman -S --noconfirm --needed "$1"
|
sudo pacman -S --noconfirm --needed "$1"
|
||||||
|
@ -26,50 +26,93 @@ aurpac() {
|
||||||
git clone "https://aur.archlinux.org/$1.git" "$HOME/.build/$1"
|
git clone "https://aur.archlinux.org/$1.git" "$HOME/.build/$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
count=0
|
install_packages() {
|
||||||
|
announce "Installing packages"
|
||||||
|
local count
|
||||||
|
for pac in "${pac_list[@]}" ; do
|
||||||
|
count=$((count+1))
|
||||||
|
install "$pac";
|
||||||
|
done
|
||||||
|
echo "$count packages installed"
|
||||||
|
}
|
||||||
|
|
||||||
echo " "
|
install_dotfiles() {
|
||||||
echo "Installing required packages"
|
announce "Installing dotfiles"
|
||||||
echo " "
|
origin="https://git.hektormisplon.xyz/hektor/dots"
|
||||||
|
git clone "$origin" "$HOME/dots"
|
||||||
|
cp -r "$HOME/dots/.git" "$HOME/.git"
|
||||||
|
git --git-dir="$HOME/.git" config --local status.showUntrackedFiles no
|
||||||
|
git --git-dir="$HOME/.git" stash -m "[dots]"
|
||||||
|
git --git-dir="$HOME/.git" stash apply
|
||||||
|
git --git-dir="$HOME/.git" restore "$HOME"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_aur_packages() {
|
||||||
|
announce "Installing AUR packages"
|
||||||
|
local count
|
||||||
|
for package in "${aurpac_list[@]}" ; do
|
||||||
|
if pacman -Qi "$1" &> /dev/null; then
|
||||||
|
echo "$1 is already installed"
|
||||||
|
else
|
||||||
|
count=$((count+1))
|
||||||
|
aurpac "$package" && makepkg -si -D "$HOME/.build/$package"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "$count AUR packages installed"
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_neovim() {
|
||||||
|
announce "Setting up NeoVim"
|
||||||
|
git clone --depth=1 https://github.com/savq/paq-nvim.git \
|
||||||
|
"${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/pack/paqs/start/paq-nvim
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_keyboard() {
|
||||||
|
announce "Setting up keyboard"
|
||||||
|
install "interception-tools"
|
||||||
|
install "interception-caps2esc"
|
||||||
|
udevmon_config_contents="\
|
||||||
|
- JOB: intercept -g \$DEVNODE | caps2esc -m 1 | uinput -d \$DEVNODE
|
||||||
|
DEVICE:
|
||||||
|
EVENTS:
|
||||||
|
EV_KEY: [KEY_CAPSLOCK]"
|
||||||
|
if [ -f /etc/interception/udevmon.yaml ] && diff -q <(echo "$udevmon_config_contents") /etc/interception/udevmon.yaml; then
|
||||||
|
echo "udevmon config already exists"
|
||||||
|
echo "$udevmon_config_contents"
|
||||||
|
elif [ -f /etc/interception/udevmon.yaml ]; then
|
||||||
|
echo "interception udevmon.yaml already exists"
|
||||||
|
cat /etc/interception/udevmon.yaml
|
||||||
|
echo "verify if this config matches the one below"
|
||||||
|
echo "$udevmon_config_contents"
|
||||||
|
else
|
||||||
|
echo "interception udevmon.yaml does not exist, creating one"
|
||||||
|
sudo bash -c "echo '$udevmon_config_contents' > /etc/interception/udevmon.yaml"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo systemctl enable --now udevmon.service
|
||||||
|
|
||||||
|
if pgrep -x caps2esc > /dev/null; then
|
||||||
|
echo "caps2esc is already running"
|
||||||
|
else
|
||||||
|
caps2esc -m 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
announce() {
|
||||||
|
echo " "
|
||||||
|
echo "$1"
|
||||||
|
echo " "
|
||||||
|
}
|
||||||
|
|
||||||
|
confirm() {
|
||||||
|
read -r -p "$1? [y/N]" -n 1
|
||||||
|
case "$REPLY" in y|Y ) "$2";; * ) echo "Skipping"; esac
|
||||||
|
}
|
||||||
|
|
||||||
printf '%s\n' "${pac_list[@]}"
|
printf '%s\n' "${pac_list[@]}"
|
||||||
|
confirm "Install these packages? " install_packages
|
||||||
for pac in "${pac_list[@]}" ; do
|
printf '%s\n' "${aurpac_list[@]}"
|
||||||
count=$[count+1]
|
confirm "Install these AUR packages? " install_aur_packages
|
||||||
install "$pac";
|
confirm "Setup NeoVim? " setup_neovim
|
||||||
done
|
confirm "Install dotfiles? " install_dotfiles
|
||||||
|
confirm "Setup keyboard? " setup_keyboard
|
||||||
origin="https://git.hektormisplon.xyz/hektor/dots"
|
|
||||||
git clone "$origin" "$HOME/dots"
|
|
||||||
cp -r "$HOME/dots/.git" "$HOME/.git"
|
|
||||||
git --git-dir="$HOME/.git" config --local status.showUntrackedFiles no
|
|
||||||
git --git-dir="$HOME/.git" stash -m "[dots]"
|
|
||||||
git --git-dir="$HOME/.git" stash apply
|
|
||||||
git --git-dir="$HOME/.git" restore "$HOME"
|
|
||||||
|
|
||||||
echo " "
|
|
||||||
echo "Installing aur packages"
|
|
||||||
echo " "
|
|
||||||
|
|
||||||
# [ ] Create aurpac installer function
|
|
||||||
for package in "${aurpac_list[@]}" ; do
|
|
||||||
if pacman -Qi "$1" &> /dev/null; then
|
|
||||||
echo "$1 is already installed"
|
|
||||||
else
|
|
||||||
count=$[count+1]
|
|
||||||
aurpac "$package" && makepkg -si -D "$HOME/.build/$package"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo " "
|
|
||||||
echo "Setting up NeoVim"
|
|
||||||
echo " "
|
|
||||||
|
|
||||||
git clone --depth=1 https://github.com/savq/paq-nvim.git \
|
|
||||||
"${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/pack/paqs/start/paq-nvim
|
|
||||||
|
|
||||||
## Bluetooth setup
|
|
||||||
# ___
|
|
||||||
|
|
||||||
# - [ ] Check if /etc/pulse/default.pa contains following line
|
|
||||||
# load-module module-switch-on-connect
|
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
git_protocol: ssh
|
git_protocol: ssh
|
||||||
prompt: enabled
|
prompt: enabled
|
||||||
aliases:
|
aliases:
|
||||||
co: pr checkout
|
co: pr checkout
|
||||||
c: repo clone
|
c: repo clone
|
||||||
f: repo fork
|
f: repo fork
|
||||||
rc: repo create
|
rc: repo create
|
||||||
rv: repo view
|
rv: repo view
|
||||||
re: repo edit
|
re: repo edit
|
||||||
rm: repo remove
|
rm: repo remove
|
||||||
rn: repo rename
|
rn: repo rename
|
||||||
lr: repo list
|
lr: repo list
|
||||||
li: issue list
|
li: issue list
|
||||||
al: alias
|
al: alias
|
||||||
al-: alias delete
|
al-: alias delete
|
||||||
|
version: "1"
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
rb = "rebase"
|
rb = "rebase"
|
||||||
rbi = "rebase -i"
|
rbi = "rebase -i"
|
||||||
wt = "worktree"
|
wt = "worktree"
|
||||||
|
wtc = "config remote.origin.fetch \"+refs/heads/*:refs/remotes/origin/*\""
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
ui = auto
|
ui = auto
|
||||||
|
|
Loading…
Reference in New Issue