<?xml version='1.0' encoding='utf-8'?>
<rss version="2.0"><channel><title>OFFSET</title><link>https://shangshui0302.github.io/en/writing/</link><description>Open-source projects, and the thinking behind them.</description><language>en</language><item><title>From the first add to undoing a change.</title><link>https://shangshui0302.github.io/en/writing/git-snapshots/</link><guid>https://shangshui0302.github.io/en/writing/git-snapshots/</guid><description>Walk through a local Git workflow: staging, partial commits, diff inspection, restoration, history rewriting, and ignore rules.</description><category>Development tools</category><category>Git</category><category>Version control</category></item><item><title>The other side of rwx.</title><link>https://shangshui0302.github.io/en/writing/linux-permissions/</link><guid>https://shangshui0302.github.io/en/writing/linux-permissions/</guid><description>Read a full ls listing to understand numeric permissions, directory access, deletion, special bits, and practical troubleshooting.</description><category>Systems and desktops</category><category>Linux</category><category>Permissions</category></item><item><title>After login, who takes over the desktop?</title><link>https://shangshui0302.github.io/en/writing/login-and-session/</link><guid>https://shangshui0302.github.io/en/writing/login-and-session/</guid><description>Follow a login from authentication and session entries through environment setup, autostart, and logout to see how each layer hands off control.</description><category>Systems and desktops</category><category>Linux</category><category>Wayland</category><category>greetd</category><category>uwsm</category></item><item><title>From assets to candidate window: the complete dynamic theme pipeline.</title><link>https://shangshui0302.github.io/en/writing/theme-nine-slice/</link><guid>https://shangshui0302.github.io/en/writing/theme-nine-slice/</guid><description>Connect Fcitx5 nine-slice assets, layout, and blur masks to Matugen colors and Nix runtime directories.</description><category>Systems and desktops</category><category>Fcitx5</category><category>Matugen</category><category>NixOS</category></item><item><title>If configuration is reproducible, why do apps still forget?</title><link>https://shangshui0302.github.io/en/writing/declarative-and-state/</link><guid>https://shangshui0302.github.io/en/writing/declarative-and-state/</guid><description>From GNOME defaults and Home Manager activation to Flatpak's management scope, distinguish declarations, preferences, and data.</description><category>Systems and desktops</category><category>NixOS</category><category>Home Manager</category></item><item><title>What does Distrobox actually export?</title><link>https://shangshui0302.github.io/en/writing/distrobox-export/</link><guid>https://shangshui0302.github.io/en/writing/distrobox-export/</guid><description>Walk through GUI and CLI exports, arguments, wrapper scripts, shared paths, troubleshooting, and removing exported entries.</description><category>Containers and infrastructure</category><category>Distrobox</category><category>Containers</category><category>Terminal</category></item><item><title>Define the fields first, then make notes queryable.</title><link>https://shangshui0302.github.io/en/writing/dataview-data-model/</link><guid>https://shangshui0302.github.io/en/writing/dataview-data-model/</guid><description>Start with YAML and inline fields, distinguish pages, tasks, and four output formats, then work through sources, conditions, sorting, and expressions.</description><category>Knowledge management</category><category>Obsidian</category><category>Dataview</category></item><item><title>Turn projects, tasks, and reading into useful queries.</title><link>https://shangshui0302.github.io/en/writing/dataview-query-workflows/</link><guid>https://shangshui0302.github.io/en/writing/dataview-query-workflows/</guid><description>Build query pages around five practical questions, retain the full grouping and flattening process, and clarify time boundaries, task status, and missing fields.</description><category>Knowledge management</category><category>Obsidian</category><category>Dataview</category></item><item><title>Separate Yazi's configuration, then wire up file openers.</title><link>https://shangshui0302.github.io/en/writing/yazi-config-and-openers/</link><guid>https://shangshui0302.github.io/en/writing/yazi-config-and-openers/</guid><description>Move from configuration-file responsibilities to openers, matching rules, and key bindings, updating older examples for Yazi 26.9.1.</description><category>Development tools</category><category>Yazi</category><category>Terminal</category></item><item><title>From selecting files to handing the directory back to the shell.</title><link>https://shangshui0302.github.io/en/writing/yazi-navigation-and-shell/</link><guid>https://shangshui0302.github.io/en/writing/yazi-navigation-and-shell/</guid><description>Distinguish finding, filtering, selection, and the file buffer to complete batch operations and pass the final directory back on exit.</description><category>Development tools</category><category>Yazi</category><category>Terminal</category></item><item><title>Rootless containers: whose file permissions count?</title><link>https://shangshui0302.github.io/en/writing/podman-rootless-boundaries/</link><guid>https://shangshui0302.github.io/en/writing/podman-rootless-boundaries/</guid><description>Trace UID mappings through bind mounts, persistent data, and network boundaries to explain Podman's permission checks.</description><category>Containers and infrastructure</category><category>Podman</category><category>Containers</category><category>Linux</category><category>Permissions</category></item><item><title>How does Quadlet turn container declarations into services?</title><link>https://shangshui0302.github.io/en/writing/quadlet-service-lifecycle/</link><guid>https://shangshui0302.github.io/en/writing/quadlet-service-lifecycle/</guid><description>Follow source files, systemd generation, startup verification, persistent data, and readiness checks, then diagnose service failures.</description><category>Containers and infrastructure</category><category>Podman</category><category>Quadlet</category><category>systemd</category></item><item><title>NixOS: the foundations of a declarative system</title><link>https://shangshui0302.github.io/en/writing/nixos-introduction/</link><guid>https://shangshui0302.github.io/en/writing/nixos-introduction/</guid><description>Understand how NixOS works through configuration, build outputs, and generations.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>Installing NixOS: installation media, partitions, and initial configuration</title><link>https://shangshui0302.github.io/en/writing/nixos-installation/</link><guid>https://shangshui0302.github.io/en/writing/nixos-installation/</guid><description>Understand prerequisites and steps for both graphical and manual installation.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>NixOS configuration basics: options and modules</title><link>https://shangshui0302.github.io/en/writing/nixos-configuration-basics/</link><guid>https://shangshui0302.github.io/en/writing/nixos-configuration-basics/</guid><description>Organize a system configuration around boot, networking, users, packages, and services.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>Managing a system with Flakes and Home Manager</title><link>https://shangshui0302.github.io/en/writing/nixos-system-home-management/</link><guid>https://shangshui0302.github.io/en/writing/nixos-system-home-management/</guid><description>Separate the responsibilities of dependency entry points, system modules, user configuration, and project development environments.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>The NixOS command line: old and new interfaces and everyday maintenance</title><link>https://shangshui0302.github.io/en/writing/nixos-cli-guide/</link><guid>https://shangshui0302.github.io/en/writing/nixos-cli-guide/</guid><description>Distinguish commands for system activation, user profiles, temporary environments, and garbage collection.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>NixOS generation management and garbage collection</title><link>https://shangshui0302.github.io/en/writing/nixos-generations/</link><guid>https://shangshui0302.github.io/en/writing/nixos-generations/</guid><description>Understand the generation lifecycle through inspection, activation, history removal, and storage reclamation.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>Specialisation: multiple configuration variants in one generation</title><link>https://shangshui0302.github.io/en/writing/nixos-specialisation/</link><guid>https://shangshui0302.github.io/en/writing/nixos-specialisation/</guid><description>Declare variants under a base configuration and distinguish runtime activation from changes that require a reboot.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>Nix and NixOS: storage, rollback, and declarative thinking</title><link>https://shangshui0302.github.io/en/writing/nix-system-model/</link><guid>https://shangshui0302.github.io/en/writing/nix-system-model/</guid><description>Understand the NixOS system model through the store, profiles, and imperative tools.</description><category>Development tools</category><category>Linux</category><category>NixOS</category><category>Nix language</category></item><item><title>Nix syntax: attribute sets, lists, and built-in functions</title><link>https://shangshui0302.github.io/en/writing/nix-syntax/</link><guid>https://shangshui0302.github.io/en/writing/nix-syntax/</guid><description>Learn common data types, attribute access, and the basics of writing configuration expressions.</description><category>Development tools</category><category>Linux</category><category>NixOS</category><category>Nix language</category></item><item><title>Nix functions and scope</title><link>https://shangshui0302.github.io/en/writing/nix-functions-scopes/</link><guid>https://shangshui0302.github.io/en/writing/nix-functions-scopes/</guid><description>Identify where each variable comes from in let, inherit, with, and function parameters.</description><category>Development tools</category><category>Linux</category><category>NixOS</category><category>Nix language</category></item><item><title>Nix attribute sets: recursion and merging</title><link>https://shangshui0302.github.io/en/writing/nix-attribute-merging/</link><guid>https://shangshui0302.github.io/en/writing/nix-attribute-merging/</guid><description>Distinguish shallow merging in the language from the merging rules for NixOS module options.</description><category>Development tools</category><category>Linux</category><category>NixOS</category><category>Nix language</category></item><item><title>Derivations: from expressions to build outputs</title><link>https://shangshui0302.github.io/en/writing/nix-derivations/</link><guid>https://shangshui0302.github.io/en/writing/nix-derivations/</guid><description>Trace the relationship between evaluation, building or downloading substitutes, and store outputs.</description><category>Development tools</category><category>Linux</category><category>NixOS</category><category>Nix language</category></item><item><title>Flake structure: inputs and outputs</title><link>https://shangshui0302.github.io/en/writing/nix-flake-schema/</link><guid>https://shangshui0302.github.io/en/writing/nix-flake-schema/</guid><description>Understand Flake inputs, outputs, self, and the levels involved in capturing function arguments.</description><category>Development tools</category><category>Linux</category><category>Flakes</category></item><item><title>flake.lock and reproducibility</title><link>https://shangshui0302.github.io/en/writing/nix-flake-lock-determinism/</link><guid>https://shangshui0302.github.io/en/writing/nix-flake-lock-determinism/</guid><description>Record dependency sources with version locking while understanding the conditions for reproducible results.</description><category>Development tools</category><category>Linux</category><category>Flakes</category></item><item><title>Flake Utils and project templates</title><link>https://shangshui0302.github.io/en/writing/nix-flake-utils-templates/</link><guid>https://shangshui0302.github.io/en/writing/nix-flake-utils-templates/</guid><description>Generate outputs for multiple platforms and turn development environments into reusable templates.</description><category>Development tools</category><category>Linux</category><category>Flakes</category></item><item><title>External Flake references and collaboration</title><link>https://shangshui0302.github.io/en/writing/nix-flake-external-sources/</link><guid>https://shangshui0302.github.io/en/writing/nix-flake-external-sources/</guid><description>Connect external modules and packages, and check the relationships between dependency versions.</description><category>Development tools</category><category>Linux</category><category>Flakes</category></item><item><title>Migrating NixOS configuration to Flakes</title><link>https://shangshui0302.github.io/en/writing/nix-flake-system-migration/</link><guid>https://shangshui0302.github.io/en/writing/nix-flake-system-migration/</guid><description>Create a Flake entry point from an existing configuration, then perform checks, builds, and activation separately.</description><category>Development tools</category><category>Linux</category><category>Flakes</category></item><item><title>A tutorial on Flake projects and dependency management</title><link>https://shangshui0302.github.io/en/writing/nix-flake-tutorial/</link><guid>https://shangshui0302.github.io/en/writing/nix-flake-tutorial/</guid><description>Work through Flake commands and project structure, from input syntax to multi-host organization.</description><category>Development tools</category><category>Linux</category><category>Flakes</category></item><item><title>How Flake updates work</title><link>https://shangshui0302.github.io/en/writing/nix-flake-update-mechanics/</link><guid>https://shangshui0302.github.io/en/writing/nix-flake-update-mechanics/</guid><description>Distinguish input updates, package sets, system generations, and cache downloads.</description><category>Development tools</category><category>Linux</category><category>Flakes</category></item><item><title>Rolling back and manually editing flake.lock</title><link>https://shangshui0302.github.io/en/writing/nix-flake-lock-rollback/</link><guid>https://shangshui0302.github.io/en/writing/nix-flake-lock-rollback/</guid><description>Preserve existing changes before restoring the lock file, and distinguish dependency rollback from system-generation rollback.</description><category>Development tools</category><category>Linux</category><category>Flakes</category></item><item><title>Home Manager integration and modular configuration</title><link>https://shangshui0302.github.io/en/writing/home-manager-bootstrap/</link><guid>https://shangshui0302.github.io/en/writing/home-manager-bootstrap/</guid><description>Compare standalone and NixOS module modes, then split user configuration into modules.</description><category>Development tools</category><category>Linux</category><category>Home Manager</category></item><item><title>Configuring a terminal environment with Home Manager</title><link>https://shangshui0302.github.io/en/writing/home-manager-shell-programs/</link><guid>https://shangshui0302.github.io/en/writing/home-manager-shell-programs/</guid><description>Use modules to configure Zsh, Starship, and common command-line tools.</description><category>Development tools</category><category>Linux</category><category>Home Manager</category></item><item><title>Desktop and theme configuration with Home Manager</title><link>https://shangshui0302.github.io/en/writing/home-manager-desktop-themes/</link><guid>https://shangshui0302.github.io/en/writing/home-manager-desktop-themes/</guid><description>Separate system-session and user-appearance responsibilities when configuring Hyprland, Plasma, and GTK.</description><category>Development tools</category><category>Linux</category><category>Home Manager</category></item><item><title>Home Manager files and symbolic links</title><link>https://shangshui0302.github.io/en/writing/home-manager-files-symlinks/</link><guid>https://shangshui0302.github.io/en/writing/home-manager-files-symlinks/</guid><description>Use home.file and XDG file options to manage read-only configuration and directory links.</description><category>Development tools</category><category>Linux</category><category>Home Manager</category></item><item><title>Secrets management with Home Manager and NixOS</title><link>https://shangshui0302.github.io/en/writing/home-manager-secrets/</link><guid>https://shangshui0302.github.io/en/writing/home-manager-secrets/</guid><description>Separate public configuration from private data using encrypted files and runtime paths.</description><category>Development tools</category><category>Linux</category><category>Home Manager</category></item><item><title>A tutorial on user-level configuration with Home Manager</title><link>https://shangshui0302.github.io/en/writing/home-manager-tutorial/</link><guid>https://shangshui0302.github.io/en/writing/home-manager-tutorial/</guid><description>A complete introduction to installation, program modules, dotfiles, services, and activation.</description><category>Development tools</category><category>Linux</category><category>Home Manager</category></item><item><title>File and directory operations</title><link>https://shangshui0302.github.io/en/writing/linux-command-file-operations/</link><guid>https://shangshui0302.github.io/en/writing/linux-command-file-operations/</guid><description>Learn everyday file operations, from browsing and searching to links, archives, and disk-space queries.</description><category>Development tools</category><category>Linux</category><category>Command line</category></item><item><title>Process and job management</title><link>https://shangshui0302.github.io/en/writing/linux-command-process-jobs/</link><guid>https://shangshui0302.github.io/en/writing/linux-command-process-jobs/</guid><description>Understand program execution and termination through process snapshots, signals, and foreground and background jobs.</description><category>Development tools</category><category>Linux</category><category>Command line</category></item><item><title>Text processing and system queries</title><link>https://shangshui0302.github.io/en/writing/linux-command-text-system/</link><guid>https://shangshui0302.github.io/en/writing/linux-command-text-system/</guid><description>Move from paged viewing and text filtering to queries about memory, disks, networks, and ports.</description><category>Development tools</category><category>Linux</category><category>Command line</category></item><item><title>Shell fundamentals</title><link>https://shangshui0302.github.io/en/writing/linux-command-shell/</link><guid>https://shangshui0302.github.io/en/writing/linux-command-shell/</guid><description>Combine command-line tools with pipes, redirection, variables, and history operations.</description><category>Development tools</category><category>Linux</category><category>Command line</category></item><item><title>Fuzzy finding with fzf</title><link>https://shangshui0302.github.io/en/writing/linux-command-fzf/</link><guid>https://shangshui0302.github.io/en/writing/linux-command-fzf/</guid><description>Turn lists of files, processes, branches, and history entries into interactive selection inputs.</description><category>Development tools</category><category>Linux</category><category>Command line</category></item><item><title>Passing arguments with xargs</title><link>https://shangshui0302.github.io/en/writing/linux-command-xargs/</link><guid>https://shangshui0302.github.io/en/writing/linux-command-xargs/</guid><description>Convert standard input into command arguments while handling delimiters, placeholders, parallelism, and empty input.</description><category>Development tools</category><category>Linux</category><category>Command line</category></item><item><title>SSH authentication: directories, keys, and TOFU</title><link>https://shangshui0302.github.io/en/writing/ssh-authentication-model/</link><guid>https://shangshui0302.github.io/en/writing/ssh-authentication-model/</guid><description>Distinguish user identity, server identity, and the limits of trust on first use.</description><category>Development tools</category><category>Linux</category><category>SSH</category></item><item><title>ssh-agent, passphrases, and keyrings</title><link>https://shangshui0302.github.io/en/writing/ssh-agent-keyring/</link><guid>https://shangshui0302.github.io/en/writing/ssh-agent-keyring/</guid><description>Understand the separate roles of private-key file protection, the agent signing interface, and desktop keyrings.</description><category>Development tools</category><category>Linux</category><category>SSH</category></item><item><title>SSH usage guide: command-line operations</title><link>https://shangshui0302.github.io/en/writing/ssh-usage-guide/</link><guid>https://shangshui0302.github.io/en/writing/ssh-usage-guide/</guid><description>Generate and manage keys, inspect client configuration, and debug authentication.</description><category>Development tools</category><category>Linux</category><category>SSH</category></item><item><title>Fish: from key bindings to an editable command line</title><link>https://shangshui0302.github.io/en/writing/fish-interactive-workflow/</link><guid>https://shangshui0302.github.io/en/writing/fish-interactive-workflow/</guid><description>Cover Emacs and Vi bindings, completion, abbreviations, PATH, events, and prompt configuration.</description><category>Development tools</category><category>Linux</category><category>Terminal</category><category>Fish</category></item><item><title>Foot: the boundaries of search, selection, and configuration</title><link>https://shangshui0302.github.io/en/writing/foot-terminal-controls/</link><guid>https://shangshui0302.github.io/en/writing/foot-terminal-controls/</guid><description>Distinguish keyboard modes, primary selection, font size, and the configuration lifecycle, with a complete key-binding reference.</description><category>Development tools</category><category>Linux</category><category>Terminal</category><category>Foot</category><category>Wayland</category></item><item><title>Zellij: does the session survive when the window closes?</title><link>https://shangshui0302.github.io/en/writing/zellij-session-lifecycle/</link><guid>https://shangshui0302.github.io/en/writing/zellij-session-lifecycle/</guid><description>Move from panes and tabs to sessions, distinguishing reconnection, layout restoration, and process state.</description><category>Development tools</category><category>Linux</category><category>Terminal</category><category>Zellij</category></item><item><title>Which layers does an input candidate window pass through?</title><link>https://shangshui0302.github.io/en/writing/linux-gui-input-stack/</link><guid>https://shangshui0302.github.io/en/writing/linux-gui-input-stack/</guid><description>Separate the communication and rendering responsibilities of toolkits, windowing protocols, compositors, the shell, and Fcitx5.</description><category>Systems and desktops</category><category>Linux</category><category>Wayland</category><category>Fcitx5</category><category>Desktop environments</category></item><item><title>Hyprland special workspaces: a drawer for your windows</title><link>https://shangshui0302.github.io/en/writing/hyprland-special-workspaces/</link><guid>https://shangshui0302.github.io/en/writing/hyprland-special-workspaces/</guid><description>Separate toggling, launching, and window matching to configure multiple named special workspaces in full.</description><category>Systems and desktops</category><category>Linux</category><category>Wayland</category><category>Hyprland</category><category>Desktop environments</category></item><item><title>Plasma 5: historical notes on desktop customization</title><link>https://shangshui0302.github.io/en/writing/kde-plasma5-notes/</link><guid>https://shangshui0302.github.io/en/writing/kde-plasma5-notes/</guid><description>Preserve the original configuration and tool references while clarifying older-version issues, session differences, and plugin compatibility.</description><category>Systems and desktops</category><category>Linux</category><category>Desktop environments</category><category>KDE Plasma</category><category>Wayland</category></item><item><title>Plasma 6: moving from X11 habits to Wayland</title><link>https://shangshui0302.github.io/en/writing/kde-plasma6-migration/</link><guid>https://shangshui0302.github.io/en/writing/kde-plasma6-migration/</guid><description>Preserve the original configuration and tool references while clarifying older-version issues, session differences, and plugin compatibility.</description><category>Systems and desktops</category><category>Linux</category><category>Desktop environments</category><category>KDE Plasma</category><category>Wayland</category></item><item><title>Arch Linux philosophy and installation planning</title><link>https://shangshui0302.github.io/en/writing/arch-philosophy-installation/</link><guid>https://shangshui0302.github.io/en/writing/arch-philosophy-installation/</guid><description>Understand pre-installation choices through rolling releases, boot modes, and storage planning.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category></item><item><title>Kernel management, systemd-boot, and UKIs</title><link>https://shangshui0302.github.io/en/writing/arch-kernel-uki/</link><guid>https://shangshui0302.github.io/en/writing/arch-kernel-uki/</guid><description>Combine the kernel, initramfs, and command line into a UKI, and understand the limits of signing and TPM measurement.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>Boot and startup</category></item><item><title>Pacman hooks, the AUR, and build security</title><link>https://shangshui0302.github.io/en/writing/arch-package-aur/</link><guid>https://shangshui0302.github.io/en/writing/arch-package-aur/</guid><description>Distinguish the roles of official repositories, AUR build scripts, and isolated environments in package-management automation.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>Package management</category></item><item><title>Btrfs subvolume layouts and Snapper snapshots</title><link>https://shangshui0302.github.io/en/writing/arch-btrfs-snapper/</link><guid>https://shangshui0302.github.io/en/writing/arch-btrfs-snapper/</guid><description>Define separate state boundaries for the system, user data, and logs, then configure a recoverable snapshot workflow.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>Filesystems</category></item><item><title>Hardening with LUKS2, Secure Boot, and TPM2</title><link>https://shangshui0302.github.io/en/writing/arch-security-hardening/</link><guid>https://shangshui0302.github.io/en/writing/arch-security-hardening/</guid><description>Combine disk encryption, boot verification, and runtime access control while retaining a recovery route for each layer.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>Security</category></item><item><title>Performance choices and an everyday maintenance checklist</title><link>https://shangshui0302.github.io/en/writing/arch-performance-maintenance/</link><guid>https://shangshui0302.github.io/en/writing/arch-performance-maintenance/</guid><description>Use measurements to choose kernels, compressed swap, and power management, and establish checks after rolling updates.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category></item><item><title>Common Pacman commands and how to remember their flags</title><link>https://shangshui0302.github.io/en/writing/arch-pacman-commands/</link><guid>https://shangshui0302.github.io/en/writing/arch-pacman-commands/</guid><description>Use the S, Q, R, and U operation groups to distinguish repository queries, local queries, removal, and local package installation.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>Package management</category></item><item><title>Diagnosing slow Pacman downloads and choosing mirrors</title><link>https://shangshui0302.github.io/en/writing/arch-pacman-download/</link><guid>https://shangshui0302.github.io/en/writing/arch-pacman-download/</guid><description>Locate download bottlenecks step by step through networking, mirror status, and parallel downloads.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>Package management</category></item><item><title>informant: Arch news and Pacman hooks</title><link>https://shangshui0302.github.io/en/writing/arch-informant-hook/</link><guid>https://shangshui0302.github.io/en/writing/arch-informant-hook/</guid><description>Flag unread Arch news before installation or upgrade transactions, with separate entry points for reading and configuration.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>Package management</category></item><item><title>Arch Linux with Btrfs: manual installation and archinstall</title><link>https://shangshui0302.github.io/en/writing/arch-gnome-install/</link><guid>https://shangshui0302.github.io/en/writing/arch-gnome-install/</guid><description>Work through UEFI, Btrfs subvolumes, the base system, GRUB, and the archinstall installation process.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>GNOME desktop</category></item><item><title>Configuring GNOME, input methods, and snapshots</title><link>https://shangshui0302.github.io/en/writing/arch-gnome-desktop/</link><guid>https://shangshui0302.github.io/en/writing/arch-gnome-desktop/</guid><description>Progress from desktop components and graphics and audio drivers to applications, input methods, shortcuts, and snapshots.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>GNOME desktop</category></item><item><title>GNOME laptop management and desktop customization</title><link>https://shangshui0302.github.io/en/writing/arch-gnome-laptop-theme/</link><guid>https://shangshui0302.github.io/en/writing/arch-gnome-laptop-theme/</guid><description>Configure hybrid graphics, power, and hibernation, then adjust GNOME, Zsh, and terminal appearance.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>GNOME desktop</category></item><item><title>KVM, GPU passthrough, and gaming on Arch Linux</title><link>https://shangshui0302.github.io/en/writing/arch-gnome-virtualization-games/</link><guid>https://shangshui0302.github.io/en/writing/arch-gnome-virtualization-games/</guid><description>Set up virtual machines and device passthrough, and distinguish the runtime boundaries of Steam, Wine, and Waydroid.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>GNOME desktop</category></item><item><title>Swap, kernels, and troubleshooting on an Arch desktop</title><link>https://shangshui0302.github.io/en/writing/arch-gnome-maintenance/</link><guid>https://shangshui0302.github.io/en/writing/arch-gnome-maintenance/</guid><description>Retain full operational details for compressed swap, kernel switching, system cleanup, and common desktop problems.</description><category>Systems and desktops</category><category>Linux</category><category>Arch Linux</category><category>GNOME desktop</category></item><item><title>Validating NixOS configuration with QEMU</title><link>https://shangshui0302.github.io/en/writing/nix-deploy-virtual-machines/</link><guid>https://shangshui0302.github.io/en/writing/nix-deploy-virtual-machines/</guid><description>From a minimal configuration to GNOME and Sway, distinguish VM declarations from persistent disk state.</description><category>Development tools</category><category>Linux</category><category>NixOS</category><category>Virtualization and deployment</category></item><item><title>Building a bootable NixOS ISO</title><link>https://shangshui0302.github.io/en/writing/nix-deploy-build-iso/</link><guid>https://shangshui0302.github.io/en/writing/nix-deploy-build-iso/</guid><description>Customize software, graphical desktops, and bootable images through installation-media modules.</description><category>Development tools</category><category>Linux</category><category>NixOS</category><category>Virtualization and deployment</category></item><item><title>Building and running container images with dockerTools</title><link>https://shangshui0302.github.io/en/writing/nix-deploy-docker-images/</link><guid>https://shangshui0302.github.io/en/writing/nix-deploy-docker-images/</guid><description>Manage application derivations, runtime closures, and container data state separately.</description><category>Containers and infrastructure</category><category>Linux</category><category>NixOS</category><category>Virtualization and deployment</category></item><item><title>Deploying NixOS over SSH</title><link>https://shangshui0302.github.io/en/writing/nix-deploy-ssh-deployment/</link><guid>https://shangshui0302.github.io/en/writing/nix-deploy-ssh-deployment/</guid><description>Distinguish local builds, temporary remote activation, persistent switching, and failure rollback.</description><category>Development tools</category><category>Linux</category><category>NixOS</category><category>Virtualization and deployment</category></item><item><title>Dividing deployment responsibilities between Terraform and NixOS</title><link>https://shangshui0302.github.io/en/writing/nix-deploy-terraform/</link><guid>https://shangshui0302.github.io/en/writing/nix-deploy-terraform/</guid><description>Manage cloud resources with Terraform, then deploy NixOS system configuration through a controlled process.</description><category>Development tools</category><category>Linux</category><category>NixOS</category><category>Virtualization and deployment</category></item><item><title>Designing layered desktop and development environments</title><link>https://shangshui0302.github.io/en/writing/nix-deploy-environment-isolation/</link><guid>https://shangshui0302.github.io/en/writing/nix-deploy-environment-isolation/</guid><description>Choose between the host, Flatpak, Distrobox, virtual machines, and servers based on dependency and permission boundaries.</description><category>Containers and infrastructure</category><category>Linux</category><category>NixOS</category><category>Virtualization and deployment</category></item><item><title>Declarative GNOME desktop management</title><link>https://shangshui0302.github.io/en/writing/nix-gnome-declarative-management/</link><guid>https://shangshui0302.github.io/en/writing/nix-gnome-declarative-management/</guid><description>Organize desktop, login, theme, and input-method configuration responsibilities into module groups.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category><category>GNOME desktop</category></item><item><title>GNOME module options reference</title><link>https://shangshui0302.github.io/en/writing/nix-gnome-module-options/</link><guid>https://shangshui0302.github.io/en/writing/nix-gnome-module-options/</guid><description>Trace module source code to clarify desktop entry points, service switches, application groups, and exclusion mechanisms.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category><category>GNOME desktop</category></item><item><title>Managing GSettings defaults and dconf state</title><link>https://shangshui0302.github.io/en/writing/nix-gnome-gsettings-dconf/</link><guid>https://shangshui0302.github.io/en/writing/nix-gnome-gsettings-dconf/</guid><description>Distinguish schema defaults, vendor overrides, and the user database to choose the right declarative interface.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category><category>GNOME desktop</category></item><item><title>From settings diffs to declarations and extensions</title><link>https://shangshui0302.github.io/en/writing/nix-gnome-diff-export-extensions/</link><guid>https://shangshui0302.github.io/en/writing/nix-gnome-diff-export-extensions/</guid><description>Export differences, verify schema keys and types, then declare packages and the enabled-extension list.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category><category>GNOME desktop</category></item><item><title>Building GNOME variants with Specialisation</title><link>https://shangshui0302.github.io/en/writing/nix-gnome-specialisation/</link><guid>https://shangshui0302.github.io/en/writing/nix-gnome-specialisation/</guid><description>Derive independent system toplevels from the parent module graph, with clear inheritance, override, and recovery paths.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category><category>GNOME desktop</category></item><item><title>kmscon and uwsm in Wayland sessions</title><link>https://shangshui0302.github.io/en/writing/nix-gnome-wayland-session/</link><guid>https://shangshui0302.github.io/en/writing/nix-gnome-wayland-session/</guid><description>Investigate the lifecycles of DRM handoff, systemd user sessions, and XDG autostart separately.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category><category>GNOME desktop</category></item><item><title>nix-ld: precompiled ELF binaries, loaders, and library paths</title><link>https://shangshui0302.github.io/en/writing/nix-ld-precompiled/</link><guid>https://shangshui0302.github.io/en/writing/nix-ld-precompiled/</guid><description>Start with an existing file that reports ENOENT, then connect ELF diagnostics, packaging fixes, and nix-ld configuration step by step.</description><category>Development tools</category><category>Linux</category><category>NixOS</category></item><item><title>Progressing from nix-shell to devShell and direnv</title><link>https://shangshui0302.github.io/en/writing/nix-ecosystem-direnv/</link><guid>https://shangshui0302.github.io/en/writing/nix-ecosystem-direnv/</guid><description>Separate temporary tools, locked project environments, and automatic directory loading into three clear steps.</description><category>Development tools</category><category>Linux</category><category>NixOS</category></item><item><title>Overlays, override, and overrideAttrs</title><link>https://shangshui0302.github.io/en/writing/nix-ecosystem-overlays/</link><guid>https://shangshui0302.github.io/en/writing/nix-ecosystem-overlays/</guid><description>Adjust arguments and add patches to existing package definitions, then make the system actually consume the overlay.</description><category>Development tools</category><category>Linux</category><category>NixOS</category></item><item><title>Garbage collection, store optimization, and rollback generations</title><link>https://shangshui0302.github.io/en/writing/nix-ecosystem-gc-rollback/</link><guid>https://shangshui0302.github.io/en/writing/nix-ecosystem-gc-rollback/</guid><description>Distinguish deleting generation references, reclaiming store objects, and switching to older system configurations.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>Colmena: building, transferring, and activating multiple nodes</title><link>https://shangshui0302.github.io/en/writing/nix-ecosystem-colmena/</link><guid>https://shangshui0302.github.io/en/writing/nix-ecosystem-colmena/</guid><description>Organize node configurations with a hive and clarify the boundary between local builds and remote application.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>NixOS on Raspberry Pi: images, hardware, and services</title><link>https://shangshui0302.github.io/en/writing/nix-ecosystem-raspberry-pi/</link><guid>https://shangshui0302.github.io/en/writing/nix-ecosystem-raspberry-pi/</guid><description>Move from SD images and first boot to board interfaces, common services, and maintenance on low-memory devices.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>NixOS configuration organization, maintenance, and troubleshooting</title><link>https://shangshui0302.github.io/en/writing/nix-ecosystem-best-practices/</link><guid>https://shangshui0302.github.io/en/writing/nix-ecosystem-best-practices/</guid><description>Retain a complete working checklist for version control, module organization, update backups, secure development, and failure recovery.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>Nix development environments: languages, databases, and full-stack examples</title><link>https://shangshui0302.github.io/en/writing/nix-ecosystem-development-environments/</link><guid>https://shangshui0302.github.io/en/writing/nix-ecosystem-development-environments/</guid><description>Retain complete configurations for Python, Node, Rust, Go, Java, C/C++, Haskell, databases, and Justfile.</description><category>Development tools</category><category>Linux</category><category>NixOS</category></item><item><title>Dependency boundaries in Python, uv, and Matplotlib/Qt</title><link>https://shangshui0302.github.io/en/writing/nix-ecosystem-python-qt/</link><guid>https://shangshui0302.github.io/en/writing/nix-ecosystem-python-qt/</guid><description>Trace Python packages, system libraries, and plugin paths through Qt5Agg and PyPI wheel troubleshooting examples.</description><category>Development tools</category><category>Linux</category><category>NixOS</category></item><item><title>Nix commands explained: builds, environments, profiles, and systems</title><link>https://shangshui0302.github.io/en/writing/nix-ecosystem-command-reference/</link><guid>https://shangshui0302.github.io/en/writing/nix-ecosystem-command-reference/</guid><description>Retain new and legacy CLI commands, store operations, system installation, and Home Manager commands while clarifying easily confused flags.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>nh: a unified workflow for Nix systems, users, and cleanup</title><link>https://shangshui0302.github.io/en/writing/nix-ecosystem-nh/</link><guid>https://shangshui0302.github.io/en/writing/nix-ecosystem-nh/</guid><description>Cover nh commands, module options, specialisations, search, environment variables, and upstream contribution guidance.</description><category>Systems and desktops</category><category>Linux</category><category>NixOS</category></item><item><title>A NixOS learning roadmap: foundations, Flakes, user configuration, and beyond</title><link>https://shangshui0302.github.io/en/writing/nix-ecosystem-learning-roadmap/</link><guid>https://shangshui0302.github.io/en/writing/nix-ecosystem-learning-roadmap/</guid><description>Retain six learning modules, language ecosystems, and advanced resources, with clear prerequisites and progression.</description><category>Development tools</category><category>Linux</category><category>NixOS</category></item><item><title>Git's underlying model: objects, snapshots, and references</title><link>https://shangshui0302.github.io/en/writing/git-model/</link><guid>https://shangshui0302.github.io/en/writing/git-model/</guid><description>Use snapshots, the object database, and references to understand what Git operations change.</description><category>Development tools</category><category>Git</category><category>Version control</category></item><item><title>Git branches: merging, conflicts, and saving work in progress</title><link>https://shangshui0302.github.io/en/writing/git-branching/</link><guid>https://shangshui0302.github.io/en/writing/git-branching/</guid><description>Understand fast-forward and three-way merges, and use stash to manage unfinished work.</description><category>Development tools</category><category>Git</category><category>Version control</category></item><item><title>Remote collaboration with Git: fetching, tracking, and two remotes</title><link>https://shangshui0302.github.io/en/writing/git-remotes/</link><guid>https://shangshui0302.github.io/en/writing/git-remotes/</guid><description>Distinguish refreshing references, updating local branches, and pushing to a fork.</description><category>Development tools</category><category>Git</category><category>Version control</category></item><item><title>Advanced Git: rebasing, cherry-picking, and bisecting</title><link>https://shangshui0302.github.io/en/writing/git-advanced-tools/</link><guid>https://shangshui0302.github.io/en/writing/git-advanced-tools/</guid><description>Use rebase, cherry-pick, reflog, and bisect after understanding the boundaries of history rewriting.</description><category>Development tools</category><category>Git</category><category>Version control</category></item><item><title>A Git scenario handbook: correcting, undoing, and recovering</title><link>https://shangshui0302.github.io/en/writing/git-recovery/</link><guid>https://shangshui0302.github.io/en/writing/git-recovery/</guid><description>Choose a recovery path based on the current operation and what data has been saved, without compounding data loss.</description><category>Development tools</category><category>Git</category><category>Version control</category></item><item><title>sops principles: hybrid encryption and recipients</title><link>https://shangshui0302.github.io/en/writing/sops-principles/</link><guid>https://shangshui0302.github.io/en/writing/sops-principles/</guid><description>Understand the boundaries of encrypted version control, data keys, and authorization for multiple recipients.</description><category>Development tools</category><category>Security</category><category>SOPS</category></item><item><title>sops-nix integration: runtime, ordering, and SSH host keys</title><link>https://shangshui0302.github.io/en/writing/sops-nixos-integration/</link><guid>https://shangshui0302.github.io/en/writing/sops-nixos-integration/</guid><description>Connect encrypted source files, runtime secret files, and service dependencies.</description><category>Development tools</category><category>Security</category><category>SOPS</category><category>NixOS</category></item><item><title>sops usage guide: command-line operations</title><link>https://shangshui0302.github.io/en/writing/sops-cli-workflow/</link><guid>https://shangshui0302.github.io/en/writing/sops-cli-workflow/</guid><description>Edit encrypted files, inspect their status, and manage recipients and data keys.</description><category>Development tools</category><category>Security</category><category>SOPS</category></item><item><title>sops configuration templates and runtime rendering</title><link>https://shangshui0302.github.io/en/writing/sops-configuration-templates/</link><guid>https://shangshui0302.github.io/en/writing/sops-configuration-templates/</guid><description>Understand encryption rules, sops-nix configuration, and runtime placeholders field by field.</description><category>Development tools</category><category>Security</category><category>SOPS</category><category>NixOS</category></item><item><title>sops key migration and rotation</title><link>https://shangshui0302.github.io/en/writing/sops-key-migration-rotation/</link><guid>https://shangshui0302.github.io/en/writing/sops-key-migration-rotation/</guid><description>Migrate keys through a two-recipient transition, distinguishing authorization updates from credential revocation.</description><category>Development tools</category><category>Security</category><category>SOPS</category><category>NixOS</category></item><item><title>GitHub basics</title><link>https://shangshui0302.github.io/en/writing/github-fundamentals/</link><guid>https://shangshui0302.github.io/en/writing/github-fundamentals/</guid><description>Distinguish Git, GitHub, and gh, then work through sign-in, forking, pushing, and creating a PR.</description><category>Development tools</category><category>GitHub</category><category>Git</category><category>Collaboration</category></item><item><title>GitHub repository management</title><link>https://shangshui0302.github.io/en/writing/github-repository-management/</link><guid>https://shangshui0302.github.io/en/writing/github-repository-management/</guid><description>Establish repository documentation, permissions, merge rules, and releases as a verifiable governance contract.</description><category>Development tools</category><category>GitHub</category><category>Repository governance</category><category>Security</category></item><item><title>The GitHub contribution workflow</title><link>https://shangshui0302.github.io/en/writing/github-contribution-workflow/</link><guid>https://shangshui0302.github.io/en/writing/github-contribution-workflow/</guid><description>Move from issues and branches through PR review and checks to synchronization and cleanup after merging.</description><category>Development tools</category><category>GitHub</category><category>Git</category><category>Collaboration</category></item><item><title>The GitHub Actions execution model</title><link>https://shangshui0302.github.io/en/writing/github-actions-fundamentals/</link><guid>https://shangshui0302.github.io/en/writing/github-actions-fundamentals/</guid><description>Understand events, workflows, jobs, runners, and steps, along with the distinct roles of matrices, caches, and artifacts.</description><category>Development tools</category><category>GitHub</category><category>Actions</category><category>Continuous integration</category></item><item><title>Configuring CI with GitHub Actions</title><link>https://shangshui0302.github.io/en/writing/github-actions-ci-configuration/</link><guid>https://shangshui0302.github.io/en/writing/github-actions-ci-configuration/</guid><description>Design CI from local quality checks and connect stable check statuses to repository merge rules.</description><category>Development tools</category><category>GitHub</category><category>Actions</category><category>Continuous integration</category></item><item><title>GitHub Actions security and troubleshooting</title><link>https://shangshui0302.github.io/en/writing/github-actions-security-debugging/</link><guid>https://shangshui0302.github.io/en/writing/github-actions-security-debugging/</guid><description>Locate CI risks and failures across event, permission, credential, runner, and supply-chain boundaries.</description><category>Development tools</category><category>GitHub</category><category>Actions</category><category>Security</category></item><item><title>Nix CI: evaluation, builds, and output contracts</title><link>https://shangshui0302.github.io/en/writing/github-nix-ci-example/</link><guid>https://shangshui0302.github.io/en/writing/github-nix-ci-example/</guid><description>Use a teaching example with six theme outputs to distinguish Nix evaluation, builds, Actions records, and desktop runtime evidence.</description><category>Development tools</category><category>GitHub</category><category>Actions</category><category>Continuous integration</category><category>Nix</category></item><item><title>Docker basics: images, containers, and the daemon</title><link>https://shangshui0302.github.io/en/writing/docker-fundamentals/</link><guid>https://shangshui0302.github.io/en/writing/docker-fundamentals/</guid><description>Understand container startup through the client, API, containerd, and OCI runtime.</description><category>Containers and infrastructure</category><category>Containers</category><category>Docker</category></item><item><title>The Docker command line: images, containers, volumes, and networks</title><link>https://shangshui0302.github.io/en/writing/docker-basic-usage/</link><guid>https://shangshui0302.github.io/en/writing/docker-basic-usage/</guid><description>Learn common flags and distinguish the effects of running, stopping, and deleting resources.</description><category>Containers and infrastructure</category><category>Containers</category><category>Docker</category></item><item><title>Dockerfiles and image builds</title><link>https://shangshui0302.github.io/en/writing/docker-build/</link><guid>https://shangshui0302.github.io/en/writing/docker-build/</guid><description>Organize image recipes around entry commands, multi-stage builds, and cache optimization.</description><category>Containers and infrastructure</category><category>Containers</category><category>Docker</category></item><item><title>Compose: defining multi-service applications</title><link>https://shangshui0302.github.io/en/writing/docker-compose/</link><guid>https://shangshui0302.github.io/en/writing/docker-compose/</guid><description>Manage single-host applications with services, dependencies, profiles, watch, and secrets.</description><category>Containers and infrastructure</category><category>Containers</category><category>Docker</category></item><item><title>Docker networking and storage</title><link>https://shangshui0302.github.io/en/writing/docker-networking-storage/</link><guid>https://shangshui0302.github.io/en/writing/docker-networking-storage/</guid><description>Choose network modes and persistence methods, with clear port-exposure and data-lifecycle boundaries.</description><category>Containers and infrastructure</category><category>Containers</category><category>Docker</category></item><item><title>Docker in production: resources, security, and recovery</title><link>https://shangshui0302.github.io/en/writing/docker-production/</link><guid>https://shangshui0302.github.io/en/writing/docker-production/</guid><description>Check container operating conditions through limits, logs, updates, credentials, and backups.</description><category>Containers and infrastructure</category><category>Containers</category><category>Docker</category></item><item><title>Declaring Docker and containers on NixOS</title><link>https://shangshui0302.github.io/en/writing/docker-nixos-management/</link><guid>https://shangshui0302.github.io/en/writing/docker-nixos-management/</guid><description>Organize engine settings, container definitions, and credential inputs with system modules.</description><category>Containers and infrastructure</category><category>Containers</category><category>Docker</category></item><item><title>Swarm: from service replicas to cluster orchestration</title><link>https://shangshui0302.github.io/en/writing/docker-swarm/</link><guid>https://shangshui0302.github.io/en/writing/docker-swarm/</guid><description>Understand stacks, overlay networks, and rolling updates, and check Compose compatibility boundaries.</description><category>Containers and infrastructure</category><category>Containers</category><category>Docker</category></item><item><title>Docker and Podman: architecture, compatibility, and coexistence</title><link>https://shangshui0302.github.io/en/writing/container-engine-relationship/</link><guid>https://shangshui0302.github.io/en/writing/container-engine-relationship/</guid><description>Compare engine control models, permissions, and ecosystems to choose tools by workload.</description><category>Containers and infrastructure</category><category>Containers</category><category>Docker</category><category>Podman</category></item><item><title>Podman fundamentals</title><link>https://shangshui0302.github.io/en/writing/podman-fundamentals/</link><guid>https://shangshui0302.github.io/en/writing/podman-fundamentals/</guid><description>Understand Podman's architecture and permission model through containers, images, and OCI runtimes.</description><category>Containers and infrastructure</category><category>Podman</category><category>Containers</category></item><item><title>A basic Podman usage guide</title><link>https://shangshui0302.github.io/en/writing/podman-basic-usage/</link><guid>https://shangshui0302.github.io/en/writing/podman-basic-usage/</guid><description>Learn commands for installation, images, containers, volumes, networks, and everyday maintenance.</description><category>Containers and infrastructure</category><category>Podman</category><category>Containers</category></item><item><title>Rootless configuration: mappings, ICMP, and registries</title><link>https://shangshui0302.github.io/en/writing/podman-rootless-configuration/</link><guid>https://shangshui0302.github.io/en/writing/podman-rootless-configuration/</guid><description>Build on the existing permission-boundaries article with administrator configuration and rootless environment requirements.</description><category>Containers and infrastructure</category><category>Podman</category><category>Containers</category></item><item><title>Pods and Kubernetes manifests</title><link>https://shangshui0302.github.io/en/writing/podman-pods-kubernetes/</link><guid>https://shangshui0302.github.io/en/writing/podman-pods-kubernetes/</guid><description>Organize local containers that share networking, and check the scope of Kubernetes manifest imports and exports.</description><category>Containers and infrastructure</category><category>Podman</category><category>Containers</category></item><item><title>Pods and multi-service configuration with Quadlet</title><link>https://shangshui0302.github.io/en/writing/podman-quadlet-multi-service/</link><guid>https://shangshui0302.github.io/en/writing/podman-quadlet-multi-service/</guid><description>Add a complete dependency template for Pod, database, API, and proxy resources.</description><category>Containers and infrastructure</category><category>Podman</category><category>Containers</category></item><item><title>Compose providers and interoperability with Docker tools</title><link>https://shangshui0302.github.io/en/writing/podman-compose-interoperability/</link><guid>https://shangshui0302.github.io/en/writing/podman-compose-interoperability/</guid><description>Separate the responsibilities of Compose implementations, the Podman wrapper, and the compatible API socket.</description><category>Containers and infrastructure</category><category>Podman</category><category>Containers</category></item><item><title>Managing Podman on NixOS</title><link>https://shangshui0302.github.io/en/writing/podman-nixos-management/</link><guid>https://shangshui0302.github.io/en/writing/podman-nixos-management/</guid><description>Declare container runtime environments through system modules, Home Manager, or quadlet-nix.</description><category>Containers and infrastructure</category><category>Podman</category><category>Containers</category><category>NixOS</category></item><item><title>Advanced Podman operations and tuning</title><link>https://shangshui0302.github.io/en/writing/podman-advanced-operations/</link><guid>https://shangshui0302.github.io/en/writing/podman-advanced-operations/</guid><description>Manage resources, health, image toolchains, logs, and storage cleanup.</description><category>Containers and infrastructure</category><category>Podman</category><category>Containers</category></item><item><title>Distrobox fundamentals: userspace and host integration</title><link>https://shangshui0302.github.io/en/writing/distrobox-fundamentals/</link><guid>https://shangshui0302.github.io/en/writing/distrobox-fundamentals/</guid><description>Understand which resources are shared by default and the boundaries provided by rootless operation, images, and containers.</description><category>Containers and infrastructure</category><category>Linux</category><category>Containers</category><category>Distrobox</category></item><item><title>Distrobox installation and backend configuration</title><link>https://shangshui0302.github.io/en/writing/distrobox-installation/</link><guid>https://shangshui0302.github.io/en/writing/distrobox-installation/</guid><description>Build a working container environment layer by layer, from the backend and UID mappings to first entry.</description><category>Containers and infrastructure</category><category>Linux</category><category>Containers</category><category>Distrobox</category></item><item><title>Distrobox image and container lifecycles</title><link>https://shangshui0302.github.io/en/writing/distrobox-lifecycle/</link><guid>https://shangshui0302.github.io/en/writing/distrobox-lifecycle/</guid><description>Use complete commands to manage creation, entry, upgrades, deletion, and temporary userspaces.</description><category>Containers and infrastructure</category><category>Linux</category><category>Containers</category><category>Distrobox</category></item><item><title>Distrobox desktop discovery and background-service integration</title><link>https://shangshui0302.github.io/en/writing/distrobox-integration-workflows/</link><guid>https://shangshui0302.github.io/en/writing/distrobox-integration-workflows/</guid><description>Handle app/bin export verification and the separate lifecycle of init services independently.</description><category>Containers and infrastructure</category><category>Linux</category><category>Containers</category><category>Distrobox</category></item><item><title>Distrobox declarative manifests and advanced workflows</title><link>https://shangshui0302.github.io/en/writing/distrobox-advanced-workflows/</link><guid>https://shangshui0302.github.io/en/writing/distrobox-advanced-workflows/</guid><description>Cover assemble, GPUs, multi-container collaboration, and platform-specific practices while distinguishing manifests from service-management contracts.</description><category>Containers and infrastructure</category><category>Linux</category><category>Containers</category><category>Distrobox</category></item><item><title>Distrobox on NixOS: package environments and host paths</title><link>https://shangshui0302.github.io/en/writing/distrobox-on-nixos/</link><guid>https://shangshui0302.github.io/en/writing/distrobox-on-nixos/</guid><description>Configure a rootless backend on a declarative host and diagnose boundaries between Nix profiles, graphics, and traditional userspaces.</description><category>Containers and infrastructure</category><category>Linux</category><category>Containers</category><category>Distrobox</category><category>NixOS</category></item><item><title>Distrobox backups: images, package lists, and shared data</title><link>https://shangshui0302.github.io/en/writing/distrobox-backup/</link><guid>https://shangshui0302.github.io/en/writing/distrobox-backup/</guid><description>Preserve the guest environment in three complementary ways and clarify separate recovery responsibilities for shared directories and application data.</description><category>Containers and infrastructure</category><category>Linux</category><category>Containers</category><category>Distrobox</category></item><item><title>Distrobox internals: packages, configuration, and command resolution</title><link>https://shangshui0302.github.io/en/writing/distrobox-internals/</link><guid>https://shangshui0302.github.io/en/writing/distrobox-internals/</guid><description>Use real path diagnostics to explain the different origins of same-named tools, shared configuration, and Nix binaries.</description><category>Containers and infrastructure</category><category>Linux</category><category>Containers</category><category>Distrobox</category></item><item><title>The responsibilities of KVM, QEMU, and libvirt</title><link>https://shangshui0302.github.io/en/writing/kvm-fundamentals/</link><guid>https://shangshui0302.github.io/en/writing/kvm-fundamentals/</guid><description>Build a foundation for understanding the management stack, from hardware virtualization and the KVM API to QEMU's device model.</description><category>Containers and infrastructure</category><category>Linux</category><category>KVM</category><category>Virtualization</category></item><item><title>KVM host installation, permissions, and network preparation</title><link>https://shangshui0302.github.io/en/writing/kvm-installation/</link><guid>https://shangshui0302.github.io/en/writing/kvm-installation/</guid><description>Check host capabilities, distribution components, management authorization, and the actual default-network state one by one.</description><category>Containers and infrastructure</category><category>Linux</category><category>KVM</category><category>Virtualization</category></item><item><title>Managing domains, storage, networks, and recovery with virsh</title><link>https://shangshui0302.github.io/en/writing/kvm-libvirt-virsh/</link><guid>https://shangshui0302.github.io/en/writing/kvm-libvirt-virsh/</guid><description>Retain command categories and XML parameters while distinguishing persistent definitions, running instances, snapshots, and offline backups.</description><category>Containers and infrastructure</category><category>Linux</category><category>KVM</category><category>Virtualization</category></item><item><title>virt-manager: VM creation, hardware panels, and remote control</title><link>https://shangshui0302.github.io/en/writing/kvm-virt-manager/</link><guid>https://shangshui0302.github.io/en/writing/kvm-virt-manager/</guid><description>Map the GUI creation wizard, device settings, and remote display to actual domain configuration and authentication requirements.</description><category>Containers and infrastructure</category><category>Linux</category><category>KVM</category><category>Virtualization</category></item><item><title>KVM firmware, VFIO, virtiofs, and image chains</title><link>https://shangshui0302.github.io/en/writing/kvm-advanced-features/</link><guid>https://shangshui0302.github.io/en/writing/kvm-advanced-features/</guid><description>Explain advanced parameters and document compatibility and recovery requirements for passthrough, image changes, and shared directories.</description><category>Containers and infrastructure</category><category>Linux</category><category>KVM</category><category>Virtualization</category></item><item><title>Declaring KVM host capabilities on NixOS</title><link>https://shangshui0302.github.io/en/writing/kvm-nixos-host/</link><guid>https://shangshui0302.github.io/en/writing/kvm-nixos-host/</guid><description>Configure libvirt through version-pinned module interfaces while managing networking, firmware, and VM runtime state outside the configuration.</description><category>Containers and infrastructure</category><category>Linux</category><category>KVM</category><category>Virtualization</category><category>NixOS</category></item><item><title>Choosing KVM management and automation tools</title><link>https://shangshui0302.github.io/en/writing/kvm-frontends/</link><guid>https://shangshui0302.github.io/en/writing/kvm-frontends/</guid><description>Compare desktop, web, and automation tools, distinguishing libvirt frontends, independent platforms, and offline image building.</description><category>Containers and infrastructure</category><category>Linux</category><category>KVM</category><category>Virtualization</category></item><item><title>Waydroid architecture: LXC, Binder, and session bridging</title><link>https://shangshui0302.github.io/en/writing/waydroid-architecture/</link><guid>https://shangshui0302.github.io/en/writing/waydroid-architecture/</guid><description>Understand Waydroid through container management, user sessions, and Android services.</description><category>Containers and infrastructure</category><category>Linux</category><category>Waydroid</category><category>Containers</category></item><item><title>Waydroid installation and basic setup</title><link>https://shangshui0302.github.io/en/writing/waydroid-installation/</link><guid>https://shangshui0302.github.io/en/writing/waydroid-installation/</guid><description>Check Wayland, kernel, and graphics requirements, then install images and verify startup layer by layer.</description><category>Containers and infrastructure</category><category>Linux</category><category>Waydroid</category><category>Containers</category></item><item><title>Waydroid integration on NixOS</title><link>https://shangshui0302.github.io/en/writing/waydroid-nixos/</link><guid>https://shangshui0302.github.io/en/writing/waydroid-nixos/</guid><description>Use actual module source code to distinguish system declarations, Android images, and user runtime state.</description><category>Containers and infrastructure</category><category>Linux</category><category>Waydroid</category><category>Containers</category></item><item><title>Waydroid GPU detection and hardware acceleration</title><link>https://shangshui0302.github.io/en/writing/waydroid-gpu/</link><guid>https://shangshui0302.github.io/en/writing/waydroid-gpu/</guid><description>Diagnose rendering issues through DRM nodes, Android graphics properties, and compositor interactions.</description><category>Containers and infrastructure</category><category>Linux</category><category>Waydroid</category><category>Containers</category></item><item><title>Waydroid bridges, NAT, and security boundaries</title><link>https://shangshui0302.github.io/en/writing/waydroid-network-security/</link><guid>https://shangshui0302.github.io/en/writing/waydroid-network-security/</guid><description>Troubleshoot container networking step by step through veth, bridges, DHCP, DNS, and firewalls.</description><category>Containers and infrastructure</category><category>Linux</category><category>Waydroid</category><category>Containers</category></item><item><title>Waydroid properties, multi-window mode, and ARM translation</title><link>https://shangshui0302.github.io/en/writing/waydroid-configuration/</link><guid>https://shangshui0302.github.io/en/writing/waydroid-configuration/</guid><description>Adjust windows, input, and translation to application needs while keeping configuration records that allow rollback.</description><category>Containers and infrastructure</category><category>Linux</category><category>Waydroid</category><category>Containers</category></item><item><title>Waydroid troubleshooting and FAQ</title><link>https://shangshui0302.github.io/en/writing/waydroid-troubleshooting/</link><guid>https://shangshui0302.github.io/en/writing/waydroid-troubleshooting/</guid><description>Locate failures using evidence from the kernel, container, network, graphics, and application layers.</description><category>Containers and infrastructure</category><category>Linux</category><category>Waydroid</category><category>Containers</category></item><item><title>Waydroid tips: windows, translation, and shared directories</title><link>https://shangshui0302.github.io/en/writing/waydroid-practical-tips/</link><guid>https://shangshui0302.github.io/en/writing/waydroid-practical-tips/</guid><description>Retain Ivon's practical tips and operational details, with notes on historical versions and compatibility boundaries.</description><category>Containers and infrastructure</category><category>Linux</category><category>Waydroid</category><category>Containers</category></item><item><title>Wine: the compatibility layer and prefixes</title><link>https://shangshui0302.github.io/en/writing/wine-fundamentals/</link><guid>https://shangshui0302.github.io/en/writing/wine-fundamentals/</guid><description>Understand Wine's DLLs, prefixes, configuration, and runtime boundaries through Windows API compatibility.</description><category>Development tools</category><category>Wine</category><category>Linux</category><category>Compatibility layers</category></item><item><title>Proton: the gaming runtime</title><link>https://shangshui0302.github.io/en/writing/wine-proton-gaming/</link><guid>https://shangshui0302.github.io/en/writing/wine-proton-gaming/</guid><description>Distinguish Steam, official Proton, GE, and umu, and manage runners and prefixes per game.</description><category>Development tools</category><category>Proton</category><category>Gaming</category><category>Wine</category></item><item><title>Bottles: runners and application environments</title><link>https://shangshui0302.github.io/en/writing/wine-bottles-manager/</link><guid>https://shangshui0302.github.io/en/writing/wine-bottles-manager/</guid><description>Maintain dependencies, prefixes, and restore points through the manager while checking actual Flatpak permissions.</description><category>Development tools</category><category>Bottles</category><category>Flatpak</category><category>Wine</category></item><item><title>The relationship between Wine, Proton, and Bottles</title><link>https://shangshui0302.github.io/en/writing/wine-proton-bottles-relationships/</link><guid>https://shangshui0302.github.io/en/writing/wine-proton-bottles-relationships/</guid><description>Use the technical lineage, layered model, and scenario matrix to distinguish the responsibilities of compatibility engines and managers.</description><category>Development tools</category><category>Wine</category><category>Proton</category><category>Bottles</category></item><item><title>Wine and gaming environments on NixOS</title><link>https://shangshui0302.github.io/en/writing/wine-nixos-management/</link><guid>https://shangshui0302.github.io/en/writing/wine-nixos-management/</guid><description>Manage pinned software, Steam tool registration, Flatpak runtimes, and mutable prefixes as separate layers.</description><category>Development tools</category><category>NixOS</category><category>Wine</category><category>Gaming</category></item><item><title>Troubleshooting Wine and Proton</title><link>https://shangshui0302.github.io/en/writing/wine-proton-troubleshooting/</link><guid>https://shangshui0302.github.io/en/writing/wine-proton-troubleshooting/</guid><description>Build a verifiable diagnostic process across the graphics stack, prefixes, media, audio, and logs.</description><category>Development tools</category><category>Wine</category><category>Proton</category><category>Troubleshooting</category></item><item><title>Wine and Proton configuration boundaries</title><link>https://shangshui0302.github.io/en/writing/wine-advanced-configuration/</link><guid>https://shangshui0302.github.io/en/writing/wine-advanced-configuration/</guid><description>Use environment variables, DLLs, the registry, multiple GPUs, HDR, and performance parameters according to component and version.</description><category>Development tools</category><category>Wine</category><category>Proton</category><category>Configuration</category></item><item><title>umu, Wine and Proton: understanding compatibility tools and choosing Bottles runners</title><link>https://shangshui0302.github.io/en/writing/umu-wine-proton-runners/</link><guid>https://shangshui0302.github.io/en/writing/umu-wine-proton-runners/</guid><description>From running Proton outside Steam to choosing Soda, ProtoSoda, GE-Proton and other runners.</description><category>Development tools</category><category>Wine</category><category>Proton</category><category>Bottles</category><category>Gaming</category><category>NixOS</category><category>Compatibility layers</category></item></channel></rss>