An open API service indexing awesome lists of open source software.

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.

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`