Skip to content

Instantly share code, notes, and snippets.

@zhenglaizhang
Forked from gilbertw1/arch.md
Created February 1, 2018 14:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zhenglaizhang/49123aa693aeb5bd3bfaa5f6f118f540 to your computer and use it in GitHub Desktop.
Save zhenglaizhang/49123aa693aeb5bd3bfaa5f6f118f540 to your computer and use it in GitHub Desktop.

Installation

Resources Download - https://www.archlinux.org/download/ Guide - https://wiki.archlinux.org/index.php/installation_guide

Mount USB

dd if=archlinux-2017.01.01-dual.iso | pv | dd of=/dev/sdb bs=4M

Connect to Wifi

sudo wifi-menu
ping 8.8.8.8

Update system clock

timedatectl set-ntp true

Determine correct disk (assuming /dev/sda)

fdisk -l

Partition disks

cfdisk /dev/sda

Makeup:

  • /dev/sda1 - 250MiB - Linux
  • /dev/sda2 - 4GiB - Swap
  • /dev/sda3 - - Linux

Format partitions

mkfs.ext2 /dev/sda1
mkfs.ext4 /dev/sda3
mkswap /dev/sda2
swapon /dev/sda2

Mount partitions

mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

Install arch linux

pacstrap /mnt base base-devel zsh vim git dialog wpa_supplicant

Generate fstab

genfstab -pU /mnt >> /mnt/etc/fstab

Enter new arch linux install

arch-chroot /mnt /bin/bash

Set hostname

echo MYHOSTNAME > /etc/hostname

Set locale

echo LANG=en_US.UTF-8 >> /etc/locale.conf
echo LANGUAGE=en_US >> /etc/locale.conf
echo LC_ALL=C >> /etc/locale.conf
vim /etc/locale.gen   # uncomment en_US.UTF-8
locale-gen

Set root password

passwd

Create user

useradd -m -g users -G wheel,storage,power -s /bin/zsh MYUSERNAME
passwd MYUSERNAME

Generate initrd image

mkinitcpio -p linux

Setup grub

grub-install
grub-mkconfig -o /boot/grub/grub.cfg

Unmount and restart (remove usb)

exit
umount -R /mnt
reboot

Setup

General

sudo pacman -S xorg-server xorg-xinit xorg-server-utils mesa xorg-twm xorg-xclock xterm xf86-input-synaptics

XMonad

sudo pacman -S xmonad xmonad-contrib xmobar trayer

XFCE4

sudo pacman -S xfce4 xfce4-goodies

Login

sudo pacman -S lightdm lightdm-gtk-greeter

Yaourt

sudo pacman -S yaourt
sudo vim /etc/pacman.conf

# [multilib]
# Include = /etc/pacman.d/mirrorlists

# [archlinuxfr]
# SigLevel = Never
# Server = http://repo.archlinux.fr/$arch

Pulse Audio

sudo pacman -S pulseaudio pulseadio-bluetooth pulseaudio-alsa paprefs alsa-utils
yaourt -S pasystray

Bluetooth

sudo pacman -S bluez bluez-utils blueman
sudo systemctl enable bluetooth
sudo systemctl start bluetooth

Network

sudo pacman -S networkmanager metwork-manager-applet networkmanager-openvpn gnome-keyring
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager

SSH

sudo pacman -S openssh
sudo systemctl enable sshd
sudo systemctl start sshd

Power

sudo pacman -S powertop tlp
yaourt -S thermald
sudo systemctl enable tlp
sudo systemctl start tlp

sudo vim /etc/systemd/system/powertop.service

#[Unit]
#Description=Powertop tunings

#[Service]
#Type=oneshot
#ExecStart=/usr/bin/powertop --auto-tune

#[Install]
#WantedBy=multi-user.target

sudo systemctl enable powertop  
sudo systemctl start powertop

Printing

sudo pacman -S cups ghostscript gsfonts hplip
yaourt -S libcups

systemctl enable org.cups.cupsd.service
systemctl start org.cups.cupsd.service

systemctl enable org.cups.cupsd-browsed.service
systemctl start org.cups.cupsd-browsed.service

Essentials

sudo pacman -S firefox emacs termite parcellite vlc feh xarchiver rofi gimp htop mlocate tree mutt ranger imagemagick jq mtr ncmpcpp nmap xscreensaver zathura stow compton tmux
yaourt -S google-chrome sublime-text-dev dropbox thunar-dropbox telegram-desktop slack-desktop zoom zeal virtualbox archey-plus speedtest-cli z-git trayer-srg xss-lock spotify tmuxp pgcli

Usage

Keybindings

XMonad

  1. Workspaces

    M-<num> - switch to workspace

    M-<left>/<right> - previous / next workspace

  2. Monitors

    M-<up>/<down> - previous / next monitor

    M-w/e/r - 1st / 2nd / 3rd monitor

    M-<shift>-<up>/<down> - move pane previous / next monitor

  3. Layouts

    M-SPC - cycle through layouts

    M-h/l - shrink / expand layout

    M-./, - decrease / increase master pane count

    M-RET - move current pane to master position

  4. Panes (windows)

    M-C - close pane

    M-j/k - previous / next pane

    M-J/K - move pane previous / next position

    M-f - toggle fullscreen

    M-m - minimize current pane

    M-M - un-minimize all minimized clients

  5. Applications

    M-<shift>-<enter> - open terminal

    M-F - open file browser

    M-p - launch rofi (application launcher)

    F12 - launch / show termite w/ tmux

    M-F10 - launch / show telegram

    M-g - show all open applications

    M-z - show / hide zeal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment