{"id":28284114,"url":"https://github.com/gren-95/hyprland-dots","last_synced_at":"2026-05-02T01:35:21.295Z","repository":{"id":294067486,"uuid":"985692299","full_name":"Gren-95/hyprland-dots","owner":"Gren-95","description":"Tailwind Stone palette insired theme","archived":false,"fork":false,"pushed_at":"2025-05-18T18:28:27.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-18T19:32:55.457Z","etag":null,"topics":["dark-theme","hypridle","hyprland","hyprland-rice","hyprlock","hyprpaper","kitty","swaync","swayosd","tailwind-inspired","vim","waybar"],"latest_commit_sha":null,"homepage":"","language":"CSS","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/Gren-95.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,"zenodo":null}},"created_at":"2025-05-18T10:23:45.000Z","updated_at":"2025-05-18T18:28:30.000Z","dependencies_parsed_at":"2025-05-18T19:43:22.540Z","dependency_job_id":null,"html_url":"https://github.com/Gren-95/hyprland-dots","commit_stats":null,"previous_names":["gren-95/hyprland-dots"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Gren-95/hyprland-dots","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gren-95%2Fhyprland-dots","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gren-95%2Fhyprland-dots/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gren-95%2Fhyprland-dots/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gren-95%2Fhyprland-dots/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gren-95","download_url":"https://codeload.github.com/Gren-95/hyprland-dots/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gren-95%2Fhyprland-dots/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260398708,"owners_count":23003026,"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","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":["dark-theme","hypridle","hyprland","hyprland-rice","hyprlock","hyprpaper","kitty","swaync","swayosd","tailwind-inspired","vim","waybar"],"created_at":"2025-05-21T17:13:05.636Z","updated_at":"2026-05-02T01:35:21.288Z","avatar_url":"https://github.com/Gren-95.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles for my theme of hyprland (inspired by tailwind)\n\n![Desktop Screenshot](screenshots/desktop.png)\n\n\u003e [!TIP]\n\u003e Use `setup.sh` for automated installation, or `dotfiles-manager.sh` for managing symlinks.\n\n\u003e [!NOTE]\n\u003e Built on Nobara 43. Some commands are Fedora/Nobara specific.\n\n## Dependencies\n\n- `hyprland` + `hyprland-devel` — compositor\n- `kitty` — terminal\n- `nautilus` — file manager\n- `cliphist` + `wl-clipboard` — clipboard history\n- `hyprpaper` `hyprpicker` `hypridle` `hyprlock` — wallpaper, color picker, idle daemon, lock screen\n- `swaync` — notification center\n- `grim` `slurp` `swappy` — screenshots\n- `tesseract` — OCR from screenshots\n- `gpu-screen-recorder` — screen recording\n- `swayosd` — OSD for volume/brightness\n- `waybar` — status bar\n- `rofi` — app launcher, menus\n- `firefox` — browser\n- `brightnessctl` `playerctl` — brightness and media control\n- `pavucontrol` — audio mixer\n- `hyprpolkitagent` — polkit agent\n- `gnome-calendar` `gnome-keyring` — calendar, secrets\n- `powerprofilesctl` — power profiles\n- `python3` + `python3-pillow` — avatar generation\n- `jq` — JSON parsing\n- `inotify-tools` — dotfile hot-reload daemon\n\n## Install Dependencies (Nobara 43)\n\n### External repositories\n\n```bash\nsudo dnf copr enable lionheartp/Hyprland                    # hyprland\nsudo dnf copr enable erikreider/SwayNotificationCenter      # swaync\nsudo dnf copr enable washkinazy/wayland-wm-extras           # swayosd\n```\n\n### Install all dependencies\n\n```bash\nsudo dnf install hyprland hyprland-devel kitty nautilus cliphist \\\n  hyprpaper hyprpicker hypridle hyprlock swaync grim slurp swappy tesseract \\\n  wl-clipboard swayosd waybar firefox rofi brightnessctl playerctl \\\n  pavucontrol polkit-gnome gnome-calendar gnome-keyring jq \\\n  powerprofilesctl gpu-screen-recorder inotify-tools \\\n  fish neovim ranger python3 python3-pillow\n```\n\n## Setup\n\n### One-command Install (Recommended)\n\n```bash\nbash \u003c(curl -fsSL https://raw.githubusercontent.com/Gren-95/hyprland-dots/main/install.sh)\n```\n\nThis will clone the repo to `~/dotfiles` and run the setup script automatically.\n\n### Manual Setup\n\n```bash\ngit clone https://github.com/Gren-95/hyprland-dots.git ~/dotfiles\ncd ~/dotfiles\nchmod +x setup.sh\n./setup.sh\n```\n\nThe setup script will:\n- Check for missing dependencies and offer to install them\n- Create symlinks for all config directories\n- Create required user directories (`~/Pictures/Screenshots`, `~/Music`, etc.)\n- Set up script permissions\n- Configure GTK theme and SwayOSD\n- Optionally generate an initials avatar for the lock screen\n\n### Wallpapers\n\nPut your wallpapers in `~/Pictures/wallpapers/`. They are preloaded automatically on startup — no manual config needed. The lock screen background also updates to the current wallpaper automatically.\n\n### Idle timeout\n\n```bash\n$EDITOR hypr/hypridle.conf\n```\n\n### Keybinds\n\n```bash\n$EDITOR hypr/modules/keys.conf\n```\n\nPress `Super+F1` in session to view all active keybinds.\n\n### OSD\n\n```bash\nsudo systemctl enable --now swayosd-libinput-backend.service\n```\n\n### Screen Recording\n\n`Super+Ctrl+R` — toggles screen recording. Recordings are saved to `~/Videos/Recordings/`.\n\nRequires `gpu-screen-recorder`.\n\n### Remote Access (wayvnc)\n\nwayvnc is an optional VNC server for remote desktop access.\n\n**Start/stop:** `Super+Shift+R` — toggles wayvnc on/off.\n\n**Connect:** Use any VNC viewer and connect to `\u003clocal-ip\u003e:5900`.\n\n**Security:** Default config binds to `0.0.0.0` with no auth — suitable for trusted LAN only. For remote access, use [Tailscale](https://tailscale.com).\n\nTo add password auth, edit `wayvnc/config`:\n\n```ini\nenable_auth=true\nusername=user\npassword=yourpassword\n```\n\n## Background Daemons\n\nThese run automatically on login via `restart.sh` and restart cleanly on each session.\n\n| Script | Purpose |\n|---|---|\n| `battery-notify.sh` | Notifies at 20% and 10% battery; dismisses alert when plugged in |\n| `dotwatch.sh` | Watches dotfiles for changes and hot-reloads affected services |\n| `media-inhibit.sh` | Prevents screen sleep during media playback |\n| `network-notify.sh` | Notifies on network connect/disconnect |\n| `swayosd-monitor.sh` | Monitors input events for OSD triggers |\n\n### dotwatch — hot-reload\n\nEdits to dotfiles are picked up automatically without restarting your session:\n\n| File changed | Action |\n|---|---|\n| `waybar/style*.css`, `waybar/config*` | Restart waybar |\n| `swaync/style.css` | Reload swaync CSS |\n| `swaync/config.json` | Reload swaync config |\n| `hypr/hyprland.conf`, `hypr/modules/*` | `hyprctl reload` |\n| `hypr/hypridle.conf` | Restart hypridle |\n| `hypr/hyprlock.conf` | Notification (applies on next lock) |\n| `swayosd/style.css` | Restart swayosd-server |\n| `gtk-3.0/gtk.css` | Notification (restart GTK apps to apply) |\n\n## Optional Services\n\n### Immich (photo sync)\n\nAutomatically uploads `~/Pictures/` to your Immich server every hour. Notifies when new photos are uploaded.\n\n**Setup:**\n\n```bash\nnpm install -g @immich/cli --prefix ~/.npm-global\nimmich login https://your-immich-server/api YOUR_API_KEY\n```\n\nAuth is stored in `~/.config/immich/auth.yml` (gitignored).\n\n### Jellyfin (music sync)\n\nSyncs your Jellyfin music library to `~/Music/` every 2 hours. Jellyfin is the master — tracks removed from Jellyfin are deleted locally. Notifies after each sync with a download/skip/remove summary.\n\n**Setup:**\n\n```bash\nbash ~/.config/scripts/jellyfin-music-sync.sh\n```\n\nYou will be prompted for your Jellyfin server URL and API key on first run. Config is stored in `~/.config/jellyfin/sync.conf` (gitignored). To reconfigure, delete the file and run the script again.\n\n## Dotfiles Manager\n\n```bash\n./dotfiles-manager.sh status          # Check all symlink states\n./dotfiles-manager.sh backup          # Create symlinks (backs up existing dirs)\n./dotfiles-manager.sh backup --dry-run  # Preview without making changes\n./dotfiles-manager.sh fix             # Fix broken or inconsistent symlinks\n./dotfiles-manager.sh undo            # Restore backups and remove symlinks\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgren-95%2Fhyprland-dots","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgren-95%2Fhyprland-dots","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgren-95%2Fhyprland-dots/lists"}