~erazemk/archstrap

Ansible playbook for bootstrapping an Arch Linux laptop

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~erazemk/archstrap
read/write
git@git.sr.ht:~erazemk/archstrap

You can also use your local clone with git send-email.

#Biased Ansible-based Arch Linux Installer

This is a collection of Ansible roles, that sets up Arch Linux from scratch, installs extra software and moves dot files to their appropriate places.

It is intended to be used immediately after booting a live Arch Linux image.

#Pre-installation

  1. Set your appropriate keyboard layout (e.g. loadkeys slovene)
  2. Verify the boot mode (ls /sys/firmware/efi/efivars)
  3. Connect to the internet (wifi-menu)
  4. Install Ansible and Git (pacman -Sy ansible git)
  5. Clone the repo (git clone https://gitlab.com/erazemkokot/arch-installer)

#Usage

For a full installation use: ansible localhost -i hosts complete.yml

To only install the dotfiles use: ansible localhost -i hosts dotfiles.yml

The "localhost" refers to the specified group on which we want to run the installation, which is our computer (or "localhost") and the "hosts" refers to the file (called "hosts") in which Ansible can find the settings we want for our local machine. The "complete.yml" and "dotfiles.yml" refer to files, which contain the instructions which we want Ansible to run.

You can mix and match any of the three steps (installation, software, dotfiles).

#Phase 1: Installation

#Todo:

  • [ ] Show asterisk when entering sudo password
  • [ ] Enable firewall
  • [ ] Move/Edit configuration files (e.g. pacman)
  • [ ] Disable keyboard beep (internal buzzer)
  • [ ] Stop sound when removing audio jack

#Packages (pacman):

  • [ ] linux
  • [ ] linux-headers
  • [ ] neovim
  • [ ] iwd
  • [ ] base
  • [ ] base-devel
  • [ ] fish
  • [ ] reflector
  • [ ] sudo
  • [ ] man-db
  • [ ] man-pages
  • [ ] texinfo
  • [ ] firewalld
  • [ ] git
  • [*] tlp
  • [*] acpi_call
  • [ ] ntfs-3g
  • [ ] wget
  • [ ] ifplugd
  • [ ] intel-ucode
  • [ ] systemd-boot
  • [ ] macchanger

#Packages (other):

  • [ ] yay

#Phase 2: Desktop software

#Todo:

  • [ ] Disable screen saver when a program is in fullscreen mode
  • [ ] Adjust CPU speed when on Battery/AC/playing media
  • [ ] Add support for NVIDIA drivers or disable the graphics card (check DKMS, Optimus)
  • [ ] Automount disks with udev or udisks

#Packages (pacman):

  • [*] sway
  • [*] pipewire
  • [*] xorg-server-xwayland
  • [*] flatpak
  • [*] rxvt-unicode
  • [*] firefox-wayland/qutebrowser
  • [*] gtk3
  • [*] qt5-wayland
  • [*] light
  • [*] mutt/geary
  • [*] irssi/hexchat
  • [*] imv
  • [*] mpv
  • [*] ansible
  • [*] waybar
  • [*] pdfpc
  • [*] pandoc
  • [ ] ranger/nautilus
  • [ ] hugo
  • [ ] podman
  • [ ] buildah
  • [ ] jdk-openjdk
  • [ ] python
  • [ ] fprintd
  • [ ] swaylock
  • [ ] evince
  • [ ] texlive-core
  • [ ] texlive-lang
  • [ ] biber
  • [ ] qbittorrent
  • [ ] imagemagick
  • [ ] redshift
  • [ ] bemenu
  • [ ] bluez
  • [ ] bluez-utils
  • [ ] kalu
  • [ ] htop
  • [ ] toolbox
  • [ ] gnome-boxes/qemu
  • [ ] cups
  • [ ] mako
  • [ ] youtube-dl

#Packages (flatpak):

  • [ ] Spotify
  • [ ] Discord
  • [ ] Telegram

#Packages (AUR):

  • [ ] Intellij IDEA
  • [ ] CLion

#Phase 3: Dotfiles

#Todo:

  • [ ] Move all the dotfiles to their appropriate places