Files
nixos-4screen/docs/02_software_migration_plan.md

5.4 KiB

Phase 2: Software Migration Plan & Mapping

Objective: To create a clear mapping from currently installed software (via APT and Snap) to their equivalents in the NixOS ecosystem. This list will directly inform the creation of the configuration.nix file.

Analysis Summary

The reconnaissance scan revealed a large number of installed packages. The following is a high-level summary and a plan for the most critical software components identified.

Instructions: Review this list. Add any missing critical applications. The "NixOS Package Name" column should be filled in by searching for the application on NixOS Search.


Tier 1: Critical Applications & Services

These are essential for your daily workflow and server functions.

Application Name Installed Via Notes NixOS Package Name / Module
Docker apt Core virtualization tool. virtualisation.docker.enable = true;
Docker Compose apt Used for multi-container Docker apps. docker-compose
Firefox snap Primary web browser. firefox
Thunderbird snap Email client. thunderbird
Kitty apt Terminal emulator. kitty
Neovim (from dotfiles) Manual/Git Primary text editor. neovim
Snapcast (Server/Client) apt? Need to locate config files (/etc/snap*). snapcast-server, snapcast-client
Gitea (mentioned) Docker/Manual Git service. gitea or managed via Docker
Nushell snap Shell. nushell
--- --- --- ---

Tier 2: Development & CLI Tools

Essential tools for your development and command-line environment.

Tool Name Installed Via Notes NixOS Package Name
Git apt Version control. git
Rust (cargo, rustc) apt Rust programming language toolchain. rustc, cargo
Node.js apt JavaScript runtime. nodejs (specify version)
Python 3 apt Python programming language. python3
build-essential / gcc apt C/C++ compiler and core build tools. gcc, gnumake
btop apt Resource monitor. btop
eza / bat / fzf apt Modern CLI tools. eza, bat, fzf
--- --- --- ---

Tier 3: Desktop & GUI Applications

Standard desktop applications.

Application Name Installed Via Notes NixOS Package Name
LibreOffice apt Office suite. libreoffice
Flameshot apt Screenshot tool. flameshot
GIMP / Inkscape (if any) apt? Graphics editors. gimp, inkscape
GNOME Apps (various) apt Calculator, Clocks, etc. Handled by services.xserver.desktopManager.gnome.enable = true;
--- --- --- ---

Plan for Other Packages

  • System Libraries: The vast majority of packages listed in the log are system libraries (files ending in ...:amd64, ...-dev, lib...). These will be managed automatically by NixOS as dependencies for the applications you choose to install. You do not need to list them manually.
  • Snap Packages: All applications installed via snap will need to be replaced with their NixOS/Flathub equivalents. NixOS does not support Snap out of the box.
  • De-duplication: Many packages are related (e.g., g++, gcc, cpp). In NixOS, installing the gcc package will provide the necessary toolchain.

Next Step: Use this document as a worksheet to build the environment.systemPackages list in the configuration.nix.template file.