Skip to content

Repository files navigation

Windows To Linux Migration

Windows To Linux Migration logo

Definition-driven Python tooling for planning a Windows user-profile migration onto Linux.

Features

  • Inventory standard user folders like Desktop, Documents, Downloads, Pictures, Music, and Videos
  • Detect cross-platform app config for migrating.
  • Identify Steam games.
  • Resolve likely Linux targets using host-aware rules
  • Generate dry-run plans and reports
  • Apply selected migrations with conflict backups

Architecture

The scanner is driven by JSON migration definitions.

  • Built-in definitions live under migration_definitions/builtin
  • The shared schema lives at migration_definitions/schema-v1.json
  • Custom definition folders can be layered in with --definitions-dir
  • The engine handles definition loading, validation, scanning, target resolution, and reporting

Most migrations should be declarative. Python handlers are reserved for edge cases that are too complex to express safely in JSON alone.

Built-In Coverage

Current built-in definitions include:

  • Standard document folders
  • Steam local state
  • Steam games
  • VLC
  • LibreOffice
  • Firefox
  • OBS Studio
  • Audacity
  • GIMP

Usage

Launch the wizard:

PYTHONPATH=src .venv/bin/python -m win2linux_migrator.cli wizard

CLI

Text output:

PYTHONPATH=src .venv/bin/python -m win2linux_migrator.cli scan   --source "/media/stellaris/58A615CFA615AE8E/Users/stellaris"

JSON output:

PYTHONPATH=src .venv/bin/python -m win2linux_migrator.cli scan   --source "/media/stellaris/58A615CFA615AE8E/Users/stellaris"   --json

With custom definitions:

PYTHONPATH=src .venv/bin/python -m win2linux_migrator.cli scan   --source "/media/stellaris/58A615CFA615AE8E/Users/stellaris"   --definitions-dir "./my-migrations"

Dry-run plan:

PYTHONPATH=src .venv/bin/python -m win2linux_migrator.cli plan   --source "/media/stellaris/58A615CFA615AE8E/Users/stellaris"

Apply selected items:

PYTHONPATH=src .venv/bin/python -m win2linux_migrator.cli apply   --source "/media/stellaris/58A615CFA615AE8E/Users/stellaris"   --definition vlc   --definition libreoffice

About

A program to assist migrating Windows user settings and program data to Linux

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages