No description or website provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
X11/etc/X11/xorg.conf.d
alacritty/.config/alacritty
bash
compton
ctags
dunst/.config/dunst
fontconfig
git
gtk2
gtk3/.config/gtk-3.0
herbstluftwm/.config/herbstluftwm
hwdb
i3/.config/i3
icc
rofi/.config/rofi
scripts
ssh/.ssh
tmux
x
xscreensaver
yarn
.gitignore
README.md
box.sh

README.md

dotfiles

Uses box to build my dev machines.

Installing Arch Linux

Use Etcher to make a bootable Arch Linux USB.

Connect to the internet

If you're using a wired connection then it should be working already, otherwise just use wifi-menu.

Partitioning

Creating partitions

To create partitions use cfdisk /device/nvme0n1.

  • Efi system partition of 500M
  • Linux swap partition of 16G
  • Linux filesystem partition using the rest of the disk space

Formatting partitions

mkfs.fat -F32 /dev/nvme0n1p1
mkswap /dev/nvme0n1p2
mkfs.ext4 /dev/nvme0n1p3

Mounting partitions

mount /dev/nvme0n1p3 /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot
swapon /dev/nvme0n1p2

Installing required packages

pacstrap /mnt base base-devel intel-ucode sudo ifplugd wpa_supplicant dialog iw wpa_actiond alsa-utils

Setting up fstab

genfstab -U /mnt >> /mnt/etc/fstab

Chroot

arch-chroot /mnt

Timezone

ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc

Locale

Uncomment en_US.UTF-8 UTF-8 and any localizations you need in /etc/locale.gen.

locale-gen
echo 'LANG=en_US.UTF-8' >> /etc/locale.conf

Setting up hostname

echo "YOUR_HOST_NAME" > /etc/hostname
echo '127.0.0.1	localhost' >> /etc/hosts
echo '::1 localhost' >> /etc/hosts
echo '127.0.1.1	YOUR_HOST_NAME.localdomain YOUR_HOST_NAME' >> /etc/hosts

Setting the root password

passwd

Creating your user

useradd -mg users -G wheel,storage,power -s /bin/bash YOUR_USER_NAME
passwd YOUR_USER_NAME

Allowing your user to sudo

Edit /etc/sudoers like this:

EDITOR=vi visudo

Then add this line to it:

%wheel ALL=(ALL) ALL

Automatic network connections

Wireless

Make sure to use the correct wireless interface name by looking at ip link. In this case my interface is wlp58s0.

sudo systemctl enable netctl-auto@wlp58s0.service

Wired

Get the name of your wired interface with ip link.

cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/ethernet-<interface_name>

Edit /etc/netctl/ethernet-<interface_name> and change the interface to whatever the name of your interface is.

Remember to add DNS config to the profile.

For CloudFlare:

DNS=('1.1.1.1')
sudo netctl enable ethernet-<interface_name>

Bluetooth

sudo pacman -S bluez bluez-utils

Press the pair button on your device and then inside bluetoothctl:

power on
scan on
pair <TAB_COMPLETE_DEVICE_ID>
trust <TAB_COMPLETE_DEVICE_ID>
connect <TAB_COMPLETE_DEVICE_ID>

To automatically start bluetooh add the following to /etc/bluetooth/main.conf:

AutoEnable=true

Install a bootloader

bootctl install

Create a boot entry in /boot/loader/entries/arch.conf:

title          Arch Linux
linux          /vmlinuz-linux
initrd         /intel-ucode.img
initrd         /initramfs-linux.img
options        root=/dev/nvme0n1p3 rw

Change /boot/loader/loader.conf to:

timeout 3
default arch

Rebooting

Exit the chroot:

exit

Then reboot:

reboot

Provisioning the machine with box

bash <(wget -o /dev/null -qO- https://raw.githubusercontent.com/AndrewVos/dotfiles/master/box.sh)