Last active
June 10, 2021 18:00
-
-
Save mcarneiro/fba0e7f68ada9cf48108 to your computer and use it in GitHub Desktop.
Programs I need to install when I get a new computer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
APT_INSTALL=() | |
[ "$(which git)" == "" ] && APT_INSTALL+=("git") | |
[ "$(which curl)" == "" ] && APT_INSTALL+=("curl") | |
[ "$(which vim)" == "" ] && APT_INSTALL+=("vim") | |
[ "$(which gpick)" == "" ] && APT_INSTALL+=("gpick") | |
[ "$(which screenruler)" == "" ] && APT_INSTALL+=("screenruler") | |
[ "$(which flameshot)" == "" ] && APT_INSTALL+=("flameshot") | |
[ "$(which ffmpeg)" == "" ] && APT_INSTALL+=("ffmpeg") | |
[ "$(which ifconfig)" == "" ] && APT_INSTALL+=("net-tools") | |
[ "$(which darktable)" == "" ] && APT_INSTALL+=("darktable") | |
[ "$(which okular)" == "" ] && APT_INSTALL+=("okular") | |
if [ ${#APT_INSTALL[*]} -gt 0 ]; then | |
echo "// UPDATE & APT-GET ${APT_INSTALL[*]}" | |
sudo apt-get update | |
sudo apt-get install -y ${APT_INSTALL[*]} | |
fi | |
if [ "$(which obs)" == "" ]; then | |
echo "// INSTALL OBS" | |
{ | |
sudo add-apt-repository ppa:obsproject/obs-studio | |
sudo apt update | |
sudo apt install -y obs-studio | |
} || { | |
sudo apt --fix-broken install | |
} | |
fi | |
if [ "$(which code)" == "" ]; then | |
echo "// INSTALL VSCODE" | |
{ | |
mkdir ~/setup-temp && \ | |
cd ~/setup-temp && \ | |
wget "https://go.microsoft.com/fwlink/?LinkID=760868" -O code.deb && sudo dpkg -i code.deb && \ | |
cd .. | |
} || { | |
sudo apt --fix-broken install && rm -rf ~/setup-temp; | |
} | |
fi | |
if [ "$(which bitwarden)" == "" ]; then | |
echo "// INSTALL BITWARDEN" | |
{ | |
mkdir ~/setup-temp && \ | |
cd ~/setup-temp && \ | |
wget "https://vault.bitwarden.com/download/?app=desktop&platform=linux&variant=deb" -O bitwarden.deb && \ | |
sudo dpkg -i bitwarden.deb && \ | |
sudo apt install -f && \ | |
cd .. | |
} || { | |
sudo apt --fix-broken install && \ | |
rm -rf ~/setup-temp | |
} | |
fi | |
if [ "$(which google-chrome)" == "" ]; then | |
echo "// INSTALL GOOGLE CHROME" | |
{ | |
mkdir ~/setup-temp && \ | |
cd ~/setup-temp && \ | |
wget "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" -O chrome.deb && sudo dpkg -i chrome.deb && \ | |
cd .. | |
} || { | |
sudo apt --fix-broken install && rm -rf ~/setup-temp; | |
} | |
fi | |
if [ "$(which docker)" == "" ]; then | |
echo "// INSTALL docker" | |
{ | |
mkdir ~/setup-temp && \ | |
cd ~/setup-temp && \ | |
curl -fsSL https://get.docker.com -o get-docker.sh | |
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
sudo chod +x /usr/local/bin/docker-compose | |
sh get-docker.sh | |
cd .. | |
} || { | |
sudo apt --fix-broken install && rm -rf ~/setup-temp; | |
} | |
fi | |
if [ "$(which node)" == "" ]; then | |
echo "// INSTALL nodejs" | |
{ | |
mkdir ~/setup-temp && \ | |
cd ~/setup-temp && \ | |
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - | |
sudo apt-get install -y nodejs | |
cd .. | |
} || { | |
sudo apt --fix-broken install && rm -rf ~/setup-temp; | |
} | |
fi | |
[ -d ~/setup-temp ] && rm -rf ~/setup-temp | |
if [ ! -d ~/Projects ]; then | |
echo "// CREATED Projects folder at ~/Projects" | |
mkdir -p ~/Projects | |
fi | |
if [ ! -d ~/.config/fontconfig/conf.d ]; then | |
echo "// INSTAL EMOJI FONTS //" | |
sudo apt-get install fonts-noto-color-emoji | |
echo " > Creating ~/config/fontconfig/ folder."; | |
mkdir -p ~/.config/fontconfig/conf.d | |
fi | |
if [ ! -f ~/.config/fontconfig/conf.d/99-emoji.conf ]; then | |
echo " - Creating ~/config/fontconfig/conf.d/99-emoji.conf file" | |
echo '<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
<fontconfig> | |
<match> | |
<test name="family"><string>sans-serif</string></test> | |
<edit name="family" mode="append" binding="strong"> | |
<string>Bitstream Vera Serif</string> | |
<string>Noto Color Emoji</string> | |
</edit> | |
</match> | |
<!-- Add emoji generic family --> | |
<alias binding="strong"> | |
<family>emoji</family> | |
<default><family>Noto Color Emoji</family></default> | |
</alias> | |
<!-- Aliases for the other emoji fonts --> | |
<alias binding="strong"> | |
<family>Apple Color Emoji</family> | |
<prefer><family>Noto Color Emoji</family></prefer> | |
</alias> | |
<alias binding="strong"> | |
<family>Segoe UI Emoji</family> | |
<prefer><family>Noto Color Emoji</family></prefer> | |
</alias> | |
<alias binding="strong"> | |
<family>Emoji One</family> | |
<prefer><family>Noto Color Emoji</family></prefer> | |
</alias> | |
</fontconfig>' > ~/.config/fontconfig/conf.d/99-emoji.conf | |
fc-cache -fv | |
fi | |
if [ ! -d ~/.bin ]; then | |
echo "// CREATED local bin folder" | |
mkdir ~/.bin | |
fi | |
if [ ! -f ~/.bin/move-to-next-monitor ]; then | |
echo "// Added move to next monitor and bound shortcuts" | |
curl https://raw.githubusercontent.com/jc00ke/move-to-next-monitor/master/move-to-next-monitor > ~/.bin/move-to-next-monitor | |
chmod +x ~/.bin/move-to-next-monitor | |
mv ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts{,-bkp}.xml | |
curl https://gist.githubusercontent.com/mcarneiro/fba0e7f68ada9cf48108/raw/xfce4-keyboard-shorcuts.xml > ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml | |
fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<channel name="xfce4-keyboard-shortcuts" version="1.0"> | |
<property name="commands" type="empty"> | |
<property name="default" type="empty"> | |
<property name="<Alt>F1" type="empty"/> | |
<property name="<Alt>F2" type="empty"> | |
<property name="startup-notify" type="empty"/> | |
</property> | |
<property name="<Alt>F3" type="empty"> | |
<property name="startup-notify" type="empty"/> | |
</property> | |
<property name="<Primary><Alt>Delete" type="empty"/> | |
<property name="<Primary><Alt>l" type="empty"/> | |
<property name="<Primary><Alt>t" type="empty"/> | |
<property name="XF86Display" type="empty"/> | |
<property name="<Super>p" type="empty"/> | |
<property name="<Primary>Escape" type="empty"/> | |
<property name="XF86WWW" type="empty"/> | |
<property name="XF86Mail" type="empty"/> | |
<property name="Print" type="empty"/> | |
<property name="<Super>l" type="empty"/> | |
<property name="<Primary><Alt>Escape" type="empty"/> | |
<property name="<Alt>Print" type="empty"/> | |
<property name="<Shift>Print" type="empty"/> | |
<property name="XF86HomePage" type="empty"/> | |
<property name="<Super>w" type="empty"/> | |
<property name="<Super>m" type="empty"/> | |
<property name="XF86Explorer" type="empty"/> | |
<property name="<Super>f" type="empty"/> | |
<property name="<Super>F1" type="empty"/> | |
<property name="<Super>t" type="empty"/> | |
<property name="<Super>r" type="empty"/> | |
<property name="<Super>e" type="empty"/> | |
<property name="XF86Calculator" type="empty"/> | |
<property name="XF86Music" type="empty"/> | |
<property name="<Super>1" type="empty"/> | |
<property name="XF86Messenger" type="empty"/> | |
<property name="<Super>2" type="empty"/> | |
<property name="<Super>3" type="empty"/> | |
<property name="<Super>4" type="empty"/> | |
</property> | |
<property name="custom" type="empty"> | |
<property name="<Alt>F3" type="empty"> | |
<property name="startup-notify" type="bool" value="true"/> | |
</property> | |
<property name="<Primary><Alt>Delete" type="string" value="xflock4"/> | |
<property name="<Super>f" type="string" value="exo-open --launch FileManager"/> | |
<property name="<Alt>F1" type="string" value="xfce4-popup-applicationsmenu"/> | |
<property name="<Super>w" type="string" value="exo-open --launch WebBrowser"/> | |
<property name="<Primary><Alt>t" type="string" value="exo-open --launch TerminalEmulator"/> | |
<property name="<Super>r" type="string" value="xfce4-appfinder"/> | |
<property name="XF86Music" type="string" value="parole"/> | |
<property name="Print" type="string" value="xfce4-screenshooter -f"/> | |
<property name="<Primary><Alt>Escape" type="string" value="xkill"/> | |
<property name="<Alt>F2" type="string" value="xfrun4"> | |
<property name="startup-notify" type="bool" value="true"/> | |
</property> | |
<property name="XF86Explorer" type="string" value="exo-open --launch FileManager"/> | |
<property name="<Super>m" type="string" value="exo-open --launch MailReader"/> | |
<property name="<Primary>Escape" type="string" value="xfce4-popup-whiskermenu"/> | |
<property name="XF86Calculator" type="string" value="mate-calc"/> | |
<property name="<Super>t" type="string" value="exo-open --launch TerminalEmulator"/> | |
<property name="XF86HomePage" type="string" value="exo-open --launch WebBrowser"/> | |
<property name="<Alt>Print" type="string" value="xfce4-screenshooter -w"/> | |
<property name="<Super>F1" type="string" value="xfce4-find-cursor"/> | |
<property name="<Primary><Alt>l" type="string" value="xflock4"/> | |
<property name="XF86Mail" type="string" value="exo-open --launch MailReader"/> | |
<property name="<Shift>Print" type="string" value="xfce4-screenshooter -r"/> | |
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/> | |
<property name="override" type="bool" value="true"/> | |
<property name="<Shift><Super>w" type="string" value="/home/mcarneiro/.bin/move-to-next-monitor"/> | |
<property name="<Shift><Alt>dollar" type="string" value="flameshot gui"/> | |
<property name="<Super>p" type="string" value="xfce4-display-settings --minimal"/> | |
<property name="F11" type="string" value="xflock4"/> | |
<property name="<Alt><Super>d" type="string" value="xfconf-query -c xfce4-notifyd -p /do-not-disturb -T"/> | |
</property> | |
</property> | |
<property name="xfwm4" type="empty"> | |
<property name="default" type="empty"> | |
<property name="<Alt>Insert" type="empty"/> | |
<property name="Escape" type="empty"/> | |
<property name="Left" type="empty"/> | |
<property name="Right" type="empty"/> | |
<property name="Up" type="empty"/> | |
<property name="Down" type="empty"/> | |
<property name="<Alt>Tab" type="empty"/> | |
<property name="<Alt><Shift>Tab" type="empty"/> | |
<property name="<Alt>Delete" type="empty"/> | |
<property name="<Primary><Alt>Down" type="empty"/> | |
<property name="<Primary><Alt>Left" type="empty"/> | |
<property name="<Shift><Alt>Page_Down" type="empty"/> | |
<property name="<Alt>F4" type="empty"/> | |
<property name="<Alt>F6" type="empty"/> | |
<property name="<Alt>F7" type="empty"/> | |
<property name="<Alt>F8" type="empty"/> | |
<property name="<Alt>F9" type="empty"/> | |
<property name="<Alt>F10" type="empty"/> | |
<property name="<Alt>F11" type="empty"/> | |
<property name="<Alt>F12" type="empty"/> | |
<property name="<Primary><Shift><Alt>Left" type="empty"/> | |
<property name="<Primary><Alt>End" type="empty"/> | |
<property name="<Primary><Alt>Home" type="empty"/> | |
<property name="<Primary><Shift><Alt>Right" type="empty"/> | |
<property name="<Primary><Shift><Alt>Up" type="empty"/> | |
<property name="<Primary><Alt>KP_1" type="empty"/> | |
<property name="<Primary><Alt>KP_2" type="empty"/> | |
<property name="<Primary><Alt>KP_3" type="empty"/> | |
<property name="<Primary><Alt>KP_4" type="empty"/> | |
<property name="<Primary><Alt>KP_5" type="empty"/> | |
<property name="<Primary><Alt>KP_6" type="empty"/> | |
<property name="<Primary><Alt>KP_7" type="empty"/> | |
<property name="<Primary><Alt>KP_8" type="empty"/> | |
<property name="<Primary><Alt>KP_9" type="empty"/> | |
<property name="<Alt>space" type="empty"/> | |
<property name="<Shift><Alt>Page_Up" type="empty"/> | |
<property name="<Primary><Alt>Right" type="empty"/> | |
<property name="<Primary><Alt>d" type="empty"/> | |
<property name="<Primary><Alt>Up" type="empty"/> | |
<property name="<Super>Tab" type="empty"/> | |
<property name="<Primary>F1" type="empty"/> | |
<property name="<Primary>F2" type="empty"/> | |
<property name="<Primary>F3" type="empty"/> | |
<property name="<Primary>F4" type="empty"/> | |
<property name="<Primary>F5" type="empty"/> | |
<property name="<Primary>F6" type="empty"/> | |
<property name="<Primary>F7" type="empty"/> | |
<property name="<Primary>F8" type="empty"/> | |
<property name="<Primary>F9" type="empty"/> | |
<property name="<Primary>F10" type="empty"/> | |
<property name="<Primary>F11" type="empty"/> | |
<property name="<Primary>F12" type="empty"/> | |
<property name="<Alt>F5" type="empty"/> | |
<property name="<Super>KP_1" type="empty"/> | |
<property name="<Super>Down" type="empty"/> | |
<property name="<Super>KP_3" type="empty"/> | |
<property name="<Super>Left" type="empty"/> | |
<property name="<Super>Right" type="empty"/> | |
<property name="<Super>KP_7" type="empty"/> | |
<property name="<Super>Up" type="empty"/> | |
<property name="<Super>KP_9" type="empty"/> | |
<property name="<Super>d" type="empty"/> | |
</property> | |
<property name="custom" type="empty"> | |
<property name="<Alt>F4" type="string" value="close_window_key"/> | |
<property name="<Super>Down" type="string" value="tile_down_key"/> | |
<property name="<Primary><Shift><Alt>Left" type="string" value="move_window_left_key"/> | |
<property name="<Alt>F5" type="string" value="maximize_horiz_key"/> | |
<property name="Right" type="string" value="right_key"/> | |
<property name="Down" type="string" value="down_key"/> | |
<property name="<Super>Right" type="string" value="tile_right_key"/> | |
<property name="<Alt>Tab" type="string" value="cycle_windows_key"/> | |
<property name="Left" type="string" value="left_key"/> | |
<property name="<Super>Up" type="string" value="tile_up_key"/> | |
<property name="<Alt>F6" type="string" value="maximize_vert_key"/> | |
<property name="<Super>Tab" type="string" value="switch_window_key"/> | |
<property name="<Super>Left" type="string" value="tile_left_key"/> | |
<property name="<Primary><Shift><Alt>Right" type="string" value="move_window_right_key"/> | |
<property name="<Super>d" type="string" value="show_desktop_key"/> | |
<property name="Up" type="string" value="up_key"/> | |
<property name="<Alt>F7" type="string" value="maximize_window_key"/> | |
<property name="<Alt>F11" type="string" value="fullscreen_key"/> | |
<property name="<Alt><Shift>Tab" type="string" value="cycle_reverse_windows_key"/> | |
<property name="Escape" type="string" value="cancel_key"/> | |
<property name="<Alt>space" type="string" value="popup_menu_key"/> | |
<property name="<Alt>F12" type="string" value="above_key"/> | |
<property name="<Primary><Shift><Alt>Up" type="string" value="move_window_up_key"/> | |
<property name="<Alt>F8" type="string" value="stick_window_key"/> | |
<property name="<Alt>F9" type="string" value="hide_window_key"/> | |
<property name="override" type="bool" value="true"/> | |
<property name="<Super>KP_7" type="string" value="tile_up_left_key"/> | |
<property name="<Super>KP_9" type="string" value="tile_up_right_key"/> | |
<property name="<Super>KP_1" type="string" value="tile_down_left_key"/> | |
<property name="<Super>KP_3" type="string" value="tile_down_right_key"/> | |
<property name="<Shift><Alt>F7" type="string" value="fill_window_key"/> | |
</property> | |
</property> | |
<property name="providers" type="array"> | |
<value type="string" value="xfwm4"/> | |
<value type="string" value="commands"/> | |
</property> | |
</channel> |
Author
mcarneiro
commented
May 1, 2021
•
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment