{"id":32570492,"url":"https://github.com/3rfaan/dotfiles_old","last_synced_at":"2025-10-29T08:17:23.175Z","repository":{"id":61925283,"uuid":"552582502","full_name":"3rfaan/dotfiles_old","owner":"3rfaan","description":"A collection of my configuration files. Mainly intended for configuring Arch Linux and Neovim (Lua).","archived":false,"fork":false,"pushed_at":"2023-10-05T18:31:05.000Z","size":26787,"stargazers_count":81,"open_issues_count":0,"forks_count":12,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-30T10:29:50.432Z","etag":null,"topics":["archlinux","i3","linux","neovim"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3rfaan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-16T22:36:39.000Z","updated_at":"2024-11-29T23:58:08.000Z","dependencies_parsed_at":"2024-12-01T07:48:56.538Z","dependency_job_id":null,"html_url":"https://github.com/3rfaan/dotfiles_old","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/3rfaan/dotfiles_old","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3rfaan%2Fdotfiles_old","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3rfaan%2Fdotfiles_old/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3rfaan%2Fdotfiles_old/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3rfaan%2Fdotfiles_old/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3rfaan","download_url":"https://codeload.github.com/3rfaan/dotfiles_old/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3rfaan%2Fdotfiles_old/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281585533,"owners_count":26526310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archlinux","i3","linux","neovim"],"created_at":"2025-10-29T08:16:12.213Z","updated_at":"2025-10-29T08:17:23.166Z","avatar_url":"https://github.com/3rfaan.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Arch Linux Everforest Ricing\n\n⚠️  **This repository is no longer maintained! I've switched from X11 to Wayland (Hyprland). You can find the new repository over here: https://github.com/3rfaan/arch-everforest**\n\nThis is a straight-forward guide for ricing Arch Linux with the [Everforest](https://github.com/sainnhe/everforest) colorscheme theme.\n\nI use a minimal install of Arch Linux on UTM (QEMU virtual machine) on a Macbook Air M1 (2020). This guide should also work with the new Macbook Air M2 and the Pro versions.\n\nAlso in the directory `asus` you will find configurations for Arch Linux on bare metal. The configurations for your system may vary.\n\nℹ️ **If you already have a running Arch system with the necessary packets installed, you can go to the [Quick Ricing](#quick-ricing) section.**\n\n## What's the final result?\n\nYour Arch system should look something like this using my config files:\n\n![Arch Everforest Rice](screenshot-20230618-172210Z-selected.png)\n\n⚠️ _Caution:_ If you are installing Arch on a virtual machine you won't have the blur effect like in the image above because there is no hardware acceleration.\n\n## Arch Installation Guide\n\nℹ️ For help with the installation process watch my video: https://www.youtube.com/watch?v=cOobSmI-XgA\u0026t=399s\n\n### Console keyboard layout\n\nFind out which keyboard layout you are using and then set it using `loadkeys`:\n\n```\n$ ls /usr/share/kbd/keymaps/**/*.map.gz\n$ loadkeys de_CH-latin1\n```\n\n### Console font\n\nThis step is not really necessary, but the Terminus font may appear cleaner than the default one:\n\n```\n$ setfont Lat2-Terminus16\n```\n\n### Partitioning\n\nCheck the name of the hard disk:\n\n```\nfdisk -l\n```\n\nUse the name (in my case _vda_) to start the `fdisk` partitioning tool:\n\n```\nfdisk /dev/vda\n```\n\n#### UEFI or BIOS?\n\nRun the following command:\n\n```\n$ ls /sys/firmware/efi/efivars\n```\n\nIf the command shows the directory without error, then the system is booted in UEFI mode. Else you have to use BIOS mode.\n\n#### UEFI with GPT\n\nPress \u003ckbd\u003eg\u003c/kbd\u003e to create a new GPT Partition Table.\n\nWe will do it according to the example layout of the Arch wiki:\n\n| Mount point | Partition                   | Partition type | Suggested size      |\n| ----------- | --------------------------- | -------------- | ------------------- |\n| /mnt/boot   | /dev/_efi_system_partition_ | uefi           | At least 300 MiB    |\n| [SWAP]      | /dev/_swap_partition_       | swap           | More than 512 MiB   |\n| /mnt        | /dev/_root_partition_       | linux          | Remainder of device |\n\n##### Create boot partition\n\n1. Press \u003ckbd\u003en\u003c/kbd\u003e.\n2. Press \u003ckbd\u003eEnter\u003c/kbd\u003e to use the default first sector.\n3. Enter _+300M_ for the last sector.\n4. Press \u003ckbd\u003et\u003c/kbd\u003e and choose 1 and write _uefi_.\n\n##### Create swap partition\n\n1. Press \u003ckbd\u003en\u003c/kbd\u003e.\n2. Press \u003ckbd\u003eEnter\u003c/kbd\u003e to use the default first sector.\n3. Enter _+512M_ for the last sector.\n4. Press \u003ckbd\u003et\u003c/kbd\u003e and choose 2 and write _swap_.\n\n##### Create root partition\n\n1. Press \u003ckbd\u003en\u003c/kbd\u003e.\n2. Press \u003ckbd\u003eEnter\u003c/kbd\u003e to use the default first sector.\n3. Enter \u003ckbd\u003eEnter\u003c/kbd\u003e to use the default last sector.\n4. Press \u003ckbd\u003et\u003c/kbd\u003e and choose 3 and write _linux_.\n\n⚠️\\* **When you are done partitioning don't forget to press \u003ckbd\u003ew\u003c/kbd\u003e to save the changes!**\n\nAfter partitioning check if the partitions have been created using `fdisk -l`.\n\n##### Partition formatting\n\n```\n$ mkfs.ext4 /dev/root_partition\n$ mkswap /dev/swap_partition\n$ mkfs.fat -F 32 /dev/efi_system_partition\n```\n\n##### Mounting the file system\n\n```\n$ mount /dev/root_partition /mnt\n$ mount --mkdir /dev/efi_system_partition /mnt/boot\n$ swapon /dev/swap_partition\n```\n\n#### BIOS with MBR\n\nPress \u003ckbd\u003eo\u003c/kbd\u003e to create a new GPT Partition Table.\n\nWe will do it according to the example layout of the Arch wiki:\n\n| Mount point | Partition             | Partition type | Suggested size      |\n| ----------- | --------------------- | -------------- | ------------------- |\n| [SWAP]      | /dev/_swap_partition_ | swap           | More than 512 MiB   |\n| /mnt        | /dev/_root_partition_ | linux          | Remainder of device |\n\n##### Create swap partition\n\n1. Press \u003ckbd\u003en\u003c/kbd\u003e.\n2. Press \u003ckbd\u003eEnter\u003c/kbd\u003e to select the default primary partition type.\n3. Press \u003ckbd\u003eEnter\u003c/kbd\u003e to use the default first sector.\n4. Enter _+512M_ for the last sector.\n5. Press \u003ckbd\u003et\u003c/kbd\u003e and choose 1 and write _swap_.\n\n##### Create root partition\n\n1. Press \u003ckbd\u003en\u003c/kbd\u003e.\n2. Press \u003ckbd\u003eEnter\u003c/kbd\u003e to select the default primary partition type.\n3. Press \u003ckbd\u003eEnter\u003c/kbd\u003e to use the default first sector.\n4. Enter \u003ckbd\u003eEnter\u003c/kbd\u003e to use the default last sector.\n5. Press \u003ckbd\u003et\u003c/kbd\u003e and choose 2 and write _linux_.\n\n##### Make partition bootable\n\nPress \u003ckbd\u003ea\u003c/kbd\u003e and choose 2 to make the root partition bootable.\n\n⚠️\\* **When you are done partitioning don't forget to press \u003ckbd\u003ew\u003c/kbd\u003e to save the changes!**\n\nAfter partitioning check if the partitions have been created using `fdisk -l`.\n\n##### Partition formatting\n\n```\n$ mkfs.ext4 /dev/root_partition\n$ mkswap /dev/swap_partition\n```\n\n##### Mounting the file system\n\n```\n$ mount /dev/root_partition /mnt\n$ swapon /dev/swap_partition\n```\n\n### Package install\n\nFor a minimal system download and install these packages:\n\n```\n$ pacstrap -K /mnt base base-devel linux linux-firmware e2fsprogs dhcpcd networkmanager sof-firmware git neovim man-db man-pages texinfo\n```\n\nℹ️ If you are installing Arch Linux on a computer with **ARM architecture** add the following to the above `pacstrap` command:\n\n```\narchlinuxarm-keyring\n```\n\n⚠️ If you get errors due to key then do the following:\n\n1. Initialize _pacman_ keys and populate them:\n\n```\npacman-key --init\npacman-key --populate\n```\n\n2. Synchronize Arch keyring:\n\n```\narchlinux-keyring-wkd-sync\n```\n\n### Last steps\n\n#### Generate fstab file\n\n```\n$ genfstab -U /mnt \u003e\u003e /mnt/etc/fstab\n```\n\n#### Change root into new system\n\n```\n$ arch-chroot /mnt\n```\n\n#### Set time zone\n\n```\n$ ln -sf /usr/share/zoneinfo/Region/City /etc/localtime\n$ hwclock --systohc\n```\n\n#### Localization\n\nEdit _/etc/locale.gen_ and uncomment _en_US.UTF-8 UTF-8_ and other needed locales. Generate the locales by running:\n\n```\n$ locale-gen\n```\n\nCreate _/etc/locale.conf_ and set the _LANG_ variable according to your preferred language:\n\n```\nLANG=de_CH.UTF-8\n```\n\nCreate _/etc/vconsole.conf_ and set the following variables according to your preferred language:\n\n```\nKEYMAP=de_CH-latin1\nFONT=Lat2-Terminus16\n```\n\n#### Network configurations\n\nCreate _/etc/hostname_ and type any name you wish as your hostname:\n\n```\narch\n```\n\nEdit _/etc/hosts_ like this:\n\n```\n127.0.0.1 localhost\n::1 localhost\n127.0.1.1 arch (your host name here!)\n```\n\n#### Initramfs\n\n```\n$ mkinitcpio -P\n```\n\n#### Root password\n\nSet a new password for root:\n\n```\n$ passwd\n```\n\n#### Bootloader\n\n##### UEFI\n\nInstall `grub` and `efibootmgr`:\n\n```\n$ pacman -S grub efibootmgr\n```\n\nRun the following command:\n\n```\n$ grub-install --efi-directory=/boot --bootloader-id=GRUB\n```\n\nThen create a **GRUB** config file:\n\n```\n$ grub-mkconfig -o /boot/grub/grub.cfg\n```\n\n##### BIOS\n\nInstall `grub`:\n\n```\n$ pacman -S grub\n```\n\nCheck using `fdisk -l` to see the name of the disk (**not partition!**) and run the following command:\n\n```\n$ grub-install /dev/sdX\n```\n\n_/dev/sdX_ could for example stand for _/dev/sda_ (**not _/dev/sda1_!**)\n\nThen create a **GRUB** config file:\n\n```\n$ grub-mkconfig -o /boot/grub/grub.cfg\n```\n\n#### Final step\n\nExit out of the chroot environment by typing `exit` or pressing \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ed\u003c/kbd\u003e.\n\nUnmount all the partitions:\n\n```\n$ umount -R /mnt\n```\n\nThen type `poweroff` and remove the installation disk from the virtual machine.\n\n## System-related Configurations\n\n### Enable network connection\n\nTo use _pacman_ you first have to have a working internet connection by enabling NetworkManager:\n\n```\n$ systemctl start NetworkManager\n$ systemctl enable NetworkManager\n```\n\nCheck if you receive data from the Google Server by running this command:\n\n```\n$ ping 8.8.8.8\n```\n\n### Update the system\n\nFirst things first: Update the system!\n\n```\n$ pacman -Syu\n```\n\n### `sudo` Command\n\n```\n$ pacman -S sudo\n```\n\n### Add your personal user account\n\n```\n$ useradd -m -g users -G wheel,storage,power,video,audio,input \u003cyour username\u003e\n$ passwd \u003cyour username\u003e\n```\n\n#### Grant root access to our user\n\n```\n$ EDITOR=nvim visudo\n```\n\nUncomment the following line:\n\n```\n%wheel ALL=(ALL) NOPASSWD: ALL\n```\n\nYou can then login as your newly created user:\n\n```\n$ su \u003cyour username\u003e\n```\n\nIf you wish to have the default XDG directories (like Downloads, Pictures, Documents etc.) do:\n\n```\n$ sudo pacman -S xdg-user-dirs\n$ xdg-user-dirs-update\n```\n\n### Install AUR package manager\n\nTo install [yay](https://github.com/Jguer/yay):\n\n```\n$ sudo pacman -S git\n$ mkdir aur\n$ cd aur\n$ git clone https://aur.archlinux.org/yay.git\n$ cd yay\n$ makepkg -si\n```\n\n### Guest tools\n\n#### SPICE support on guest (for UTM)\n\nThis will enhance graphics and improve support for multiple monitors or clipboard sharing.\n\n```\n$ sudo pacman -S spice-vdagent xf86-video-qxl\n```\n\n#### Guest additions (for VirtualBox)\n\nThis will enhance graphics and improve support for multiple monitors or clipboard sharing.\n\n```\n$ sudo pacman -S virtualbox-guest-utils\n```\n\n### Sound\n\n```\n$ sudo pacman -S pulseaudio\n$ sudo pacman -S alsa-utils alsa-plugins\n$ sudo pacman -S pavucontrol\n```\n\nPulseAudio Applet:\n\n```\n$ yay -S pa-applet-git\n```\n\n### Network\n\n```\n$ sudo pacman -S openssh\n$ sudo pacman -S iw wpa_supplicant\n```\n\nNetworkManager Applet:\n\n```\n$ sudo pacman -S network-manager-applet\n```\n\nEnable SSH, DHCP and NM:\n\n```\n$ sudo systemctl enable sshd\n$ sudo systemctl enable dhcpcd\n```\n\n### Bluetooth\n\n```\n$ sudo pacman -S bluez bluez-utils blueman\n$ sudo systemctl enable bluetooth\n```\n\n### Pacman\n\nTo beautify Pacman use:\n\n```\n$ sudo nvim /etc/pacman.conf\n```\n\nUncomment `Color` and add below it `ILoveCandy`.\n\nℹ️ If you have a good internet connection, you can uncomment the option `ParallelDownloads = 5`.\n\n### Enable SSD Trim\n\n```\n$ sudo systemctl enable fstrim.timer\n```\n\n### Enable Time Synchronization\n\n```\n$ sudo pacman -S ntp\n```\n\n```\n$ sudo systemctl enable ntpd\n```\n\nThen enable NTP:\n\n```\n$ timedatectl set-ntp true\n```\n\n## Graphical User Interface (GUI) Settings\n\n### Xorg\n\n```\n$ sudo pacman -S xorg-server xorg-apps xorg-xinit xclip xdotool xorg-drivers\n```\n\nℹ️ If there is a NVIDIA GPU in your computer you can run the following command to create automatically a `xorg.conf` file in `/etc/X11/xorg.conf`.\n\n```\n$ nvidia-xconfig\n```\n\n### i3\n\n```\n$ sudo pacman -S i3\n```\n\nAfter installing X and i3 create a file **.xinitrc** in your home directory with the following content:\n\n```\nexec i3\n```\n\nThis way you can start the X server with the command `startx`.\n\n### Drivers\n\nIf running outside UMT we need drivers:\n\n**Intel**:\n\n```\nsudo pacman -S xf86-video-intel xf86-video-qxl intel-media-driver mesa\n```\n\n**NVIDIA**:\n\n```\nsudo pacman -S xf86-video-nouveau nvidia libva-mesa-driver\n```\n\n### Compositor\n\n```\n$ sudo pacman -S picom\n```\n\n### Font\n\n```\n$ sudo pacman -S noto-fonts noto-fonts-emoji ttf-firacode-nerd\n```\n\nTo support Asian letters:\n\n```\n$ sudo pacman -S noto-fonts-cjk\n```\n\n### Shell\n\n```\n$ sudo pacman -S zsh\n```\n\nChange default shell to zsh:\n\n```\n$ chsh -s $(which zsh)\n```\n\n### Terminal\n\n```\n$ sudo pacman -S rxvt-unicode alacritty kitty\n```\n\n### Editor\n\nThe editor should already be installed after running the _pacstrap_ command in the installation process. You can use other editors like _nano_ too.\n\n```\n$ sudo pacman -S neovim\n```\n\n### Switcher\n\n```\n$ sudo pacman -S dmenu rofi\n```\n\nSome additional stuff for rofi:\n\n```\n$ sudo pacman -S rofi-emoji rofi-calc\n```\n\n### Status Bar\n\n```\n$ sudo pacman -S polybar\n```\n\n### File Manager\n\n```\n$ sudo pacman -S ranger\n```\n\nFor previews we also need **feh** and **Überzug**:\n\n```\n$ sudo pacman -S feh ueberzug\n```\n\n### Browser\n\n```\n$ sudo pacman -S firefox\n```\n\n### Media Player\n\n```\n$ sudo pacman -S vlc\n```\n\n### PDF Viewer\n\n```\n$ sudo pacman -S zathura zathura-pdf-mupdf\n```\n\n### Wallpapers\n\nCheck these amazing wallpapers that harmonize with the Everforest theme: https://github.com/Apeiros-46B/everforest-walls\n\n### Other Tools\n\n#### CLI utilities\n\n```\n$ sudo pacman -S tldr fzf tar gzip htop neofetch\n```\n\n- _tldr_: Commands cheat sheet\n- _fzf_: Fuzzy finder\n- _tar_: Enzipping/Unzipping\n- _gzip_: Enzipping/Unzipping\n- _htop_: CLI task manager\n- _neofetch_: System information\n\n#### Alternatives to traditional commands\n\n```\n$ sudo pacman -S fd ripgrep bat lsd tree-sitter tree-sitter-cli\n```\n\n- _fd_: Alternative to _find_ command\n- _ripgrep_: Alternative to _grep_ command\n- _bat_: Alternative to _cat_ command\n- _lsd_: Alternative to _ls_ command\n- _tree-sitter_ \u0026 _tree-sitter-cli_: Real syntax highlighting in Neovim\n\n#### GUI utilities\n\n```\n$ sudo pacman -S maim\n```\n\n- _maim_: Screenshot utiliy\n\n#### Languages, protocols, shells\n\n```\n$ sudo pacman -S codespell go luarocks ruby rubygems composer php nodejs npm yarn python python-pip jre-openjdk jdk-openjdk julia wget curl\n```\n\n```\n$ yay -S powershell-bin\n```\n\nThese programming languages, protocols or shells are not that important to install if you don't need them. I installed all of them to avoid warnings in the _mason.nvim report_ when running the `:checkhealth` command in Neovim.\n\n### Reboot\n\nWhen done installing the necessary packages, run the `reboot` command.\n\n## Quick Ricing\n\nYou can either clone the repository and move the files manually to your _~/.config_ directory or you could use the installer:\n\n```\n$ git clone https://github.com/3rfaan/dotfiles.git ~/Downloads/dotfiles \u0026\u0026 cd ~/Downloads/dotfiles\n```\n\nThen run the _install.sh_ script:\n\n```\n$ ./install.sh\n```\n\nIf you are on **VirtualBox**, run this command instead:\n\n```\n$ ./install.sh vbox\n```\n\nIf you are on **UTM (or QEMU)**, run this command instead:\n\n```\n$ ./install.sh utm\n```\n\nIf you want to copy the config files manually you also have to install these packages manually:\n\n- [Packer](https://github.com/wbthomason/packer.nvim)\n- [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions)\n- [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting)\n- [ranger_devicons](https://github.com/alexanderjeurissen/ranger_devicons)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3rfaan%2Fdotfiles_old","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3rfaan%2Fdotfiles_old","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3rfaan%2Fdotfiles_old/lists"}