Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/vernette/hyprsnap

Dynamic Hyprland dotfiles for Arch Linux
https://github.com/vernette/hyprsnap

Last synced: 6 days ago
JSON representation

Dynamic Hyprland dotfiles for Arch Linux

Awesome Lists containing this project

README

        

![image](assets/screenshots/workflow_1.png)





> [!WARNING]
> Please keep in mind that this is my daily driver. Use my config files as a reference.

- [Used software](#used-software)
- [Screenshots](#screenshots)
- [Dependencies](#dependencies)
- [Installation](#installation)
- [Hotkeys](#hotkeys)
- [TODO](#todo)

## Used software

### Base

| Type | Name |
| ------------------ | --------------------------------------------------- |
| OS | [Arch Linux](https://archlinux.org/) |
| Window Compositor | [Hyprland](https://hyprland.org/) |
| Display Manager | [ly](https://github.com/fairyglade/ly) |
| Bar | [Waybar](https://github.com/Alexays/Waybar) |
| Terminal | [kitty](https://github.com/kovidgoyal/kitty) |
| Shell | zsh |
| ZSH Plugin Manager | [zinit](https://github.com/zdharma-continuum/zinit) |
| ZSH Prompt | [starship](https://github.com/starship/starship) |

### UI

| Type | Name |
| --------------- | ----------------------------------------------------------------------- |
| GTK Theme | [adw-gtk3](https://github.com/lassekongo83/adw-gtk3) |
| Rofi Icon Theme | [la-capitaine](https://github.com/keeferrourke/la-capitaine-icon-theme) |
| GTK Icon Theme | Adwaita |
| Main Font | [JetBrainsMono Nerd Font](https://www.nerdfonts.com/font-downloads) |
| Emoji Font | [Noto Emoji](https://github.com/googlefonts/noto-emoji) |
| Colorscheme | [pywal16](https://github.com/eylles/pywal16) |

### Other

| Type | Name |
| ---------------------------------- | -------------------------------------------------------------------------------- |
| Browser | [Librewolf](https://librewolf.net/) |
| Browser Startpage | [startpage](https://gitlab.com/fazzi/startpage) by fazzi |
| Browser CSS | [FirefoxCSS](https://github.com/Bali10050/FirefoxCSS) by Bali10050 |
| Text Editor | [Neovim](https://neovim.io/) |
| Terminal File Manager | [lf](https://github.com/gokcehan/lf) |
| GTK File Manager | Nautilus |
| Wallpaper Daemon | [swww](https://github.com/LGFae/swww) |
| Better ls | [lsd](https://github.com/lsd-rs/lsd) |
| Better cd | [zoxide](https://github.com/ajeetdsouza/zoxide) |
| AUR Helper | [paru](https://github.com/Morganamilo/paru) |
| App Launcher | [Rofi](https://github.com/davatorium/rofi) |
| Screenshot Utility | [hyprshot](https://github.com/Gustash/Hyprshot) |
| System Info | [fastfetch](https://github.com/fastfetch-cli/fastfetch) |
| Notification Daemon/Control Center | [Sway Notification Center](https://github.com/ErikReider/SwayNotificationCenter) |
| Music Player | Spotify with [Spicetify](https://spicetify.app/) |
| Audio Visualizer | [cava](https://github.com/karlstav/cava) |
| Lockscreen App | [hyprlock](https://github.com/hyprwm/hyprlock) |
| Idle Daemon | [hypridle](https://github.com/hyprwm/hypridle) |
| Power Menu App | [wlogout](https://github.com/ArtsyMacaw/wlogout) |
| WiFi Menu | [iwdrofimenu](https://github.com/defname/rofi-iwd-wifi-menu) |
| Bluetooth Manager | [Overskride](https://github.com/kaii-lb/overskride) |
| Terminal Art | [rustmon](https://github.com/Vomitblood/rustmon) |

### Pywal themes for applications

| Type | Name |
| --------------------- | --------------------------------------------------------------------------------------------- |
| Telegram Pywal Theme | [walogram](https://codeberg.org/thirtysixpw/walogram) |
| VS Code Pywal Theme | [Wal Theme](https://marketplace.visualstudio.com/items?itemName=dlasagno.wal-theme) Extension |
| Librewolf Pywal Theme | [pywalfox](https://addons.mozilla.org/ru/firefox/addon/pywalfox/) |

### Wallpapers

Check out my wallpapers [repository](https://github.com/vernette/wallpapers)

## Screenshots

### Workflow

| **Btop, Neovim** |
| ------------------------------------------- |
| ![image](assets/screenshots/workflow_2.png) |

| **Nautilis, Obsidian** |
| ------------------------------------------- |
| ![image](assets/screenshots/workflow_3.png) |

### Waybar

![image](assets/screenshots/applications_waybar.png)

| **Updates, System Info** |
| ------------------------------------------------------------ |
| ![image](assets/screenshots/applications_waybar_updates.png) |

| **Hub** |
| -------------------------------------------------------- |
| ![image](assets/screenshots/applications_waybar_hub.png) |

| **Fastfetch, cava** |
| ------------------------------------------- |
| ![image](assets/screenshots/workflow_4.png) |

### Librewolf

![image](assets/screenshots/applications_librewolf.png)

### Rofi

![image](assets/screenshots/applications_rofi.png)

| **Wallpaper Selector** |
| ------------------------------------------------------------- |
| ![image](assets/screenshots/applications_rofi_wallpapers.png) |

### Spotify

![image](assets/screenshots/applications_spotify.png)

| **Lyrics Tab** |
| ------------------------------------------------------- |
| ![image](assets/screenshots/applications_spotify_2.png) |

| **NCS Visualizer** |
| ------------------------------------------------------- |
| ![image](assets/screenshots/applications_spotify_3.png) |

### Neovim

| **Dashboard** |
| ---------------------------------------------------- |
| ![image](assets/screenshots/applications_nvim_1.png) |

| **Layout** |
| ---------------------------------------------------- |
| ![image](assets/screenshots/applications_nvim_2.png) |

### Telegram (AyuGram)

![image](assets/screenshots/applications_telegram.png)

### wlogout

![image](assets/screenshots/applications_wlogout.png)

### hyprlock

![image](assets/screenshots/applications_hyprlock_1.png)
![image](assets/screenshots/applications_hyprlock_2.png)

### Sway Notification Center

| **Notification Center** |
| ---------------------------------------------------- |
| ![image](assets/screenshots/applications_swaync.png) |

| **Notification Example** |
| ----------------------------------------------------------------- |
| ![image](assets/screenshots/applications_swaync_notification.png) |

## Dependencies

### Base

#### Main repo

```bash
sudo pacman -S kitty swww ttf-jetbrains-mono-nerd noto-fonts-emoji lf grim slurp wl-clipboard hyprland waybar zsh playerctl lsd libnotify hyprlang hyprlock hypridle swaync neovim fastfetch xdg-desktop-portal-gtk
```

#### AUR

```bash
paru -S pistol-bin python-pywal16 wlogout rofi-lbonn-wayland-git iwdrofimenu-git overskride spicetify-cli cava adw-gtk-theme-git walogram-git rustmon-git hyprshot la-capitaine-icon-theme
```

If you are having trouble with installing `iwdrofimenu-git`, use `--nodeps` flag:

```bash
paru -S iwdrofimenu-git --nodeps
```

### ZSH specific

```bash
sudo pacman -S fzf zoxide starship pkgfile
```

### Waybar specific

```bash
sudo pacman -S pacman-contrib
```

```bash
paru -S wttrbar
```

### Neovim specific

```bash
sudo pacman -S ripgrep unzip npm
```

## Installation

Make sure to install stow:

```bash
sudo pacman -S stow
```

Clone repo into home folder and stow dotfiles:

```bash
git clone --depth 1 https://github.com/vernette/hyprsnap ~/.dotfiles
cd ~/.dotfiles
stow .
```

If you want stow to overwrite existing files, then add `--adopt` flag:

```bash
stow . --adopt
```

To get the `command-not-found` [plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/command-not-found) working, run this commands:

```bash
sudo pkgfile -u
sudo systemctl enable --now pkgfile-update.timer # Enable automatic updates https://wiki.archlinux.org/title/Pkgfile#Automatic_updates
```

Also for `rustmon`:

```bash
rustmon fetch
```

## Hotkeys

> [!NOTE]
> `CapsLock` is used as `Esc`. You can change this behavior by removing `caps:escape` from the `~/.config/hypr/configs/input.conf`

| Key | Command |
| --------------------------------------------- | ----------------------------------- |
| `Super` + `Enter` | Launch kitty |
| `Super` + `D` | Launch rofi |
| `Super` + `F` | Launch Nautilus |
| `Super` + `B` | Launch Librewolf |
| `Super` + `W` | Random wallpaper |
| `Super` + `Shift` + `Q` | Kill active window |
| `Super` + `Shift` + `Space` | Toggle floating window |
| `Super` + `Shift` + `C` | Center window |
| `Super` + `Shift` + `L` | Power menu |
| `Super` + `Shift` + `W` | Wallpaper selector |
| `Super` + `Shift` + `N` | Sway Notification Center |
| `Super` + `Shift` + `F` | Toggle fullscreen |
| `Super` + `Shift` + `O` | Restart Waybar |
| `Super` + `Shift` + `R` | Restart Hyprland |
| `Super` + `Shift` + `E` | Exit Hyprland |
| `PrntScrn` | Take screenshot of an entire screen |
| `Ctrl` + `PrntScrn` | Take screenshot of selected area |
| `Ctrl` + `Shift` + `PrntScrn` | Take screenshot of selected window |
| `Ctrl` + `Super` + `Arrow down/up/left/right` | Resize window |

Other hotkeys can be found here `~/.config/hypr/configs/binds.conf`

## TODO

- [ ] Installation script
- [x] ~~Custom SDDM theme~~ Switched to ly
- [x] Custom Librewolf CSS
- [x] Custom Librewolf startpage