Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,8 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
- OS: [e.g. EndeavourOS]
- Package Version [e.g. v0.5.0 git]

**Additional context**
Add any other context about the problem here.
54 changes: 54 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<!-- Thank you for contributing to Hyprland-Simple-Setup! Please read CONTRIBUTING.md before submitting. -->

## Summary
Briefly describe the problem and how your change solves it.

## Type of change
- [ ] feat (new feature)
- [ ] fix (bug fix)
- [ ] docs (documentation only)
- [ ] refactor (no functional change)
- [ ] perf (performance)
- [ ] test (add/update tests)
- [ ] chore (build/infra/CI)
- [ ] ui (visual/interaction changes)
- [ ] breaking change (incompatible behavior)

## Related issues
Closes #

## How to test
List exact steps and commands to verify the change. Include flags like `--dry-run` when appropriate.

```bash
# examples
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo test -- --test-threads=1
RUST_LOG=hyprland_setup_tui=debug cargo run -- --dry-run
```

## Screenshots / recordings (if UI changes)
Include before/after images or a short GIF. Update files in `Images/` if relevant.

## Checklist
- [ ] Code compiles locally
- [ ] `cargo fmt --all` ran without changes
- [ ] `cargo clippy --all-targets --all-features -- -D warnings` is clean
- [ ] `cargo test -- --test-threads=1` passes
- [ ] Added or updated tests where it makes sense
- [ ] Updated docs if behavior, options, or keybinds changed (README, config examples)
- [ ] For UI changes: included screenshots and updated `Images/` if applicable
- [ ] Changes respect `--dry-run` and degrade gracefully if `pacman`/`paru`/`yay` are unavailable
- [ ] Not a packaging change for AUR (otherwise propose in `hyprland-simple-setup-git` repos)

## Notes for reviewers
Call out tricky areas, assumptions, edge cases, or follow-ups.

## Breaking changes
Describe any breaking changes and migration steps (e.g., config key renames).

## Additional context
Logs, links to discussions, design notes, or prior art.


22 changes: 22 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Rust

on:
push:
pull_request:

permissions:
contents: read

env:
CARGO_TERM_COLOR: always

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose -- --test-threads=1
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ RELEASE.md

# Added by cargo
/target

Documents/*
33 changes: 33 additions & 0 deletions dotfiles/.config/hypr/scripts/check_setup_warnings.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env bash

LOG_FILE="${HOME}/Linux-Setup.log"

# Give notification daemon a moment to start
sleep 3

# If notify-send is unavailable, exit quietly
if ! command -v notify-send >/dev/null 2>&1; then
exit 0
fi

# If log doesn't exist, nothing to check
[ -f "$LOG_FILE" ] || exit 0

# Limit to warnings from the most recent run (after the last "Starting Hyprland Setup..." debug entry)
start_line=$(grep -n '\[DEBUG\] Starting Hyprland Setup\.\.\.' "$LOG_FILE" | tail -n1 | cut -d: -f1)
if [[ -n "$start_line" ]]; then
log_slice=$(tail -n +"$start_line" "$LOG_FILE")
else
log_slice=$(cat "$LOG_FILE")
fi

# Extract all WARNING messages from the selected slice and notify once per unique message.
# Log format: [YYYY-MM-DD HH:MM:SS] [WARNING] message...
mapfile -t warnings < <(awk '/\[WARNING\]/ { sub(/^.*\[WARNING\] /,""); msg=$0; if (!seen[msg]++) print msg }' <<< "$log_slice")

for w in "${warnings[@]}"; do
[ -n "$w" ] || continue
notify-send -u critical -t 0 "Hyprland Setup - Warning" "$w"
done


3 changes: 2 additions & 1 deletion dotfiles/.config/hypr/sources_example/autostart.conf
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,5 @@ exec-once = blueman-applet &
# Start Waybar
exec-once = sleep 1; waybar -c "$HOME/.config/waybar/config.jsonc" &

exec-once = $hyprscripts/Startup_check.sh &
exec-once = $hyprscripts/Startup_check.sh &
exec-once = sleep 5; $hyprscripts/check_setup_warnings.sh &
Loading