NixOS: FS and Nix Store Recovery on Critical Failures

The system fails to boot, dropping into emergency mode, or throws this error during operation: Structure needs cleaning This indicates critical metadata corruption (superblock, inode table, or journal). The kernel forcibly mounts the root (/) as Read-Only to protect the data. ⚠️ Limitations of In-System Recovery Attempting to fix the root FS from within the running system is a dead end: mount -o remount,ro / returns target is busy because background processes hold files open. Mass-killing processes (killall5, fuser) often causes session hangs or respawns. Using umount -l / (lazy unmount) detaches the root, but instantly makes all binaries unavailable (sudo, e2fsck, mount), as they reside in /nix/store, which is now unmounted. 💡 Conclusion: Fixing the root FS from within itself is impossible. The only reliable path is external intervention. ...

27 Aug 2026 · 3 min · 531 words · Potato Energy Team, ponfertato

Scrcpy: Wireless Mirroring and Control of Android from PC

Scrcpy (Screen Copy) is a tool for displaying and controlling Android devices from a computer. Benefits: ✅ No root required ✅ Low latency (35~70 ms) ✅ High quality (up to 1920×1080 or higher) ✅ Works over USB and Wi-Fi ⚠️ Main Issue: “Connection refused” When attempting to start wireless mode directly with: scrcpy --tcpip=192.168.x.x The error occurs: failed to connect to '192.168.x.x:5555': Connection refused. Reason: By default, the Android debugging daemon (adbd) listens only on the USB interface. Port 5555 is closed until the device is explicitly switched to TCP/IP mode. ...

26 Aug 2026 · 3 min · 552 words · Potato Energy Team, ponfertato

NixOS: Complete VR Stack Setup (WiVRn + WayVR)

Running VR on NixOS requires an understanding of the interaction between OpenXR runtimes, compositors, and the Steam sandbox. For the Meta Quest 3S + Steam (Proton) setup, the optimal solution is using WiVRn as the streamer and OpenXR runtime, with optional OpenComposite for backward compatibility with older OpenVR titles. 💡 Critically important: VR packages in NixOS evolve rapidly. It is highly recommended to use packages from the nixos-unstable branch or the nixpkgs-xr overlay. ...

03 Aug 2026 · 3 min · 592 words · Potato Energy Team, ponfertato

Ventoy: Multi-Boot USB with Correct Structure

Instead of reformatting the USB for each new image, Ventoy allows copying ISO files as regular files. At boot, a menu appears with all available images. Benefits: ✅ No need to rewrite USB for each image ✅ Support for Windows, Linux, utilities - all on one drive ✅ Regular files accessible from any OS ✅ Flexible configuration via JSON 🗂 Correct USB Structure [First USB partition - exFAT/NTFS] ├── /ventoy/ # ← Must be here! │ ├── ventoy.json # Main config │ ├── revi/ # Windows auto-install │ │ └── autounattend.xml │ └── theme/ # Custom theme │ └── distro/theme.txt │ ├── BACKUP/ # Working files ├── LINUX/ # Linux ISOs │ ├── Archlinux 2025.12.01.iso │ ├── Debian 13.2.0.iso │ └── NixOS 25.11.1734.iso ├── WINDOWS/ # Windows ISOs │ ├── Windows 10 22H2.iso │ ├── Windows 10 Enterprise LTSC 2021.iso │ └── Windows 11 25H2.iso ├── ReviSetup/ # Post-install scripts │ └── setup.cmd └── UTILS/ # Utilities ├── gparted-live.iso └── memtest86+.iso ⚠️ Critical: /ventoy/ must be on the first partition (where ISOs are), NOT in root! ...

06 May 2026 · 3 min · 594 words · Potato Energy Team, ponfertato

Flatpak: HTTP 403 Error Loading OpenH264 - Fix

When running apps via Flatpak (Discord, OBS, Firefox, etc.), the following warning may appear: Warning: While downloading http://ciscobinary.openh264.org/libopenh264-2.5.1-linux64.7.so.bz2: Server returned status 403 Or in logs: Failed to load OpenH264 library: openh264 cannot be opened Symptoms: ❌ Video calls show black screen or don’t work ❌ OBS screen recording fails with encoding error ❌ Webcam doesn’t transmit video in browser Cause: Cisco’s server (ciscobinary.openh264.org) blocks automated downloads of libopenh264 due to licensing reasons. Status 403 = “forbidden”. ...

21 Apr 2026 · 3 min · 526 words · Potato Energy Team, ponfertato

steamscope.sh: Universal Steam Launcher for Linux

🎮 Purpose Running games via Steam on Linux requires different flags for different engines, various environment variables for AMD and NVIDIA, and manual insertion of tools like Gamescope and MangoHud into the launch command. Solution: steamscope.sh - a wrapper script that: ✅ Auto-detects GPU (AMD/NVIDIA) and applies appropriate optimizations ✅ Supports engine-specific flags: Source, Unreal, Unity ✅ Integrates Gamescope, Gamemode, MangoHud, FSR in one command ✅ Works as %command% in Steam launch options ✅ Doesn’t break standard launch - everything is optional 💡 The script doesn’t replace Proton or Steam - it makes their work predictable and configurable. ...

07 Apr 2026 · 5 min · 935 words · Potato Energy Team, ponfertato

NixOS: Running Foreign Apps via Distrobox

Sometimes an app on NixOS is only available for Ubuntu/Debian or ships as .deb/.iso. Distrobox lets you run it in a container with host integration - like a native app. 💡 Works on any distro with Nix installed. 📦 Create container # Create container with necessary volume mounts nix shell nixpkgs#distrobox --command distrobox create \ --image ubuntu:20.04 \ --name <container-name> \ --volume "<volume_pts>:/dev/pts" \ --volume "<volume_journal>:/var/log/journal" \ --home "$HOME/<container-name>-home" Parameters: --image - base image (ubuntu:20.04, debian:11, etc.) --volume - mount directories (audio, logs) --home - separate home directory inside container --name - container name (used in other commands) Enter container: ...

18 Mar 2026 · 3 min · 510 words · Potato Energy Team, ponfertato