Skip to content

Instantly share code, notes, and snippets.

@grenade
Last active November 28, 2019 08:46
Show Gist options
  • Select an option

  • Save grenade/ba62d9a0369fe9a7bed5 to your computer and use it in GitHub Desktop.

Select an option

Save grenade/ba62d9a0369fe9a7bed5 to your computer and use it in GitHub Desktop.
#!/bin/bash
# gnome setup
curl -L https://gist.github.com/grenade/ba62d9a0369fe9a7bed5/raw/01-gnome-setup.sh | sh
# vcs setup
curl -L https://gist.github.com/grenade/ba62d9a0369fe9a7bed5/raw/02-vcs-setup.sh | sh
# secrets setup
curl -L https://gist.github.com/grenade/ba62d9a0369fe9a7bed5/raw/03-secrets-setup.sh | sh
# install some utilities
sudo dnf install -y gimp jq rdesktop xfreerdp WoeUSB
#sudo curl https://gist.githubusercontent.com/grenade/eae87d47459a57e915ba/raw/rdp.sh -o /usr/local/bin/rdp && sudo chmod a+x /usr/local/bin/rdp
sudo dnf install -y http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install -y vlc
# install firefox dev and nightly
curl -L git.io/firefoxdev | sh
curl -L git.io/firefoxnightly | sh
# install chrome stable, beta, unstable
sudo curl -L -o /etc/yum.repos.d/google-chrome.repo https://gist.githubusercontent.com/grenade/ba62d9a0369fe9a7bed5/raw/google-chrome.repo
sudo dnf install -y google-chrome-stable google-chrome-beta google-chrome-unstable
# install sublime text 3
curl -L https://gist.github.com/grenade/3b3c5b17586881d01142/raw/update_sublime_text_3.sh | sh
# install dropbox
sudo dnf install -y pygpgme
sudo dnf install -y https://www.dropbox.com/download?dl=packages/fedora/nautilus-dropbox-2015.10.28-1.fedora.x86_64.rpm
# install etcher (sd card flashing, eg: for raspberry pi or android)
sudo wget https://balena.io/etcher/static/etcher-rpm.repo -O /etc/yum.repos.d/etcher-rpm.repo
sudo dnf install -y balena-etcher-electron
# install hardened tor browser
#cd /opt
#curl -L https://www.torproject.org/dist/torbrowser/5.5a5-hardened/tor-browser-linux64-5.5a5-hardened_ALL.tar.xz | sudo tar -xvJ
#sudo ln -s /opt/tor-browser/start-tor-browser.desktop /usr/share/applications/
# install golang
curl -L https://gist.github.com/grenade/3b3c5b17586881d01142/raw/update_golang.sh | sh
# install nodejs, npm, rubygems
#curl -sL https://rpm.nodesource.com/setup_9.x | bash -
sudo dnf -y install https://rpm.nodesource.com/pub_9.x/fc/27/x86_64/nodesource-release-fc27-1.noarch.rpm
sudo dnf install -y nodejs ruby rubygems ruby-devel redhat-rpm-config
#sudo npm update -g npm
# install yeoman, angular-generator
sudo npm install -g bower grunt-cli firebase-tools yo generator-angular generator-karma
gem install sass compass
# install spotify
sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo
sudo dnf install -y spotify-client
# install VidyoDesktop
sudo dnf install -y https://v.mozilla.com/upload/VidyoDesktopInstaller-sl564-TAG_VD_3_6_3_017.rpm
sudo rm -f /etc/xdg/autostart/VidyoDesktop.desktop # disable autostart. See: https://ask.fedoraproject.org/en/question/51395/how-to-start-a-program-automatic/?answer=51422#post-id-51422
# add to /usr/bin/VidyoDesktop. See: https://bugzilla.mozilla.org/show_bug.cgi?id=840707#c35
VIDYO_AUDIO_FRAMEWORK=ALSA
# Install PowerShell
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
sudo dnf install -y powershell
# Set up Mozilla WiFi and VPN (https://mana.mozilla.org/wiki/display/[email protected]/Setting+up+Mozilla+Wifi+in+Ubuntu)
# download https://mana.mozilla.org/wiki/download/attachments/48599566/wifi_mozilla_net_chained.crt?version=1&modificationDate=1464125164664&api=v2 to ~/Downloads/wifi_mozilla_net_chained.crt
if [ -e ~/Downloads/wifi_mozilla_net_chained.crt ]; then
sudo install --owner=root --group=root --mode=644 ~/Downloads/wifi_mozilla_net_chained.crt /etc/NetworkManager/system-connections/wifi_mozilla_net_chained.crt
fi
restorecon -R -v ~/.cert
restorecon -R -v ~/.cert/ca.crt
sudo semanage fcontext -a -t home_cert_t ~/.cert/ca.crt
sudo ausearch -c 'openvpn' --raw | audit2allow -M my-openvpn
sudo semodule -X 300 -i my-openvpn.pp
# create cron jobs
mkdir -p ${HOME}/cron/log ${HOME}/cron/scripts
while read -r cron_script; do
curl -s -L https://gist.github.com/grenade/a06cfedf53f15a7d70d2ce46d4d8ecf1/raw/$cron_script > ${HOME}/cron/scripts/$cron_script
chmod +x ${HOME}/cron/scripts/$cron_script
${HOME}/cron/scripts/$cron_script
done <<< "$(curl -s https://api.github.com/gists/a06cfedf53f15a7d70d2ce46d4d8ecf1 | jq -r '.files | keys[]')"
#!/bin/bash
# 2560 x 1440 display:
gsettings set org.gnome.desktop.interface scaling-factor 1
gsettings set org.gnome.desktop.interface text-scaling-factor 1
# lower resolution display:
#gsettings set org.gnome.desktop.interface scaling-factor 0
#gsettings set org.gnome.desktop.interface text-scaling-factor 0.5
# Sane settings for Gnome
gsettings set org.gnome.desktop.interface clock-show-date true
gsettings set org.gnome.desktop.interface toolbar-icons-size 'small'
gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
# Sane settings for Nautilus / FileChooser
gsettings set org.gnome.nautilus.list-view default-visible-columns "['name', 'size', 'type', 'date_modified', 'owner', 'group', 'permissions']"
gsettings set org.gnome.nautilus.list-view default-zoom-level 'small'
gsettings set org.gnome.nautilus.preferences show-hidden-files true
gsettings set org.gnome.nautilus.preferences sort-directories-first true
gsettings set org.gnome.nautilus.preferences default-folder-viewer 'list-view'
gsettings set org.gtk.Settings.FileChooser sort-directories-first true
# Sane settings for gedit
gsettings set org.gnome.gedit.preferences.editor display-line-numbers true
# Sane settings for gnome-terminal
gsettings set org.gnome.Terminal.Legacy.Settings shell-integration-enabled true
gnome_terminal_default_profile=$(gsettings get org.gnome.Terminal.ProfilesList default)
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:${gnome_terminal_default_profile:1:-1}/ default-size-rows 50
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:${gnome_terminal_default_profile:1:-1}/ default-size-columns 240
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:${gnome_terminal_default_profile:1:-1}/ visible-name 'Default'
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:${gnome_terminal_default_profile:1:-1}/ login-shell true
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:${gnome_terminal_default_profile:1:-1}/ use-transparent-background true
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:${gnome_terminal_default_profile:1:-1}/ background-transparency-percent 25
# power settings
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'nothing'
gsettings set org.gnome.desktop.session idle-delay 300 # lock screen
#!/bin/bash
# install and configure version control systems
sudo dnf install -y git hg subversion
mkdir ~/git ~/hg ~/svn
git config --global user.name "Rob Thijssen"
git config --global user.email "[email protected]"
git config --global user.signingkey 508A43F2
git config --global gpg.program gpg2
git config --global commit.gpgsign true
echo '[ui]' > ~/.hgrc
echo 'username = Rob Thijssen <[email protected]>' >> ~/.hgrc
git clone [email protected]:grenade/password-store.git ~/.password-store
# install vcprompt
sudo dnf install -y gcc gcc-c++ make autoconf
hg clone http://hg.gerg.ca/vcprompt ~/hg/vcprompt
cd ~/hg/vcprompt
autoconf
./configure
make
sudo make install PREFIX=/usr/local
# add line below to ~/.bash_profile
export PS1='\u@\h \w $(vcprompt -f "\[$(tput setaf 153)\]%n\[\e[0m\]:\[$(tput setaf 190)\]%b\[\e[0m\]:\[$(tput setaf 10)\]%r \[$(tput setaf 1)\]%u\[$(tput setaf 208)\]%m\[\e[0m\]")\$ '
#!/bin/bash
# set permissions for secrets
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
chmod 644 ~/.ssh/*.pub
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts
chmod 644 ~/.ssh/config
chmod 700 ~/.cert
chmod 600 ~/.cert/*
chmod 644 ~/.cert/*.crt
chmod 644 ~/.cert/*.conf
chmod 700 ~/.gnupg
chmod 644 ~/.gnupg/*
chmod 600 ~/.gnupg/secring.gpg
chmod 700 ~/.gnupg/*.gpg-agent
chmod 700 ~/.gnupg/crls.d
chmod 755 ~/.gnupg/private-keys-v1.d
chmod 600 ~/.gnupg/*.d/*.key
chmod 664 ~/.gnupg/*.d/*.txt
chmod 600 ~/.boto
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl.google.com/linux/linux_signing_key.pub
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment