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
- 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 https://github.com/uiriansan/hyprdots
$ cd hyprdots
$ cp -r . ~/.config
- Install essential packages
$ sudo pacman -S --needed grub ntfs-3g bottom chafa jq clang cmake cronie eza fasm fastfetch feh fish fzf gdb git glfw htop libsixel lua luarocks man-db man-pages nasm qemu-desktop npm openssh python-pip python-pipx ripgrep wofi rust-analyzer rustup starship neovim tmux tree unzip xclip yazi nvidia-dkms nvidia-utils egl-wayland hyprland xdg-desktop-portal-hyprland hyprpaper kitty ghostty firefox spotify-launcher sddm qt5-declarative uwsm pipewire dunst qt5-wayland qt6-wayland hyprpolkitagent lxappearance nwg-look pulseaudio playerctl qt5-graphicaleffects wl-clipboard libva-nvidia-driver 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 linux-headers
# ASCII art generator
$ pipx ensurepath && pipx install img2art
# 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
- 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
# Configure modprobe
$ echo "options nvidia_drm modeset=1 fbdev=1" | sudo tee -a /etc/modprobe.d/nvidia.conf
# Run mkinitcpio
$ sudo mkinitcpio -P
- Force Spotify to use Wayland
Edit/etc/spotify-launcher.conf
and uncomment this line:extra_arguments = ["--enable-features=UseOzonePlatform", "--ozone-platform=wayland"]
$ EDITOR=nvim sudoedit /etc/spotify-launcher.conf
- Configure SDDM
# Enable SDDM
$ sudo systemctl enable sddm.service
# Install theme
$ sudo cp -r ~/.config/sddm/themes/deepin/ /usr/share/sddm/themes/
$ sudo sed -i "s/^Current=.*/Current=deepin/g" /usr/lib/sddm/sddm.conf.d/default.conf
- 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