Skip to content

Instantly share code, notes, and snippets.

@jeffsharpe
Last active February 8, 2023 21:19
Show Gist options
  • Save jeffsharpe/ebc78bfe006416a44dc4 to your computer and use it in GitHub Desktop.
Save jeffsharpe/ebc78bfe006416a44dc4 to your computer and use it in GitHub Desktop.
Post Installation Arch Linux Notes - 20150919
#
# post installation
#
# login as ‘root’ and with the password set above
# connect if using wifi - eth should just work
nmcli dev wifi list
nmcli dev wifi connect “Hearth 5GHz" password [somepasswordhere]
# if it fails, try it again - it often fails for me on the 1st attempt (not sure why)
ping -c 3 www.google.ca
# add myself
useradd -d /home/jeff -c “Jeff Sharpe” -g users -G wheel -m -s /bin/bash jeff
passwd jeff
usermod -a -G disk jeff
usermod -a -G log jeff
# enable %wheel for sudo
visudo # uncomment to allow wheel group access
# enable multilib repo and turn on Color
vim /etc/pacman.conf
pacman -Syy
# xorg
pacman -S xorg-server xorg-server-utils
# figure out what display adapter you have
lspci | grep VGA
# my system has intel or you can use use vesa (if only temp)
pacman -S xf86-video-intel lib32-intel-dri
pacman -S xorg-xinit
# you may not need this
pacman -S xf86-input-synaptics
# test that puppy
pacman -S xorg-twm xorg-xclock xterm
# now test, should start up fine
startx
# clean up after the test
pacman -Rs xorg-twm xorg-xclock xterm
# if you are running this install as a virtualbox guest
pacman -S virtualbox-guest-utils virtualbox-guest-modules
modprobe -a vboxguest vboxsf vboxvideo
# now add those 3 modules to (1 per row)
vim /etc/modules-load.d/virtualbox.conf
systemctl enable vboxservice
usermod -a -G vboxsf jeff
# now install KDE
pacman -S kde-applications plasma sddm
systemctl enable sddm.service
# install GNOME if you wish
pacman -S gnome gnome-extra gnome-initial-setup gnome-tweak-tool \
gnome-packagekit
systemctl enable gdm.service
# do these later
yaourt -S gconf-editor system-config-printer gedit-plugins nautilus-open-terminal shotwell
yaourt -S numix-themes numix-icon-theme-git
mkdir ~/.fonts
# I like the following extensions (installed from extensions.gnome.org)
# Alternatetab (included)
# Applications Menu (included)
# Dash to Dock
# Removable Drive Menu (included)
# System Monitor in User Menu
# TopIcons
# User Themes (included)
# i like to reboot about here, give everything a test, ensure your xdm comes up
reboot
# from this point on, you are logged in as the user you created above
# download yaourt and package-query from https://aur.archlinux.org/packages/
# then build it manually
tar xvzf package-query.tar.gz ; cd package-query ; makepkg -s ; sudo pacman -U package-query[whatever].pkg.tar.xz
tar xvzf yaourt.tar.gz ; cd yaourt ; makepkg -s ; sudo pacman -U yaourt-[whatever].pkg.tar.xz
# lets use reflector to optimize our mirror
yaourt -S reflector
sudo cp -f /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.oldfile
sudo reflector --sort rate --protocol http --fastest 5 --age 36 --save /etc/pacman.d/mirrorlist
yaourt -Syua
# lets install a few things, pick and choose
yaourt -S aurvote keepassx gvim google-talkplugin google-chrome \
ntfs-3g mtools ttf-ubuntu-font-family ephifonts most \
firefox vlc p7zip rar unrar net-tools veracrypt openssh \
archlinux-artwork ttf-dejavu ttf-liberation dosfstools ntfsprogs \
zip unzip dos2unix git htop lsof dnsutils multitail \
pkgfile bash-completion conky-lua google-musicmanager terminus-font \
fortune-mod ctags arch-firefox-search wget nmap rsync \
ffmpegthumbnailer tmux colordiff ttf-ms-fonts \
exfat-utils fuse-exfat util-linux unetbootin gptfdisk highlight tk freerdp vivaldi \
spotify imagemagick-no-hdri
# some kde apps to install
yaourt -S breeze-kde4 yakuake konversation gtk-theme-orion \
libappindicator-gtk2 libappindicator-gtk3 sni-qt lib32-sni-qt
# install locate
yaourt -S mlocate
sudo updatedb
# install dropbox
yaourt -S dropbox
# add "fs.inotify.max_user_watches = 100000" to
sudo vim /etc/sysctl.d/99-sysctl.conf
sudo sysctl --system
# for netextender
yaourt -S netextender
sudo chmod -v u+s /usr/sbin/pppd
# configure ssh, disable root, etc
sudo vim /etc/ssh/sshd_conf
sudo systemctl enable sshd.service
sudo systemctl start sshd.service
# add ‘loop’ to this file
sudo vim /etc/modules-load.d/loop.conf
sudo modprobe loop
# install syncthing
yaourt -S syncthing
systemctl --user start syncthing
systemctl --user enable syncthing
# open your browser to http://localhost:8384
# this being a laptop, lets install power management
yaourt -S tlp
sudo tlp start
# see what governors are available
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
# configure it with
sudo vim /etc/default/tlp
sudo systemctl enable tlp
sudo systemctl enable tlp-sleep
# speed up kde app startup
mkdir -p ~/.compose-cache/
ln -sfv /run/user/$UID/ /home/$USER/.compose-cache
# some codecs, many will already be installed
yaourt -S gstreamer gst-libav gst-plugins-bad gst-plugins-base \
gst-plugins-good gst-plugins-ugly
# now steam
yaourt -S steam lib32-flashplugin
# lets use PostgreSQL 9.4
yaourt -S postgresql pgadmin3
sudo -i -u postgres
initdb --locale en_US.UTF-8 -E UTF8 -D '/var/lib/postgres/data'
exit
sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service
sudo -i -u postgres
# since this is a personal dev box, make my login superuser
createuser —interactive # create ‘jeff’ role
exit
# include syslog (in addition to journald)
yaourt -S syslog-ng
sudo systemctl enable syslog-ng
# virtualbox (on the host, skip if you are a guest)
yaourt -S virtualbox virtualbox-guest-iso virtualbox-host-dkms
sudo gpasswd -a jeff vboxusers
# add the following modules (1 per line): vboxdrv, vboxnetadp, vboxnetflt, vboxpci to
sudo vim /etc/modules-load.d/virtualbox.conf
sudo systemctl enable dkms.service
# sound, unmute default alsa device
yaourt -S alsa-utils pulseaudio pulseaudio-alsa lib32-libpulse lib32-alsa-plugins
amixer sset Master unmute
pulseaudio --start
# set up datetime sync
yaourt -S ntp
sudo timedatectl set-ntp true
sudo timedatectl list-timezones
sudo timedatectl set-timezone Canada/Pacific
# make sure it all worked
timedatectl status
# printing with cups (not doing avahi or samba - installing
# local pdf printer and some remotesudo devices)
yaourt -S libcups cups gsfonts ghostscript gutenprint hplip cups-pdf \
foomatic-db foomatic-db-engine foomatic-db-nonfree
# (not found) lexmarkz-cups-bin
# add your hostname here
sudo vim /etc/cups/client.conf
# start the services
sudo systemctl start org.cups.cupsd.service
sudo systemctl start cups-browsed.service
sudo systemctl enable org.cups.cupsd.service
sudo systemctl enable cups-browsed.service
# set up permissions
sudo groupadd printadmin
sudo gpasswd -a jeff printadmin
sudo gpasswd -a jeff lp
# add 'printadmin' to the SystemGroup line
sudo vim /etc/cups/cups-files.conf
# and add 'Out ${HOME}'
sudo vim /etc/cups/cups-pdf.conf
# Got an SSD, do this
sudo systemctl enable fstrim.timer
# edit and make options 'defaults,noatime,discard' for all mounted ext4 SSD partitions
sudo vim /etc/fstab
# set issue_discards to '1'
sudo vim /etc/lvm/lvm.conf
# I like to use Bluetooth
yaourt -S bluez bluez-utils
# add btusb to
sudo vim /etc/modules-load.d/bluetooth.conf
sudo modprobe btusb
sudo systemctl enable bluetooth
sudo systemctl start bluetooth
# LibreOffice
yaourt -S libreoffice-fresh hunspell-en hyphen-en mythes-en \
libreoffice-extension-languagetool libreoffice-fresh-en-us-help
# setup the firewall
yaourt -S firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
# from gui set pernament:
# default zone
# new service on home zone: Dropbox, you need to enable port 17500 for LAN sync
# new service on home zone: Syncthing port 22000/tcp and 21025/udp
# reload
# now configure your wifi connection to set the zone (for every new connection)
# i want to use RVM (but not system wide)
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash -s stable
# speed up your browser
yaourt -S profile-sync-daemon
psd
# check your settings, enable USE_OVERLAYFS="yes"
vim ~/.config/psd/psd.conf
# add 'overlay' to
sudo vim /etc/modules-load.d/overlay.conf
sudo modprobe overlay
# now you want to add something like "jeff ALL=(ALL) NOPASSWD: /usr/bin/psd-overlay-helper" to
sudo visudo
# check your settings
profile-sync-daemon parse
# now start that puppy
systemctl --user start psd.service
systemctl --user enable psd.service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment