Giter Site home page Giter Site logo

dotfiles's Introduction

Arch Linux Installation Guide

Connecting to wifi during installation

iwctl station wlan0 connect SSID

Partitions

  • boot 512M tpye EF00 (EFI)
  • swap 16G type 8200 (SWAP) equal to amount of RAM
  • root 100% type 8300 (ext4)

Encryption

cryptsetup luksFormat /dev/nvme0n1p3
cryptsetup open /dev/nvme0n1p3 cryptroot

Format

mkfs.vfat -F32 /dev/nvme0n1p1

mkswap /dev/nvme0n1p2
swapon /dev/nvme0n1p2

mkfs.ext4 /dev/mapper/cryptroot

Mount

mount /dev/mapper/cryptroot /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot

Install essentials

pacstrap /mnt base base-devel linux linux-firmware

Generate fstab

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

Chroot

arch-chroot /mnt

Install system packages

pacman -S networkmanager vim vi nano git sudo zsh zsh-completions sbctl

Timezone

  • edit /etc/locale.gen and un-comment en_US.UTF-8 UTF-8
locale-gen

ln -sf /usr/share/zoneinfo/US/Central /etc/localtime

hwclock --systohc --utc

Hostname

echo "archtop" > /etc/hostname

Edit /etc/mkinitcpio.conf add encrypt to HOOKS

HOOKS=(base udev autodetect keyboard keymap consolefont modconf block encrypt filesystems fsck)

Regenerate initramfs

mkinitcpio -P linux

Set root password

passwd

Add user

useradd -m -G wheel -s /bin/zsh jscalera
passwd jscalera

Create file in /etc/sudoers.d/jscalera

jscalera ALL=(ALL) NOPASSWD: ALL

Install bootloader (systemd-boot)

bootctl --path=/boot install

Create /boot/loader/loader.conf

default arch
timeout 3

Create /boot/loader/entries/arch.conf

title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=/dev/nvme0n1p3:cryptroot root=/dev/mapper/cryptroot rw

Create and enroll secure boot keys

sbctl create-keys
sbctl enroll-keys -m

sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efi
sbctl sign -s /boot/EFI/systemd/systemd-bootx64.efi
sbctl sign -s /boot/vmlinuz-linux
sbctl sign -s /boot/EFI/BOOT/BOOTX64.EFI

Enable services

systemctl enable NetworkManager

Exit chroot

exit

Unmount and reboot

umount -R /mnt
reboot

Post Installation

Clone this repo

git clone https://github.com/scalerjo/dotfiles.git
mv dotfiles ~/.config

Install yay

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

Install packages

yay -S --needed --noconfirm - < ~/.config/pkglist.txt

Create slick greeter config

  • edit /etc/lightdm/lightdm.conf set greeter-session=lightdm-slick-greeter and user-session=i3
  • edit /etc/lightdm/slick-greeter.conf
[Greeter]
show-power = true
show-quit = true
background = /usr/share/backgrounds/main.jpg
  • systemctl enable lightdm

Copy polybar config example

  • cp ~/.config/polybar/polybar.config.example ~/.config/polybar/polybar.config and edit as needed

Create .zshenv

  • echo "export ZDOTDIR=$HOME/.config/zsh" > ~/.zshenv

Install nvm

  • curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  • Append the following to ~/.zshenv
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

Install lang servers

  • ~/.config/scripts/install-lang-servers.sh

dotfiles's People

Contributors

scalerjo avatar jscaleralc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.