Skip to content

Instantly share code, notes, and snippets.

@mvoropaiev
Last active December 27, 2016 08:44
Show Gist options
  • Save mvoropaiev/96d1d1678214ddff1d98 to your computer and use it in GitHub Desktop.
Save mvoropaiev/96d1d1678214ddff1d98 to your computer and use it in GitHub Desktop.
some useful fedora 23 install cmds
#!/usr/bin/env bash
set -ex
## update system
sudo dnf upgrade --assumeyes --refresh
## fstrim (on luks, no lvm)
# 1. add 'rd.luks.options=discard' to /etc/default/grub (at the end of `GRUB_CMDLINE_LINUX="... rd.luks.options=discard"`)
# 2. run 'sudo grub2-mkconfig -o /boot/grub2/grub.cfg'
# 3. add `luks,allow-discards` too all encrypted volumes in /etc/crypttab (at the end of line)
# 4. run `sudo dracut –force`
# 5. reboot
# 6. test with `sudo fstrim --all`
# 7. enable periodical fstrim `systemctl enable fstrim-timer`
## clamav
sudo dnf install --assumeyes \
clamav \
clamav-update
# enable:
# * sudoedit /etc/freshclam.conf:
# comment out line 8: '# Example'
# * sudoedit /etc/sysconfig/freshclam:
# comment out last line: '# FRESHCLAM_DELAY=disabled-warn'
# update:
sudo freshclam
## tlp (needed?)
# sudo dnf install --assumeyes \
# tlp \
# tlp-rdw
# redshift
sudo dnf install --assumeyes redshift-gtk
## rpmfusion repositories
sudo dnf install --nogpgcheck --assumeyes \
"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"
## keepassx
sudo dnf install --assumeyes keepassx
## dropbox (rpmfusion)
sudo dnf install --assumeyes \
nautilus-dropbox \
pygpgme
## google chrome (external)
sudo dnf install --assumeyes \
'https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm'
## atom editor (external)
sudo dnf install --assumeyes \
ShellCheck \
'https://github.com/atom/atom/releases/download/v1.12.7/atom.x86_64.rpm'
# install additional packages:
apm install \
atom-beautify \
atom-jinja2 \
git-plus \
highlight-selected \
language-docker \
language-groovy \
language-nginx \
language-puppet \
language-terraform \
linter \
linter-golinter \
linter-jsonlint \
linter-pep8 \
linter-shellcheck \
merge-conflicts \
minimap \
minimap-find-and-replace \
minimap-git-diff \
minimap-highlight-selected \
minimap-linter \
minimap-split-diff \
sort-lines \
split-diff
## slack (external)
sudo dnf install --assumeyes \
'https://downloads.slack-edge.com/linux_releases/slack-2.3.4-0.1.fc21.x86_64.rpm'
## viber (external)
sudo dnf install --assumeyes \
'http://download.cdn.viber.com/desktop/Linux/viber.rpm'
## telegram
# TODO
## others
# system tools:
sudo dnf install --assumeyes \
gnome-power-manager \
gnome-tweak-tool \
levien-inconsolata-fonts \
pgadmin3 \
python-devel \
python3-devel \
transmission \
vim \
"http://cdn.mysql.com//Downloads/MySQLGUITools/mysql-workbench-community-6.3.8-1.fc24.x86_64.rpm"
# extensions:
sudo dnf install --assumeyes \
gnome-shell-extension-auto-move-windows \
gnome-shell-extension-drive-menu \
gnome-shell-extension-openweather \
gnome-shell-extension-pomodoro
# topicons-plus (https://extensions.gnome.org/extension/1031/topicons/)
# games:
sudo dnf install --assumeyes \
gnome-2048 \
gnome-chess \
gnome-mines
# archivers:
sudo dnf install --assumeyes \
cabextract \
lzip \
p7zip \
p7zip-plugins \
unrar
# configure git and sudoedit:
git config --global user.name 'Michael Voropaiev' \
&& git config --global user.email 'm.voropaiev@gmail.com' \
&& git config --global core.editor 'vim' \
&& git config --global push.default 'simple' \
&& echo 'export SUDO_EDITOR=/usr/bin/vim' >> ~/.bashrc
## python packages
pip3 install --user --upgrade \
ansible \
awscli \
docker-py \
pep8 \
pylint \
virtualenv
## go packages
go get -u github.com/golang/lint/golint
## virtualbox (rpmfusion)
sudo dnf install --assumeyes VirtualBox
# extensions pack:
wget 'http://download.virtualbox.org/virtualbox/5.0.16/Oracle_VM_VirtualBox_Extension_Pack-5.0.16.vbox-extpack' \
vboxmanage extpack install 'Oracle_VM_VirtualBox_Extension_Pack-5.0.16.vbox-extpack'
# add user to vboxusers group:
sudo usermod -a -G vboxusers "$USER"
## bad codecs
sudo dnf install --assumeyes \
gstreamer-ffmpeg \
gstreamer-plugins-bad \
gstreamer-plugins-bad-free \
gstreamer-plugins-bad-nonfree \
gstreamer-plugins-good \
gstreamer-plugins-ugly \
gstreamer1-libav \
gstreamer1-plugins-bad-free \
gstreamer1-plugins-good \
gstreamer1-plugins-ugly
# more bad codecs:
sudo dnf install --assumeyes \
gstreamer-plugin-crystalhd \
gstreamer-plugins-bad-extras \
gstreamer-plugins-bad-free-extras \
gstreamer1-plugins-bad-free-extras \
gstreamer1-plugins-bad-freeworld \
gstreamer1-plugins-good \
gstreamer1-plugins-ugly \
lame-libs \
libmpg123
## intel drivers
# TODO: fedora 25 has latest drivers already!
## nvidia drivers (optimus)
# enable bumblebee repositories:
sudo dnf install --assumeyes \
"http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora$(rpm -E %fedora)/noarch/bumblebee-release-1.2-1.noarch.rpm" \
"http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora$(rpm -E %fedora)/noarch/bumblebee-nonfree-release-1.2-1.noarch.rpm"
# install required packages:
sudo dnf install --assumeyes \
bbswitch-dkms \
bumblebee-nvidia \
kernel-devel \
primus.i686 \
primus.x86_64 \
VirtualGL.i686 \
VirtualGL.x86_64
## multimedia
sudo dnf install --assumeyes \
darktable \
gimp \
gnome-music \
gnome-photos \
inkscape \
vlc
## docker
# setup repository (no fedora 25 repo yet):
sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/fedora/24/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
# install:
sudo dnf install --assumeyes docker-engine
# add user to docker group:
sudo groupadd docker \
&& sudo gpasswd -a "$USER" docker
# docker-compose:
curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-Linux-x86_64 \
> ~/.local/bin/docker-compose \
&& chmod +x ~/.local/bin/docker-compose
## vagrant
sudo dnf install --assumeyes vagrant
## steam
# TODO: describe installation
## skype (externals)
sudo dnf install --assumeyes \
'https://repo.skype.com/latest/skypeforlinux-64-alpha.rpm'
## minecraft
# install java:
sudo dnf install --assumeyes \
java
# download launcher:
wget 'https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar'
# play:
java -Xmx1024M -Xms512M -jar ./Minecraft.jar
## arc theme (external)
sudo dnf config-manager --add-repo \
"http://download.opensuse.org/repositories/home:Horst3180/Fedora_$(rpm -E %fedora)/home:Horst3180.repo" \
&& sudo dnf install --assumeyes arc-theme
## numix themes
sudo dnf install --assumeyes \
numix-gtk-theme \
numix-icon-theme \
numix-icon-theme-circle
## powerline
# install:
sudo dnf install --assumeyes \
powerline \
vim-plugin-powerline
# configure bash:
cat <<-EOF >> ~/.bashrc
if [ -f $(which powerline-daemon) ]; then
powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /usr/share/powerline/bash/powerline.sh
fi
EOF
# configure vim:
cat <<-EOF >> ~/.vimrc
python3 from powerline.vim import setup as powerline_setup
python3 powerline_setup()
python3 del powerline_setup
set laststatus=2
set t_Co=256
EOF
# additional config:
# /etc/xdg/powerline/config.json
# replace shell theme: 'default' with 'default_leftonly'
# /etc/xdg/powerline/themes/shell/default_leftonly.json
# add to cwd: ', "args": {"dir_limit_depth": 1}'
## razercfg
# install requirements:
sudo dnf install --assumeyes \
cmake \
gcc-c++ \
libusb-devel \
qt-devel \
&& sudo ln -s '/usr/bin/qmake-qt4' '/usr/bin/qmake'
# install gui-only requirement, can take a while:
sudo pip3 install --upgrade pyside=='1.2.4'
# install razercfg:
_version='0.33' \
&& wget http://bues.ch/razercfg/razercfg-$_version.tar.bz2 \
&& tar jxvf razercfg-$_version.tar.bz2 \
&& cd razercfg-$_version \
&& cmake . \
&& make \
&& sudo make install \
&& sudo cp './razer.conf' '/etc/razer.conf'
# fix path:
sudo mv '/usr/local/lib/librazer.so' '/usr/lib64/librazer.so' \
&& sudo mv '/usr/local/lib/python3.4/site-packages/pyrazer' '/usr/lib64/python3.4/site-packages/pyrazer'
# start service:
systemctl start razerd.service
## pgadmin4-v1
# repository:
sudo dnf install --assumeyes \
"https://download.postgresql.org/pub/repos/yum/9.6/fedora/fedora-$(rpm -E %fedora)-x86_64/pgdg-fedora96-9.6-3.noarch.rpm"
# install:
sudo dnf install --assumeyes pgadmin4-v1
## git-crypt
# install requirements:
sudo dnf install --assumeyes \
gcc-c++ \
git \
make \
openssl \
openssl-devel
# build and install:
_version='0.5.0' \
&& curl -fSL -o git-crypt-$_version.tar.gz \
"https://github.com/AGWA/git-crypt/archive/$_version.tar.gz" \
&& tar zxvf git-crypt-$_version.tar.gz \
&& make -C ./git-crypt-$_version \
&& sudo make install -C ./git-crypt-$_version PREFIX=/usr/local
## wine
sudo dnf install --assumeyes \
libtxc_dxtn.x86_64 \
libtxc_dxtn.i686 \
wine \
winetricks
# generate 32 bit prefix
WINEARCH=win32 WINEPREFIX=~/.wine wine wineboot
winecfg # set `windows 7`
winetricks d3dx9 vcrun2005 vb6run msxml3 dotnet20 dotnet40 gdiplus corefonts
# intel: LANG=ru_RU wine speed.exe
# nvidia: LANG=ru_RU vlbank_mode=0 primusrun wine speed.exe
# nouveau: DRI_PRIME=1 LANG=ru_RU wine speed.exe
## enable multicast (?)
firewall-cmd --permanent \
--add-rich-rule='rule family="ipv4" destination address="224.0.0.0/4" protocol value="igmp" accept' \
&& firewall-cmd --permanent \
--add-rich-rule='rule family="ipv4" destination address="224.0.0.0/4" protocol value="udp" accept' \
&& firewall-cmd --reload
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment