Last active
December 27, 2016 08:44
-
-
Save mvoropaiev/96d1d1678214ddff1d98 to your computer and use it in GitHub Desktop.
some useful fedora 23 install cmds
This file contains 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
#!/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 '[email protected]' \ | |
&& 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