Skip to content

Instantly share code, notes, and snippets.

@chaeya
Last active July 29, 2024 04:16
Show Gist options
  • Save chaeya/627b20104f1386e3f8d936a917c855c2 to your computer and use it in GitHub Desktop.
Save chaeya/627b20104f1386e3f8d936a917c855c2 to your computer and use it in GitHub Desktop.
Prepare build env at Desktop
#!/bin/bash
# Whole message to syslog
# exec 1> >(logger -s -t $(basename $0)) 2>&1
# only some message to syslog
readonly SCRIPT_NAME=$(basename $0)
log() {
echo "$@"
logger -p user.notice -t $SCRIPT_NAME [INFO] "$@"
}
err() {
echo "$@" >&2
logger -p user.error -t $SCRIPT_NAME [ERROR] "$@"
}
bail() {
echo 'Error executing command, exiting'
exit 1
}
exec_cmd_nobail() {
echo "+ $1"
bash -c "$1"
}
exec_cmd() {
exec_cmd_nobail "$1" || bail
}
# Add HamoniKR APT
# Relase Codename : hanla
if [ ! -f "/etc/apt/sources.list.d/hamonikr.list" ]; then
log "[APT] Install hamonikr APT Repo..."
sudo mkdir -p /etc/apt/sources.list.d
sudo echo "deb [arch=amd64] https://repo.hamonikr.org paektu main contrib updates backport extra non-free testing" \
| sudo tee /etc/apt/sources.list.d/hamonikr.list
sudo echo "deb-src [arch=amd64] https://repo.hamonikr.org paektu main contrib updates backport extra non-free testing" \
| sudo tee -a /etc/apt/sources.list.d/hamonikr.list
sudo rm -f /etc/apt/sources.list.d/hamonikr-pkg.list
sudo echo "deb [arch=amd64] https://repo.hamonikr.org noble main contrib updates backport extra non-free testing" \
| sudo tee -a /etc/apt/sources.list.d/hamonikr-pkg.list
sudo echo "deb [arch=amd64] https://repo.hamonikr.org noble main contrib updates backport extra non-free testing" \
| sudo tee -a /etc/apt/sources.list.d/hamonikr.list
fi
# Add GPG Key for HamoniKR APT
if [ ! -f "/etc/apt/trusted.gpg.d/hamonikr.gpg" ]; then
log "[GPG-KEY] Install hamonikr gpg key..."
KEY="-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=jMj1
-----END PGP PUBLIC KEY BLOCK-----"
echo "$KEY" | sudo gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/hamonikr.gpg > /dev/null
fi
# install useful pkgs
PKGLIST="packaging-dev debhelper devscripts equivs apt-rdepends apt-file build-essential sassc git figlet xclip vim openssh-client"
log "[INSTALL] debhelper and others useful pkg install..."
log "sudo apt install -y $PKGLIST"
eval "sudo apt install -y $PKGLIST"
sudo apt install -y dumpet xorriso squashfs-tools gddrescue qemu-kvm libvirt-clients libvirt-daemon-system \
bridge-utils virt-manager ovmf qemu-system-x86 virt-viewer qemu-system gir1.2-spiceclientgtk-3.0 fsarchiver \
udpcast packaging-dev debhelper devscripts equivs apt-rdepends apt-file build-essential sassc git figlet xclip vim openssh-client
# sudo apt install ruby-full
# sudo gem install github_changelog_generator
# nemo actions
# cp -r nemo ~/.local/share/
log "[git] git config 설정 중..."
# setting for invesume working enviroment
# Import GPG keys for signing packages
hckim_pub="-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=cDu0
-----END PGP PUBLIC KEY BLOCK-----"
hckim_priv="-----BEGIN PGP PRIVATE KEY BLOCK-----
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
KcxQk7nnRKvIidE+HQHSGJEyx+b4II7BVg==
=6wVD
-----END PGP PRIVATE KEY BLOCK-----"
echo "$hckim_pub" | gpg --import
echo "$hckim_priv" | gpg --import
gpg --list-secret-keys --keyid-format=long
git config --global --unset gpg.format
git config --global user.signingkey 25E15A5F63521BA22C542929287B4C4D039DF93C
git config --global commit.gpgsign true
git config --global user.name "Kevin Kim"
git config --global user.email "[email protected]"
log "[dpkg] debian 패키지 환경 설정 중..."
# dpkg env
gpg --keyserver keyserver.ubuntu.com --recv-key 9FA298A1E42665B8
gpg --import hamonikr-pkg-sec.asc
# EMAIL=`gpg -k | grep pkg | grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b"`
# NAME=`gpg -k | grep uid | grep pkg | cut -d']' -f2 | cut -d'<' -f1 | tr -d '^ '`
# dpkg-vendor
# https://man7.org/linux/man-pages/man1/dpkg-vendor.1.html
# mkdir -p local/etc/dpkg/origins
# cp hamonikr ~/.local/etc/dpkg/origins/default
if [[ -e ~/.bashrc ]] ; then
cat >> ~/.bashrc <<EOF
# dev alias
DEBFULLNAME="HamoniKR"
DEBEMAIL="[email protected]"
export DEBEMAIL DEBFULLNAME
GITHUB_API_KEY="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"
export GITHUB_API_KEY
alias chlog='github_changelog_generator --token ${GITHUB_API_KEY} --release-branch master --user hamonikr --project ${PWD##*/} --output Changelog.md --no-unreleased'
alias hbuild='dpkg-buildpackage -T clean; dpkg-buildpackage -k9EFBD28CA3E3ACE510C591F09FA298A1E42665B8; dpkg-buildpackage -T clean'
alias pkgupload='scp *.dsc *.buildinfo *.*deb *.*z *.changes [email protected]:/var/www/repos/apt/hamonikr-pkg/incomming/'
alias show-pkgsize="aptitude search --sort '~installsize' --display-format '%p %I' '~i'"
alias insdep='mk-build-deps --install --root-cmd sudo --remove'
alias uppkg='scp *.dsc *.buildinfo *.*deb *.*z *.changes [email protected]:/var/www/repos/apt/hamonikr-pkg/incomming/'
alias uprepo='scp *.dsc *.buildinfo *.*deb *.*z *.changes [email protected]:/var/www/repos/apt/hamonikr-pkg/incomming/'
alias upupdate='scp *.dsc *.buildinfo *.*deb *.*z *.changes [email protected]:/var/www/repos/apt/hamonikr-update/incomming/'
alias upucube='scp *.dsc *.buildinfo *.*deb *.*z *.changes [email protected]:/mirror/invesume/incomming/'
alias conapt='ssh [email protected]'
alias conpkg='ssh [email protected]'
alias code='code --no-sandbox'
alias pdel='rm -f *.dsc *.buildinfo *.*deb *.*z *.changes'
alias goupdate='cd .. && upupdate && conapt'
alias gorepo='cd .. && uprepo && conapt'
alias gopkg='cd .. && uppkg && conpkg'
alias goucube='cd .. && upucube && conpkg'
export GPG_TTY=$(tty)
EOF
IS_FIGLET=$(sed -n '/^figlet /p' ~/.bashrc)
[ -z "$IS_FIGLET" ] && echo "figlet \$HOSTNAME" >> ~/.bashrc
source ~/.bashrc
fi
if [[ -e ~/.zshrc ]] ; then
cat >> ~/.zshrc <<EOF
# dev alias
DEBFULLNAME="HamoniKR"
DEBEMAIL="[email protected]"
export DEBEMAIL DEBFULLNAME
GITHUB_API_KEY="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"
export GITHUB_API_KEY
alias chlog='github_changelog_generator --token ${GITHUB_API_KEY} --release-branch master --user hamonikr --project ${PWD##*/} --output Changelog.md --no-unreleased'
alias hbuild='dpkg-buildpackage -T clean; dpkg-buildpackage -k9EFBD28CA3E3ACE510C591F09FA298A1E42665B8; dpkg-buildpackage -T clean'
alias pkgupload='scp *.dsc *.buildinfo *.*deb *.*z *.changes [email protected]:/var/www/repos/apt/hamonikr-pkg/incomming/'
alias show-pkgsize="aptitude search --sort '~installsize' --display-format '%p %I' '~i'"
alias insdep='mk-build-deps --install --root-cmd sudo --remove'
alias uppkg='scp *.dsc *.buildinfo *.*deb *.*z *.changes [email protected]:/var/www/repos/apt/hamonikr-pkg/incomming/'
alias uprepo='scp *.dsc *.buildinfo *.*deb *.*z *.changes [email protected]:/var/www/repos/apt/hamonikr-pkg/incomming/'
alias upupdate='scp *.dsc *.buildinfo *.*deb *.*z *.changes [email protected]:/var/www/repos/apt/hamonikr-update/incomming/'
alias upucube='scp *.dsc *.buildinfo *.*deb *.*z *.changes [email protected]:/mirror/invesume/incomming/'
alias conapt='ssh [email protected]'
alias conpkg='ssh [email protected]'
alias code='code --no-sandbox'
alias pdel='rm -f *.dsc *.buildinfo *.*deb *.*z *.changes'
alias goupdate='cd .. && upupdate && conapt'
alias gorepo='cd .. && uprepo && conapt'
alias gopkg='cd .. && uppkg && conpkg'
export GPG_TTY=$(tty)
EOF
fi
echo ""
echo "DEBFULLNAME : ${DEBFULLNAME}"
echo "DEBEMAIL : ${DEBEMAIL}"
log "debian packaging 설정 완료."
# 설치된 Monaco 폰트제거 후 Monaco 맑은 고딕으로 대체
#[[ -f "Monaco맑은고딕.ttf" ]] && mkdir ~/.fonts && cp Monaco맑은고딕.ttf ~/.fonts/ && fc-cache -f -v
# Install font : "Hack Regular Nerd Font Complete.ttf"
[[ -f "Hack Regular Nerd Font Complete.ttf" ]] \
&& mkdir ~/.local/share/fonts \
&& cp "Hack Regular Nerd Font Complete.ttf" ~/.local/share/fonts/ \
&& fc-cache -f -v
# gnome-terminal 터미널 설정을 사용하는 환경으로 변경
# https://gist.github.com/reavon/0bbe99150810baa5623e5f601aa93afc
# CURRENT_PF=`gsettings list-recursively org.gnome.Terminal.ProfilesList | grep default | cut -d' ' -f3 | tr -d "'"`
# 현재 모든 설정을 백업
dconf dump / > current-profile-all.dconf
log "dconf dump 완료."
# 현재 터미널 설정을 백업
#dconf dump /org/gnome/terminal/legacy/profiles:/:${CURRENT_PF}/ > current-terminal.dconf
# 개발용 터미널 설정으로 반영
#dconf load /org/gnome/terminal/legacy/profiles:/:${CURRENT_PF}/ < gnome-terminal.dconf
#echo "gonme-terminal 설정 완료"
# x11 keyboard and Hangul key
# localectl --no-convert set-x11-keymap kr,us pc105 kr106
# localectl --no-convert set-x11-keymap kr,us pc104 kr104
# xmodmap -e "keycode 122 = Hangul" ; xmodmap -e "keycode 121 = Hangul_Hanja"
# VSCODE
if ! command -v code &> /dev/null
then
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
eval "sudo apt update && sudo apt install -y code"
fi
echo "=== Install vscode extention ==="
code --install-extension jsynowiec.vscode-insertdatestring
code --install-extension donjayamanne.githistory
code --install-extension funkyremi.vscode-google-translate
# Download the fonts using wget
wget https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Hack/Regular/complete/Hack%20Regular%20Nerd%20Font%20Complete.ttf -P ~/.local/share/fonts/
fc-cache -v
cat > ~/.config/Code/User/settings.json <<EOF
{
"insertDateString.format": "DDD, DD MMM YYYY hh:mm:ss ZZZZ",
"terminal.integrated.fontFamily": "\"Hack Nerd Font\"",
"terminal.integrated.fontSize": 13,
"git.autofetch": true,
"git.confirmSync": false,
"editor.fontFamily": "'Hack Nerd Font','Droid Sans Mono', 'monospace', monospace",
"editor.fontSize": 13,
"vscodeGoogleTranslate.preferredLanguage": "Korean"
}
EOF
# Add snippet
[[ ! -d "~/.config/Code/User/snippets" ]] && mkdir -p ~/.config/Code/User/snippets
cat >~/.config/Code/User/snippets/hamonikr-dev.code-snippets <<EOF
{
// https://code.visualstudio.com/docs/editor/userdefinedsnippets
"HamoniKR TEAM": {
"prefix": ["ha", "har"],
"body": ["HamoniKR <[email protected]> "],
"description": "Print hamonikr developemet team and email"
}
}
EOF
log "vscode 설정 완료."
# disable screensaver
# cinnamon-screensaver-command --exit
# gsettings set org.cinnamon.settings-daemon.plugins.power sleep-display-ac "0"
# gsettings set org.cinnamon.settings-daemon.plugins.power sleep-inactive-ac-timeout "0"
# ssh key with bitbucket
if [ ! -e ~/.ssh/id_rsa.pub ]; then
echo "ssh key generation."
#ssh-keygen -t rsa -C "[email protected]"
ssh-keygen -t rsa -C "[email protected]"
fi
echo "=== copy to apt.hamonikr.org ssh key ==="
ssh-copy-id [email protected]
echo "=== copy to repo.hamonikr.org ssh key ==="
ssh-copy-id [email protected]
xclip -selection clipboard < ~/.ssh/id_rsa.pub
echo ""
echo "copy & paste ssh key to your bitbucket setting as below"
echo "bitbucket 저장소의 사용을 위해 아래 주소를 방문하여 하단의 키를 설정하세요"
echo ""
echo "http://pms.invesume.com:7990/plugins/servlet/ssh/account/keys"
echo ""
echo "https://github.com/settings/profile"
echo ""
echo "=== 복사할 ssh 공개키 ==="
echo "`cat ~/.ssh/id_rsa.pub`"
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment