DeepSkies

DeepSkies

Arch Linux

Arch Linux Logo My favourite distribution of Linux is Arch Linux. The reason? It lets you choose exactly what components you'd like to install - nothing more. Unlike pre-packaged distros like Ubuntu, Arch doesn't come with an office suite, a graphics editor, various games, tons of GUI tools, etc. Oh, you can install all of these things. As a matter of fact, you can make Arch look and behave exactly like Ubuntu, or any other distro. But that's not what I'm into.

When I install Arch, I either run Tom's Window Manager (TWM) which was one of the original window managers for Unix, or I run XFCE4 which is a nice, lightweight but modern window manager. I tend to install Arch often - recently I re-did my laptop after buying a bigger hard drive, or into a virtual machine for testing purposes. Here is the guide I use to install Arch:

Installation Notes

# iwctl                                ;when using wifi instead of LAN
[iwd]# device list                     ;make note of your device ie: wlan0
[iwd]# station {device} connect {SSID}
# ping archlinux.org                   ;ensure you have Internet!
# lsblk                                ;list devices
# fdisk /dev/sdx                       ;partition drive
Command: g                             ;create GPT table - clears drive
Command: n, 1, enter, +512M            ;partition 1 for EFI
Command: t, 1, 1                       ;set partition 1 type = 1 (EFI Boot)
Command: n, 2, enter, +1024M           ;partition 2 for Swap
Command: t, 2, 19                      ;set partition 1 type = 19 (swap)
Command: n, 3, enter, enter            ;partition 3 for Linux System
                                       ;by default, partition type = system
Command: p                             ;display partition table - double check!
Command: w                             ;write changes and exit app
# mkfs.fat -F32 /dev/sdxX              ;format EFI boot partition
# mkfs.ext4 /dev/sdxY                  ;format primary partition
# mkswap /dev/sdxZ
# swapon /dev/sdxZ
# mount /dev/sdxY /mnt
# pacman -Syy
# reflector -c "Canada" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist
# pacstrap -K /mnt base base-devel bash-completion linux linux-firmware vim vi rfkill networkmanager
Other Packages To Consider:
intel-ucode         ;if running an Intel processor
amd-uccode          ;if running an AMD processor
os-prober ntfs-3g   ;if dual booting with Windows
# genfstab -U /mnt >> /mnt/etc/fstab
# arch-chroot /mnt
# vi /etc/locale.gen                   ;uncomment en_US.UTF-8 UTF-8
# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# ln -sf /usr/share/zoneinfo/{Zone}/{SubZone} /etc/localtime
# hwclock --systohc --utc
# echo {hostname} > /etc/hostname   ;replace {hostname} with your preference
# vi /etc/hosts                        ;insert lines listed below:
127.0.0.1   localhost
::1         localhost
127.0.1.1   {hostname}
# systemctl enable NetworkManager.service    ; if required
# passwd
# pacman -S grub efibootmgr
# mkdir /boot/efi
# mount /dev/sdxX /boot/efi
# grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
# grub-mkconfig -o /boot/grub/grub.cfg
# vi /etc/pacman.conf                  ;uncomment Color and multilib repository!
# useradd -m -G wheel -s /bin/bash rick
# passwd rick
# visudo                               ;uncomment 'wheel' group line!
# exit
# reboot

Once rebooted, install nice things. Run all these commands with:

sudo pacman -S {package}

first, update repositories:
sudo pacman -Sy

PACKAGES:
---------

For Tom's Window Manager (TWM) or other X11 desktop:

xorg
xorg-server
xorg-apps
xorg-xinit
xterm
xorg-fonts-100dpi
xorg-fonts-75dpi
xorg-twm

For modern desktops like GNOME and KDE using Wayland:

plasma-meta                            ;KDE desktop
kde-applications-meta                  ;KDE applications
                                       ;install xdg-desktop-portal-gtk to have 
                                       ;gnome apps look proper in KDE

gnome                                  ;GNOME desktop
gnome-extra                            ;GNOME applications
gnome-shell-extension-dash-to-dock     ;install via yay (AUR)
gnome-shell-extension-weather-oclock   ;puts weather in top bar beside clock
gnome-browser-connector                ;for installing extensions from https://extensions.gnome.org/
adw-gtk3                               ;for dark and light themes

LOGIN SERVICE:
---------------
sudo systemctl enable sddm             ;enables KDE login
sudo systemctl enable gdm              ;enables GNOME login

VIRTUALBOX GUEST:
-----------------
pacman -S virtualbox-guest-utils
vi ~/.xinitrc                          ;add /usr/bin/VBoxClient-all

