zudjhg (text, doesn't expire)
Arch Linux Install Scratch:
Just some things to make life a little easier.
These notes lean on the terminal for app installation and editing key files, but file system pathways are noted for people more comfortable using file browsers.
I do not discuss firewalls, backups, or secure boots, as they are outside of the scope of getting a user off the ground with simple install that has the basics migrating from Windows.
We use archinstall, which also automatically handles your repository mirrors, CPU microcode support, graphics driver support, and networkmanager. We'll be building an install that has one user that is also the superuser.
We're assuming you've already made a bootable media and are at least familiar with getting into the live media of Arch Linux.

###
Install
###
In the live media:

pacman -Sy
pacman -S archinstall
archinstall

Run through the prompts. Choose KDE or skip the DE section entirely to install them manually once Arch Linux is installed.
	Locales, leave as is
	Mirrors, add United States mirrors.
	Disk, use suggested format.
	Disk Encryption, use at your discretion.
	Swap, leave as is
	Bootloader, leave as is
	Hostname, set it to whatever
	Root password, make sure you do this
	User account, make at least one and make it superuser
	Profile, Desktop, KDE Plasma
	Audio, pipewire
	Kernels, leave as is
	Network configuration, Use NetworkManager
	Additional packages: None, we'll do these post-install.
	Timezone, set whatever

Install and Reboot. You should come to a login screen based on the Desktop Environment you chose.
If you didn't choose a DE, you should be dropped in the TTY. You can still login, then run terminal commands.

If you manage to get yourself into the DE without a terminal, press Ctrl + Alt + F3 to get into the TTY. You can manage your package installs through this.
In TTY, Ctrl + Alt + F2 takes you back to the DE or login screen.

IF YOU DO NOT HAVE A TERMINAL, GO TO THE TTY (Ctrl + Alt + F3). Once you've done your commands there, Ctrl + Alt + F2 to get back into the DE.

###
Manual Desktop Environment Installs
###

If for some reason, you didn't install a desktop environment, or you want to experiment with another, here's a manual installation for them.

KDE Plasma
    # Lightweight Plasma, still testing what we can skip to maintain a complete environment.
    sudo pacman -S plasma-desktop kscreen plasma-pa alsa-utils plasma-systemmonitor sddm
    sudo systemctl enable sddm

xfce4
    sudo pacman -S xfce4 xfce4-goodies lightdm network-manager-applet
    # Clipboard manager.
    sudo pacman -S clipman
    sudo systemctl enable lightdm

###
pacman and AUR Helpers, and a word on sudo
###
"sudo" is going to come up a lot when you use the terminal. "sudo" is short for "superuser do"
"sudo" is a command line prefix that tells the kernel that we're performing actions - generally installations, but also some file editing, as "root." "root" is the highest level of authority in a Linux system, and that is the authority necessary and most secure when performing actions. "root" commands in the terminal are always going to start with "sudo."

Good Practice:
    Before you do major installs, good practice is to run
        sudo pacman -Syu # Downloads and installs the newest updates.
        sudo pacman -Sc # Remove the leftover downloaded package files.

    Note, pacman -Sc clears the package cache. If you find yourself needing to downgrade app versions, you'll need to redownload them through pacman -S.

AUR Helpers
    If you're looking around for packages to install, see a recommendation, then try to pacman -S it, then get stopped by "Target not found," you can use an AUR helper.

        First
            sudo pacman -S --needed base-devel git

        Then
            git clone https://aur.archlinux.org/yay.git
            cd yay
            makepkg -si
        Alternatively
            git clone https://aur.archlinux.org/paru.git
            cd paru
            makepkg -si

        Then, any time pacman doesn't have a package, but the AUR helper does, run "yay -Sy" (or "paru -Sy") in place of "pacman -S"

        https://aur.archlinux.org/ has a complete searchable database of Linux applications that can be installed through AUR helpers.
        Be mindful, this is community maintained, which means malignant packages can slip through the cracks. The rule of thumb is to check the PKGBUILD of the AUR installation before running the AUR command for it - but new end users wouldn't know what to look for. The other rule of thumb is to just not blindly install packages through AUR without checking feedback on it first.

###
Post-Install
###
You need a terminal emulator, a text editor, a file browser and a way to make that file browser robust, and a way to easily show your system specs. You need a way to handle archive files, read .pdf and .epub files, browse file galleries and images, and a way to listen to music and watch videos. You're also going to need codecs to handle a lot of audio and video file types.

System Essentials
    sudo pacman -S konsole kate dolphin dolphin-plugins fastfetch
Media Essentials
    sudo pacman -S ark okular gwenview mpv yt-dlp ffmpegthumbs
File compression management
    sudo pacman -S p7zip unrar
Media codecs
    sudo pacman -S gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly

Printers (Optional)
    sudo pacman -S cups system-config-printer
    sudo systemctl enable cups
###
List of Recommended Apps
###
The following have Linux versions:
    Brave | yay -S brave-bin
    LibreWolf | yay -S librewolf-bin
    LibreOffice | sudo pacman -S libreoffice
    XNViewMP | yay -S xnviewmp
    MPV | sudo pacman -S mpv
    Tor | Download it from the Tor homepage: https://www.torproject.org/download/

The following are Windows applications, to(>) nearest Linux equivalents, and it's the reason those near equivalents chosen in the earlier essentials section:
    Windows File Explorer > Dolphin | sudo pacman -S dolphin
    Notepad++ > Kate | sudo pacman -S kate
    Microsoft Image Viewer > Gwenview | sudo pacman -S gwenview
    Adobe PDF Reader, Calibre > Okular | sudo pacman -S okular

###
Specific App Details
###
Tor:
    Download Tor from the official website. The download for linux is a portable application, so just unzip and drop it wherever in your file system. For my purposes, it's under /home/c/Documents/Portable Apps
    To make it an app in the system, open Terminal

        cd "/home/c/Documents/Portable Apps/tor-browser"
        ./start-tor-browser.desktop --register-app

    This makes it appear in your menu as a recognized app, which you can then pin to your taskbar.
    You can do this with any AppImage that runs on Linux.

XnviewMP:
    XNView does not follow the system color theming. Change it here:
    Tools > Settings, General > Theme

Firefox Profiles:
    # Manually drop your firefox profiles here.
    ~/.mozilla/firefox/

    In Dolphin, enable hidden files with Ctrl + H. You can manually drop your Firefox (or Firefox based) profiles here.

MPV profiles:
    # User configs (no root needed):
    ~/.config/mpv/mpv.conf
    # User configs (root needed)
    /etc/mpv/

    You will not have an mpv.conf or input.conf by default. You will also need root permission to make them or drag and drop existing ones here.

###
Other Stuff
###
Missing Japanese text:
Terminal
    sudo pacman -S noto-fonts-cjk

Enable multilib packages in pacman:
	sudo nano /etc/pacman.conf

    Use the arrow keyes and uncomment these lines:
        [multilib]
        Include = /etc/pacman.d/mirrorlist

    Then, to re-sync the new packages.
    sudo pacman -Sy

    This is important for WINE and for Steam.

###
System Tweaks
###
KDE Tweaks to make it a little more Windows-like. You can keep or kill the default bindings at your discretion.
    Open up System Settings and move over to Keyboard > Shortcuts. Set:
        System Settings
            Launch: Meta + I
        Spectacle
            Capture Entire Desktop: Untick Shift + Print, add Print
            Record Rectangular Region: Untick Meta + R
        Window Management,
            Maximize Wndow: Meta + Up
            Minimize Window: Meda + Down
        Konsole
            Launch: Add Meta + R

# These are optional and generally unsecure, but they let you get back to using your system quicker.

Autologin, skip lock screen and password:
    nano /etc/sddm.conf.d/autologin.conf

	If the directory does not exist,
        mkdir /etc/sddm.conf.d
    Then re-run the nano command.

	In autologin.conf:
		[Autologin]
		User=[user]
		Session=[session] # xfce4, KDE Wayland, KDE X11

    Ctrl + O, Enter, Ctrl + X

XFCE4, no lock screen on wakeup (old Windows behavior):
    System Settings > Power Manager > System Tab > Uncheck "Lock screen when system is going to sleep."
    Settings > XfceScreensaver, Lock Screen Tab > Uncheck "Enable Lockscreen"
KDE, no lock screen on wakeup (old Windows behavior):
    System Settings > Screen Lockng:
        Lock screen automatically: Never
        Untick: Lock after waking up from sleep

###
Network Shares (CIFS)
###
Slowly read this section instead of jumping through it. There's actually a lot going on here.

In KDE, use Wi-Fi & Networking
In XFCE, use Advanced Network Configuration (network-manager-applet)

Part 1, LAN setup.
    We're going to manually arrange two devices in a LAN, where Device B can access shares on Device A.

    Device A (Windows 10 )
        Control Panel > Network Connections > Ethernet (the one you know connects both machines)
        Right Click > Properties
        TCP/ICP4 settings

        Tick Use the Following IP Address:
        IP:     10.0.0.1
        Subnet: 255.255.255.0

    Device B (Arch Linux, Network-Manager-Applet)
        Highlight Wired Connection (the one you know connects both machines), click the Gear icon
        IPv4 Settings tab
        Additional static IP addresses, Add

        IP:     10.0.0.2
        Netmask: 24
        Subnet: 255.255.255.0

    You do not have to do this to arrange any shares that are on Wifi. The method we'll do will mount shares assuming a static IP on Device A, which can be a regular LAN address (192.168.1.xxx). In that case, use yours in place of the sample address in Part 2

Part 2, cifs Automounted Shares
    For our example, we'll assume you have 2 additional network drives, a D drive and an E drive.

    #Make locations to mount the shares in the file system.
    sudo mkdir /mnt/Shares/D
    sudo mkdir /mnt/Shares/E

    # Open nano and add the network locations to file system tab (fstab)
    nano /etc/fstab

    //10.0.0.1/d /mnt/Shares/D cifs username=cow,password=moo,user,iocharset=utf8,noauto,users,soft,retrans=3,_netdev 0 0
    //10.0.0.1/e /mnt/Shares/E cifs username=cow,password=moo,user,iocharset=utf8,noauto,users,soft,retrans=3,_netdev 0 0

    Then reboot and login.

    Let's break down the options:
    username=cow
    password=moo #self explanatory
    iocharset=utf8 #this is the encoding of the response to the  queries the network will make when you try to connect.
    noauto #doesn't automount the share.
    users #this makes it so regular users can freely unmount the network shares in file browsers without root access.
    soft #Allows I/O to fail instead of hanging.
    retrans=3 #Number of retries before failing
    _netdev #Wait for network to be available.

Part 3, Credentials
    Use credentials to keep from putting your username and password in plain text.

    Terminal:
        sudo mkdir -p /etc/samba
        kate /etc/samba/credentials

    In credentials:
        user=cow
        password=moo

    Save it. Now we set it so it's read accessible by users. Back to terminal:
        sudo chmod 644 /etc/samba/credentials
        sudo chown root:root /etc/samba/credentials

    Back to fstab:
        //10.0.0.1/d /mnt/Shares/D cifs credentials=/etc/samba/credentials,iocharset=utf8,noauto,users,soft,retrans=3,_netdev 0 0
        //10.0.0.1/e /mnt/Shares/E cifs credentials=/etc/samba/credentials,iocharset=utf8,noauto,users,soft,retrans=3,_netdev 0 0

    Reboot, you should still be able to log into your shares.

    So let's go over the problems with this. Part 1 is fine. Part 2 and Part 3 are where we run into some issues.
    If the connection breaks on a CIFS share, the entire file system hangs. That's why we don't automount the network shares at system login since we may not always have the theoretical ethernet cable connecting the two machines or the Wifi may not have connected or the Wifi may be spotty. We're only setting the locations for us to manually mount them when they're available.
    Also, the credentials file is still accessible by regular users instead of exclusively to root - it has to be for it to be able to mount and unmount shares as a regular user using a file browser like dolphin, thunar or nemo.
    This works, but it's not optimal and it's not fully secure.