Environment - uiriansan/dotfiles GitHub Wiki
Warning
I created this guide exclusively for future reference and thus optimized it for my PC config. Make sure to install the correct drivers for yours.
Here my specs:
Motherboard | Gigabyte H270M-D3H-CF |
CPU | Intel Core i5-7400 |
GPU | Nvidia GeForce GTX 1050 Ti |
RAM | HyperX DDR4 16 GB 2400MHz |
Storage | Corsair SSD M.2 NVMe 1TB MP600 PRO |
Displays |
[0] 1600x900 60Hz
[1] 1920x1080 60Hz |
Every command bellow is meant to be run on a fresh Arch Linux installation. Proceed with caution.
Warning
This script might break your system! Read the manual installation section bellow to see what it does before running.
$ git clone --recursive https://github.com/uiriansan/hyprdots && cd hyprdots && ./setup.sh | bash
Basic Git config:
$ git config --global user.name "username"
$ git config --global user.email [email protected]
$ git config --global init.defaultBranch main
Setup SSH key:
$ ssh-keygen -t ed25519 -C "[email protected]"
$ cat ~/.ssh/<ssh_key.pub>
Copy and paste in Github > Settings > SSH and GPG keys > New SSH key
.
- Create user directories
$ mkdir -p ~/.config ~/Pictures ~/Documents ~/Code ~/Sources
- Upgrade the system
$ sudo pacman -Syu
- Clone this repo and copy its contents into
~/.config
$ git clone ---recursive [email protected]:uiriansan/dotfiles.git
$ cd dotfiles
$ cp -r . ~/.config
- Install essential packages
$ sudo pacman -S --needed grub ntfs-3g chafa jq clang cmake cronie fasm fastfetch feh fish fzf gdb git glfw btop lua luarocks nasm qemu-desktop npm openssh python-pip python-pipx ripgrep rustup starship vim neovim lsd tree zoxide unzip xclip yazi kitty spotify-launcher steam discord sddm qt6-declarative qt6-svg qt6-virtualkeyboard pipewire lxappearance nwg-look playerctl ttf-jetbrains-mono-nerd adobe-source-han-sans-cn-fonts adobe-source-han-sans-jp-fonts adobe-source-han-sans-kr-fonts adobe-source-han-sans-otc-fonts adobe-source-han-sans-tw-fonts adobe-source-han-serif-cn-fonts adobe-source-han-serif-jp-fonts adobe-source-han-serif-kr-fonts adobe-source-han-serif-otc-fonts adobe-source-han-serif-tw-fonts nitrogen picom redshift flameshot zed blender krita linux-headers --asdeps lib32-nvidia-utils
# yay
$ git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si
# spicetify
$ curl -fsSL https://raw.githubusercontent.com/spicetify/cli/main/install.sh | sh
# Zen browser
$ yay -S zen-browser-bin
$ yay -S redhat-fonts
- Configure mkinitcpio
Edit/etc/mkinitcpio.conf
and add the following module names in the MODULE array:MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
$ EDITOR=nvim sudoedit /etc/mkinitcpio.conf
# Create Nvidia Xorg config file:
$ nvidia-xconfig
# Check if DRM is enabled (should return Y, and not N):
$ cat /sys/module/nvidia_drm/parameters/modeset
# Run mkinitcpio
$ sudo mkinitcpio -P
- Configure SDDM
# Enable SDDM
$ sudo systemctl enable sddm.service
- Set up weather cron job
# Enable cronie
$ sudo systemctl enable cronie.service
$ sudo systemctl start cronie.service
# Create cron job
$ CRONJOB="*/30 * * * * ${HOME}/.config/scripts/consume_weather.sh >> ${HOME}/.config/scripts/weather_cron.log"
$ (crontab -l; echo "$CRONJOB") | crontab -
# Run script
$ chmod +x ~/.config/scripts/consume_weather.sh
$ source $HOME/.config/scripts/consume_weather.sh
- Backup installed packages to file
If you want to install the packages listed in pkglist.txt, run:
$ pacman -S --needed $(comm -12 <(pacman -Slq | sort) <(sort ~/.config/pkglist.txt))
To automatically backup them every time you run pacman:
$ sudo cp ~/.config/savepkgs.hook /usr/share/libalpm/hooks/
Alternatively, to manually backup them:
$ chmod +x ~/.config/savepkgs.sh
$ ./savepkgs.sh
Prev: Arch Linux installation guide
Next: Extras
setxkbmap -layout us -variant altgr-intl