OTHER PACKAGES:
---------------
yay                                    ;aur + pacman wrapper
stellarium                             ;night sky simulator
stella                                 ;Atari 2600 emulator
gimp                                   ;image manipulation
firefox                                ;web browser
vlc                                    ;multimedia player
libreoffice                            ;office suite
clamav                                 ;antivirus
jre-openjdk                            ;java runtime
virtualbox                             ;virtualization
                                       ;gpasswd -a {user} vboxusers
                                        
FLATPAKS:
Firefox                                ;web browser 
Thunderbird                            ;email app [X5c$uTJHQeMt%Q!72TiN!] 
LibreOffice                            ;office suite 
GIMP                                   ;image manipulation 
Folio                                  ;similar to OneNote 
Spotify                                ;music streaming 
Signal                                 ;secure instant messaging 
Pinta                                  ;snagit style editor 
Warehouse                              ;examine Flatpak details

Entangle                               ;astrophotography 
Discord                                ;more instant messaging 
Stellarium                             ;planetarium software 
UltiMaker Cura                         ;3D slicer 
Qbittorrent                            ;torrent client 
FreeCAD                                ;CAD software 
Pika Backup                            ;backup utility

ProtonVPN                              ;VPN software 
Proton Mail Bridge                     ;email utility 
NoMachine                              ;use Enterprise Client

VS Code 
Microsoft Edge 
Microsoft Teams for Linux

FLATPAK COMMAND LINE USAGE: 
$ flatpak install {name of app} 
$ flatpak update {app} 
$ flatpak uninstall {app} 
$ flatpak list (list installed apps) 
$ flatpak info {app} 
$ flatpak search {app} 
$ flatpak run {app}

FLATPAK NOTE: flatpaks are installed into: ~/.var/app /var/lib/flatpak

HP printing
-----------
cups                                   ;systemctl enable cups
                                       ;systemctl start cups
brother-hl3180cdw                      ;AUR package for Brother HL-3180 CDW printer
                                       ;also ensure Avahi is set up properly (see below)

UPDATES:
--------
sudo pacman -Syu
or
yay

DELL LATITUDE 3540 AUDIO: 
sudo pacman -S sof-firmware sof-tools

LOCAL NETWORKING (.local DNS resolution): 
verify that avahi is installed (likely is - part of gnome install?) 
pacman -S nss-mdns 
systemctl enable avahi-daemon.service 
systemctl start avahi-daemon.service 
edit /etc/nsswitch.conf and change the line to be: 
hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns

DISABLE TOUCH SCREEN Using the ability to disable a single USB device, we need
just to create a UDEV rule. Create the file in

    /etc/udev/rules.d/80-touchscreen.rules

With following information: 

SUBSYSTEM=="usb", ATTRS{idVendor}=="2386", ATTRS{idProduct}=="310e", ATTR{authorized}="0" 

You can find idVendor and idProduct by running: 
cat /proc/bus/input/devices

You can reload the rules without restart: 
udevadm control --reload-rules && udevadm trigger

Alternatively: echo "0003:2386:310E.0001" >
/sys/bus/hid/drivers/hid-multitouch/unbind

GNOME
- dark mode (Settings: Appearance)
- auto date/time (Settings: Date & Time)
- time format: 12-hour (Settings: Date & Time)
- workspaces: 1 (Settings: Multitasking: Fixed number of workspaces: 1)
- Settings: Utils: Tweaks: Top Bar: Weekday: ON, Window Titlebars: Max, Min: ON
- Over-Amplification: ON
- wallpaper
- install dash to dock (turn off dodge windows, 50% opacity, remove trash)
- other extensions: weather, app indicator, no annoyance

FIX GDM SCREEN RESOLUTION
- set your screen resolution as desired (ie: 1366x768)
- this creates ~/.config/monitors.xml
- su to root, then copy that file to /var/lib/gdm3/.config/

DISABLE SLEEP
- sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target (use unmask to undo this)

GRUB
GRUB Edit: /etc/default/grub 
GRUB_DEFAULT=saved 
GRUB_SAVEDEFAULT=true
GRUB_GFXMODE=1024x768 
GRUBCMDLINELINUX_DEFAULT="quiet splash"
GRUBDISABLEOS_PROBER=false

SYNCTHING sudo apt install syncthing 
sudo systemctl enable [email protected] 
sudo systemctl start [email protected] 
http://localhost:8384

ANTIVIRUS 
sudo apt install clamav clamav-daemon 
reboot 
sudo freshclam 
curl https://secure.eicar.org/eicar.com.txt | clamscan - 
look for stdin: Win.Test.EICAR_HDB-1 FOUND in output 
sudo apt install clamtk

WEATHER: edit the file /usr/share/libgweather-4/Locations.xml and add:

        
          Barrie
          CYLS
          44.400110 -79.666340
        

near Borden in the Locations.xml file