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
snapwill 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 thegccpackage 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.