Skip to content

Nix Fix#60

Draft
Definitely-Not-A-Dolphin wants to merge 13 commits into
Brainitech:devfrom
Definitely-Not-A-Dolphin:main
Draft

Nix Fix#60
Definitely-Not-A-Dolphin wants to merge 13 commits into
Brainitech:devfrom
Definitely-Not-A-Dolphin:main

Conversation

@Definitely-Not-A-Dolphin

Copy link
Copy Markdown

The NixOS flake and lockfile were utterly terrible, I highly suspect vibecoding. I am currently still trying to get the flakes to work, here is my progress.

Brainitech and others added 13 commits June 4, 2026 18:26
fix(popups): Dashboard and wallpaper behavior fixed.

- Dashboard and wallpaper Popups don't close when interacting with them.
- Keyboard focus to enable mouse-free control
- Fixed few interaction bugs.
- Refactored code
- Enhanced UI behavior
Merge pull request Brainitech#38 from notcandy001/main

feat : add GitHub Actions workflow, fix flake.nix, and correct dependency lists
fix(installer): added missing imports
Dev-main feat/dual config support & user_data migration
fix(installer):Branch change from feat/Dual_Config_Support to main
fix(Auto_Updater): path fix + cleanup
… and Screen Recorder Enhancements)

## Overview
This Pull Request streamlines the user experience by providing out-of-the-box support for screen shaders and improves the overall quality and compatibility of the screen recording feature.

## Key Changes

* **Native Shaders:** Bundled standard screen shaders directly into `src/config/shaders`. Users no longer need to manually download or configure external shader files; they will work immediately upon installation.
* **Video Command Enhancements:** Updated the underlying screen recorder build command to optimize the video encoding format, improve color accuracy, and ensure broader playback compatibility.
@Definitely-Not-A-Dolphin
Definitely-Not-A-Dolphin marked this pull request as draft June 10, 2026 21:40
leriart added a commit to leriart/Brain_Shell that referenced this pull request Jun 11, 2026
…ers, color extraction, performance optimizations, and bug fixes

## Native Wallpaper System
- Native QML wallpaper renderer (Image/GIF/Video) — no external daemon needed
- Hardware-accelerated video with GPU-aware downscaling and caching
- Per-screen wallpaper support (different wallpaper per monitor)
- Directory watcher for auto-refresh on file changes
- Type filters in wallpaper popup (Images/GIFs/Videos)
- Thumbnail-based grid with viewport-aware lazy loading
- Video wallpapers auto-loop with IdleService-aware pause/resume
- Color extraction via matugen for all wallpaper types (image/video/GIF)
- Frame extraction fallback: ffmpeg → magick → convert → thumbnail
- Live ShaderEffectSource crossfade transitions between wallpapers

## Performance Optimizations
- AppSearch debounce prevents 77+ redundant index rebuilds on startup
- WallpaperPopup: viewport-aware lazy loading with preload buffer
- WallpaperPopup: thumbnails only, never full-resolution images in grid
- WallpaperPopup: video/GIF previews only when selected AND in viewport
- ColorLoader: 3s polling fallback for unreliable filesystem watchers
- GpuDetector: Process-based detection replaces blocked XMLHttpRequest

## Bug Fixes
- ScreenCorners: width/height → implicitWidth/Height (deprecation warnings)
- WallpaperPopup: Theme.animDuration → Anim.* (undefined-to-int crash)
- IpcManager: QVariant IPC serialization workaround
- UpdateService: git repo pre-check before fetch
- IdleService: fallback no longer permanently pauses video wallpapers
- EnvyControlService: binary pre-check avoids startup error
- Duplicate keybind registration (single HyprlandSyncService bind source)
- services/qmldir: removed stale references
- Missing icon fallback (hwloc, wine → application-x-executable)
- Dashboard: restored original visibility-toggle page pattern
- ShellConfig: restored original upstream placeholder tabs

## Nix Flake (upstream PR Brainitech#60)
- flake-utils follows nixpkgs, updated nixpkgs-unstable lock
- Removed non-functional Hyprland exec-once NixOS module block

## Animation Consistency
- TabSwitcher: Anim.standardSmall replaces hardcoded durations
- WallpaperPopup: all Theme.animDuration references → Anim.*
@Brainitech

Copy link
Copy Markdown
Owner

Hi, thanks for your time and contribution. Could you open the PR to the dev branch whenever you open a proper pr? Also i'll update the repo with some pr/contribution guidelines so go thru them once.

Also regarding the nix flakes:
To be completely transparent, the installation pipeline was handled by another contributor. Since I don't have prior experience with Nix or flakes, I only thoroughly reviewed and corrected the Bash install script for Arch Linux before getting v0.1.0 out the door.

That said, I'm actually exploring NixOS right now to learn the setup process. I'll manually review and properly fix the flake implementation, and bundle it into the upcoming patch release.

@Brainitech
Brainitech changed the base branch from main to dev June 12, 2026 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants