https://github.com/g5ostxa/hyprarch2
My personal dotfiles for hyprland, with a golang installer.
https://github.com/g5ostxa/hyprarch2
archlinux dotfiles h2install hyprarch2 hyprland hyprland-arch installer linux ml4w
Last synced: 3 months ago
JSON representation
My personal dotfiles for hyprland, with a golang installer.
- Host: GitHub
- URL: https://github.com/g5ostxa/hyprarch2
- Owner: g5ostXa
- License: gpl-3.0
- Created: 2024-04-17T13:49:32.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2025-10-08T03:36:10.000Z (9 months ago)
- Last Synced: 2025-10-08T04:21:08.950Z (9 months ago)
- Topics: archlinux, dotfiles, h2install, hyprarch2, hyprland, hyprland-arch, installer, linux, ml4w
- Language: Shell
- Homepage: https://github.com/g5ostXa/h2install
- Size: 114 MB
- Stars: 20
- Watchers: 1
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
## :octocat: `Support`
If you like my project, feel free to buy me a coffee, or simply give it a ⭐ !
```neon
__ __ ___
/ / __ _____ _______ _________/ / |_ |
/ _ \/ // / _ \/ __/ _ `/ __/ __/ _ \/ __/
/_//_/\_, / .__/_/ \_,_/_/ \__/_//_/____/
/___/_/
[hypr@arch~]$ git clone https://github.com/g5ostXa/hyprarch2.git
```
## ⚙️ `Setup and installation`
> [!WARNING]
> Before you begin...
> - My dotfiles are meant to be installed via the installation process down below.
> - Alot of it is very specific to me so if you're unfamiliar with [`hyprland`](https://hyprland.org), I suggest you try [`mylinuxforwork's dotfiles`](https://github.com/mylinuxforwork/dotfiles) instead.
> - Copying dotfiles in your `~/.config/` without using the [`installer`](/src/install.sh) is not recommended.
> - This is NOT compatible with a different distro than upstream [`Arch`](https://archlinux.org).
> - If installing on bare metal, do not forget to **backup your current installation** before proceeding.
🗒️ **Prerequisites**:
If you have not done so already, you need to install [`Archlinux`](https://archlinux.org).\
It is recommended to have a minimal, up-to-date arch-base installation.
In your new [`Arch`](https://archlinux.org/) install, make sure **all needed dependencies** are installed before installing [`hyprarch2`](/):
```ruby
$ sudo pacman -S --needed --noconfirm go git reflector xdg-utils xdg-user-dirs gum figlet vim networkmanager network-manager-applet wireless_tools wpa_supplicant dialog os-prober mtools dosfstools base-devel linux-headers
```
🖱️ **Usage**:
If you haven't done so already, create your user directories including `~/Downloads`:
```bash
$ xdg-user-dirs-update
```
If the command above did not re-create your user dirs including `~/Downloads`, the following will:
```bash
$ xdg-user-dirs-update && xdg-user-dirs-update --force
```
Change directory to `~/Downloads/` and clone the project:
```bash
$ cd ~/Downloads && git clone --depth 1 https://github.com/g5ostXa/hyprarch2.git
```
At this point, you may want to change a few things before installing. \
If using a `VM`, uncomment the following in `~/Downloads/hyprarch2/dotfiles/hypr/hyprland.conf`:
```md
# source = ~/.config/hypr/conf/kvm.conf
```
> [!TIP]
> I usually set my monitor(s) before installing, but it's not required.
> - See [`Monitor(s)`](https://github.com/g5ostXa/hyprarch2#%EF%B8%8F-monitors) section to learn more
Once you're all set, run [`install.sh`](src/install.sh) from `~/Downloads/hyprarch2/src/`:
```bash
$ cd hyprarch2/src && ./install.sh
```
## 💧 `Start Hyprland`
Use the following command to start [`hyprland`](https://wiki.hyprland.org):
```bash
$ uwsm start hyprland
```
If you get an error, don't worry, you simply need to reload your [`hyprland`](https://hyprland.org) config:
```bash
$ hyprctl reload
```
Alternatively, kill [`hyprland`](https://hyprland.org) and reboot, in case you didn't do so after installing.
- From hyprland session:
```bash
$ uwsm stop
```
- From TTY:
```bash
$ systemctl reboot
```
## 🖥️ `Monitor(s)`
To configure your monitor(s), you need to edit [`monitor.conf`](/dotfiles/hypr/conf/monitor.conf) \
Here's an example configuration:
```md
# -------------------------------------------------------------------------------------
# Monitor Setup
# -------------------------------------------------------------------------------------
# General:
monitor=eDP-1,1920x1080@120.035,0x0,1
monitor=HDMI-A-1,2048x1080@60.00,auto,1
# Virtual machine:
monitor=Virtual-1,2048x1080@60.00,0x0,1
```
Optionally, you can set you monitor(s) as env variables for extra compatibility. \
Edit [`environment.conf`](/dotfiles/hypr/conf/environment.conf) and change the values of the following env variables to match your monitor(s):
```md
# Monitor(s)
env = PRIMARY_MONITOR,
env = SECONDARY_MONITOR,
```
Visit [`🖥 Hyprland Wiki`](https://wiki.hyprland.org/Configuring/Monitors) to learn more about configuring your monitor(s)
## 📦 `Main apps`
- Terminal: `ghostty`
- Browser: `firefox-nightly`
- App Launcher: `rofi`
- Wallpaper front end: `waypaper-git`
- Wallpaper back end: `awww`
- Logout menu: `wlogout`
- Bar: `waybar`
- File Manager: `nautilus`
- Theming: `pywal16` / `GTK`
- Editor: `neovim`
## ⌨️ `Keybinds`
[` ➜ See all available keybindings here`](/dotfiles/hypr/conf/keybindings.conf)
General keybinds:
- `SUPER` + `RETURN` : ghostty
- `SUPER` + `B` : firefox-nightly
- `SUPER` + `CTRL` + `RETURN` : rofi
- `SUPER` + `W` : waypaper
- `SUPER` + `SHIFT` + `B` : reload waybar
- `SUPER` + `CTRL` + `Q` : logout
- `SUPER` + `Q` : kill active window
- `SUPER` + `SHIFT` +`N` : toggle hypridle
- `SUPER` + `CTRL` +`M` : kill hyprland
## 📸 `Screenshots`
