Last active
May 9, 2024 17:19
-
-
Save renaudll/c2f8d79d27687655de35 to your computer and use it in GitHub Desktop.
Arch Linux Installation
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
| ############################################################# | |
| # Installation (custom setup) | |
| # https://wiki.archlinux.org/index.php/beginners'_guide | |
| # | |
| # For Rasberri Pi Installation: | |
| # http://archlinuxarm.org/platforms/armv7/broadcom/raspberry-pi-2 | |
| ############################################################# | |
| # Reconfigure partition table & format | |
| sgdisk --zap-all /dev/sda | |
| gdisk /dev/sda | |
| n | |
| # Don't forget to create a +1M partition with ef02 type for grub in GPT | |
| w | |
| mkfs.ext4 /dev/sda1 | |
| # Bootstrap Arch Linux | |
| mount /dev/sda1 /mnt | |
| pacstrap -i /mnt base | |
| genfstab -U -p /mnt >> /mnt/etc/fstab | |
| arch-chroot /mnt /bin/bash | |
| passwd | |
| # Install grub | |
| pacman -Sy grub | |
| grub-install --target=i386-pc --recheck /dev/sda | |
| grub-mkconfig -o /boot/grub/grub.cfg | |
| # We are done, rebooting! | |
| exit | |
| reboot | |
| # | |
| # Rasberry Pi specific configuration | |
| # | |
| # Remove alarm user (security risk) | |
| userdel alarm | |
| # Speed up mandb updates | |
| # see: https://archlinuxarm.org/forum/viewtopic.php?t=10474&p=52419 | |
| pacman -Sy mandb-ondemand | |
| ############################################################# | |
| # System configuration | |
| ############################################################# | |
| # Configure locale | |
| # see: https://wiki.archlinux.org/index.php/Locale | |
| locale -a | |
| vi /etc/local.gen | |
| locale-gen | |
| localectl set-locale LANG=en_US.UTF-8 | |
| # Perform a full system upgrade | |
| pacman -Su | |
| # Install base tools | |
| pacman -Sy --needed sudo vim zsh git base-devel cmake wget htop python | |
| # Intall fs packages | |
| pacman -Sy --needed ntfs-3g exfat-utils dosfstools fuse-exfat nfs-utils | |
| # Install bluetooth-related packages | |
| pacman -Sy --needed bluez bluez-utils pulseaudio-bluetooth | |
| sudo systemctl start bluetooth | |
| sudo systemctl enable bluetooth | |
| # Activate ftrim for SSD | |
| sudo systemctl start fstrim.timer | |
| sudo ssytemctl enable fstrim.timer | |
| # Install pacaur | |
| pacman -Sy --needed expac base-devel wget yajl | |
| cd /tmp | |
| wget https://aur.archlinux.org/cgit/aur.git/snapshot/cower.tar.gz | |
| tar -xf cower.tar.gz | |
| rm cower.tar.gz | |
| cd cower | |
| makepkg -i --skippgpcheck | |
| cd .. | |
| rm -rf cower | |
| wget https://aur.archlinux.org/cgit/aur.git/snapshot/pacaur.tar.gz | |
| tar -xf pacaur.tar.gz | |
| rm pacaur.tar.gz | |
| cd pacaur | |
| makepkg -i | |
| cd .. | |
| rm -rf pacaur | |
| ############################################################# | |
| # User configuration | |
| ############################################################# | |
| # Create rll user | |
| useradd -m -G users,wheel,lp -s /bin/bash rll | |
| passwd rll | |
| su - rll | |
| # Set zsh as default shell | |
| chsh -s $(which zsh) | |
| # Install dotfiles | |
| cd | |
| git clone https://github.com/renaudll/dotfiles.git | |
| dotfiles/install.sh | |
| # Configure zsh | |
| install oh-my-zsh-git | |
| install powerline-fonts-git | |
| ############################################################# | |
| # Additional system configuration | |
| ############################################################# | |
| # Setup GUI (Base) | |
| # src: https://wiki.archlinux.org/index.php/MATE#Graphical_log-in | |
| # Note: Don't forget to install graphical driver if necessary! | |
| pacman -Sy xorg-server xorg-xinit | |
| # Setup GUI (mate) | |
| #pacman -Sy mate mate-extra | |
| #pacman -Sy lightdm-gtk-greeter gnome-icon-theme | |
| #systemctl enable lightdm.service | |
| # Setup GUI (gnome) | |
| pacman -Sy --needed gnome gdm | |
| # Fix issue with gdm and pulseaudio (prevent audio device switch when connecting to bluetooth) | |
| # see: https://wiki.archlinux.org/index.php/Bluetooth_headset#Gnome_with_GDM | |
| # Allow gnome extensions to be managed in chrome | |
| # src: https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep?hl=en | |
| pacaur -Sy chrome-gnome-shell-git | |
| # Additional software | |
| install google-chrome | |
| install pidgin | |
| install gparted ntfs-3g exfat-utils dosfstools fuse-exfat | |
| install git | |
| install tigervnc vino | |
| install pamac-pacaur # gui for pacaur | |
| install sublime-text | |
| install gitkraken | |
| install pycharm-professional # python development | |
| install webstorm # javascript development | |
| # Tweaks | |
| # Fix SublimeText duplicate icon issue: | |
| # Add the following line in /usr/share/applications/sublime-text.desktop | |
| # StartupWMClass=sublime_text | |
| # Skinning | |
| install numix-icon-theme-circle # icon pack | |
| # Install the following gnome extensions: | |
| # - Dash to Dock | |
| # - Coverflow Alt-Tab | |
| # - TopIcon Plus | |
| # - System Monitor | |
| # Install the sublime-text package manager here: https://packagecontrol.io/installation | |
| # Install and configure the following package: | |
| # - gist | |
| ############################################################# | |
| # Server configuration | |
| ############################################################# | |
| # Setup dhcpcd | |
| systemctl enable dhcpcd | |
| # or NetworkManager (if you're tired of writing dhcpcd) | |
| pacman -Sy networkmanager network-manager-applet | |
| systemctl start networkmanager | |
| systelctm enable networkmanager | |
| # | |
| # Setup share | |
| # | |
| # Setup autofs | |
| pacman -Sy autofs | |
| echo "/mnt /etc/autofs/auto.mnt --timeout 120" >> /etc/autofs/auto.master | |
| echo "media -fstype=auto :/dev/sda1" >> /etc/autofs/auto.mnt | |
| systemctl start autofs | |
| systemctl enable autofs | |
| # Setup share (samba) | |
| pacman -Sy samba | |
| cp /etc/samba/smb.conf.default /etc/samba/smb.conf | |
| # todo: configure /etc/samba/smb.conf | |
| systemctl start smbd | |
| systemctl start nmbd | |
| # | |
| # Setup server | |
| # | |
| # Install Apache | |
| pacman -Sy apache php-apache --noconfirm | |
| chmod 777 /srv/http | |
| # Install DokuWiki | |
| pacman -Sy dokuwiki --noconfirm | |
| echo "Include conf/extra/dokuwiki.conf" >> /etc/httpd/conf/httpd.conf | |
| ln -s /usr/share/webapps/dokuwiki/ /srv/http/dokuwiki | |
| systemctl enable httpd | |
| systemctl restart httpd | |
| # Configure httpd | |
| #< #LoadModule mpm_event_module modules/mod_mpm_event.so | |
| #< LoadModule mpm_prefork_module modules/mod_mpm_prefork.so | |
| #> LoadModule mpm_event_module modules/mod_mpm_event.so | |
| #< LoadModule php5_module modules/libphp5.so | |
| #< Include conf/extra/php5_module.conf | |
| # Setup FTP | |
| pacman -Sy vsftpd | |
| # Configure FTP | |
| # vim /etc/vsftpd.conf | |
| systemctl enable vsftpd | |
| systemctl start vsftpd | |
| # Setup SVN (littlebobbygames) | |
| # src: https://wiki.archlinux.org/index.php/Subversion_Setup#Create_a_Repository | |
| # src: http://wiki.centos.org/HowTos/Subversion | |
| pacman -Sy subversion | |
| mkdir /srv/svn | |
| #< LoadModule dav_module modules/mod_dav.so | |
| #> #LoadModule dav_module modules/mod_dav.so | |
| #< LoadModule dav_fs_module modules/mod_dav_fs.so | |
| #< LoadModule dav_svn_module modules/mod_dav_svn.so | |
| #< LoadModule authz_svn_module modules/mod_authz_svn.so | |
| #> #LoadModule dav_fs_module modules/mod_dav_fs.so | |
| echo 'SVNSERVE_ARGS="-r /srv/svn/littlebobbygames"' >> /etc/conf.d/svnserve | |
| systemctl start svnserve | |
| systemctl enable snvserve | |
| # | |
| # Setup media center | |
| # | |
| pacman Sy kodi # xbmc | |
| # Make bluetoothctl work | |
| # todo: bind to bluetooth device | |
| # Ensure bluetooth is powered on by default: | |
| vim /etc/udev/rules.d/10-local.rules | |
| # Set bluetooth power up | |
| ACTION=="add", KERNEL=="hci0", RUN+="/usr/bin/hciconfig hci0 up" | |
| # Setup Transmission & Sonarr for rss feeds (torrent server) | |
| pacman -Sy transmission-cli | |
| systemctl start transmission | |
| systemctl enable transmission | |
| # edit /var/lib/transmission/.config/transmission-daemon/settings.json | |
| # don't forget to stop the daemon before | |
| ln -s /var/lib/transmission/Downloads /mnt/data/Downloads | |
| pacaur -Sy sonarr | |
| ############################################################# | |
| # DAW Configuration | |
| ############################################################# | |
| install jack2-dbus | |
| install alsa-utils # for speaker-test | |
| install bitwig-studio | |
| # | |
| # Configure system for real time audio | |
| # src: https://wiki.archlinux.org/index.php/Professional_audio#System_Configuration | |
| # Add user to audio group | |
| sudo usermode -a -G audio rll | |
| # Install airwave-git | |
| # src: https://github.com/phantom-code/airwave | |
| install gcc-multilib cmake git wine qt5-base | |
| install airwave-git | |
| # Install wine 32 bit prefix and configure it. | |
| # https://www.kvraudio.com/forum/viewtopic.php?f=259&t=415929&start=270 | |
| WINEPREFIX=~/.wine32 WINEARCH=win32 winecfg | |
| # Copy the working d2d1.dll and add the overde in winecfg. | |
| # 3e0a1bf9e17349a8392455845721f92f | |
| (...) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment