66 lines
5.4 KiB
Markdown
66 lines
5.4 KiB
Markdown
# 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](https://search.nixos.org/packages).
|
|
|
|
---
|
|
|
|
### 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.
|