My dotfiles using Arch Linux. Just for the time it takes to document this repository and configurations, this repo deserves one star!
This is my personal collection of configuration files.
Here are some details about my setup:
- WM: qtile
- OS: Arch Linux
- Terminal: alacritty
- Shell: zsh
- Widgets: eww
- Compositor: picom
- Editor: neovim
- IDE: vscode
- Browser: firefox
- File Manager: nautilus
- Application Launcher: rofi
- Display manager: lightdm
- Clipboard manager clipcat
- Laptop: Slimbook Executive 16 Intel i7 13700H Black RTX 4060
- Grub theme: DedSec
Table of Contents generated with mtoc
- containerscrew dotfiles
- Disclaimer
- Arch Linux installation
- dotfiles installation
- Post install
- Shortcuts
- Links & Credits
- License
It is my personal setup, the way I like it, with configurations, applications that are comfortable for me. Use it if you want as a template, as a guide. I will update it as I need to add new packages, configs...etc.
And yes... all my commits in this repo you will see that they are called Wip 😀
Just R.T.F.M
The installation of Arch Linux has been carried out using archinstall. The official installation page is also very complete, everything and that using archinstall is more comfortable and makes the process easier.
- Download
ISO
file. https://archlinux.org/download/ (to download the torrent I usetransmission
) - Take a pendrive and burn the ISO using, for example, https://etcher.balena.io/
- Insert the pendrive into the new PC, modify the boot options to use the pendrive instead of the local disk.
- If all goes well, you should see the distro prompt.
root@archiso ~ #
Pre-flight checks 🚀
Once the usb is booted, connect the laptop to your local network (if not using ethernet cable).
iwctl station wlan0 get-networks # change wlan0 interface if needed. Type `$ ip a` if you don't know the name
iwctl station wlan0 connect SSID # put the SSID/BSSID with your corresponding local network
ping -c 1 1.1.1.1 # test connectivity
iwd official documentation
Run the following command:
$ archinstall
Example of my configurations. Modify those you consider necessary.
Setting | Configuration |
---|---|
Archinstall language | English (100%) |
Mirrors | Netherlands |
Keyboard/Language/Encoding | en/en_US/UTF-8 |
Disk Configuration | Use best effort/ext4/Default partitioning |
Disk Encryption | ALWAYS |
Bootloader | Grub |
Swap | True |
Hostname | archlinux |
Profile | Minimal |
Root password | Yes |
User sudoer | Yes |
Audio | Pipewire |
Kernels | Linux |
Additional packages | neovim curl git |
Network | NetworkManager |
UTC | Europe/Amsterdam |
NTP | yes |
Optional repos | multilib |
In my case I use Netherlands as the closest country. Change it and use the one you need.
First setps after installation. Remove the usb from your computer and restart. Grub will launch the new archlinux distro, and a basic prompt (black window) will appear. Enter your username and password.
$ sudo su -
$ nmcli device wifi list
$ nmcli device wifi connect SSID_or_BSSID password SSID/BSSID-PASSWORD
# or use
$ nmcli device wifi connect -a
$ ping -c 1 1.1.1.1 # check connectivity
$ history -c
$ exit
$ cd /tmp
$ git clone https://github.com/containerscrew/dotfiles.git
Now, is time to install all the necessary dotfiles/packages/configurations
. I have decided to separate each part into a .sh
file inside the installers/
folder. There is also a file that executes in order all at once. I recommend to go step by step to understand what is going on.
Warning
All the scripts must be executed inside the repo root
folder.
Remember, these packages many are necessary for the whole Qtile setup and others are custom that I use. Modify it to your needs
The distro comes with the defaults. Is time to install our custom packages. Please take a look to installers/packages.sh.
Inside the folder dotfiles
, where you cloned the repo, run:
$ ./installers/packages.sh
Configurations about networking
, display managers
and more. Please take a look to installers/core_config.sh.
Run:
$ ./installers/core_config.sh
Configurations about ~/.config/
, user permissions
, mouse
, shell
and more. Here is probably where you will need to change and adapt the configuration to your personal tools, configs... as you like. Please take a look to installers/user_config.sh.
Run:
$ ./installers/user_config.sh
All in one:
$ ./installers/run_all.sh
See shortcuts documentation.