68 lines
5.6 KiB
Markdown
68 lines
5.6 KiB
Markdown
# Phase 2: Software Migration Plan & Mapping (Filled)
|
|
|
|
**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 following tables are based on the `logs/01_system_recon.log` file.
|
|
|
|
---
|
|
|
|
### Tier 1: Critical Applications & Services
|
|
|
|
These are essential for your daily workflow and server functions.
|
|
|
|
| Application Name | Installed Via | Notes | NixOS Package Name / Module |
|
|
| ----------------------- | ------------- | ----------------------------------------------- | -------------------------------- |
|
|
| Firefox | `snap` | Primary web browser. | `firefox` |
|
|
| Thunderbird | `snap` | Email client. | `thunderbird` |
|
|
| Kitty | `apt` | Terminal emulator. | `kitty` |
|
|
| Neovim | `apt` | Primary text editor. | `neovim` |
|
|
| Nushell | `snap` | Shell. | `nushell` |
|
|
| VS Code | `snap` | Code editor. | `vscode` |
|
|
| Telegram Desktop | `snap` | Messaging app. | `telegram-desktop` |
|
|
| --- | --- | --- | --- |
|
|
|
|
|
|
### 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 | `apt` | Modern `ls` replacement. | `eza` |
|
|
| bat | `apt` | Modern `cat` replacement. | `bat` |
|
|
| fzf | `apt` | Command-line fuzzy finder. | `fzf` |
|
|
| ripgrep | `apt` | Fast search tool. | `ripgrep` |
|
|
| zoxide | `apt` | Smarter `cd` command. | `zoxide` |
|
|
| --- | --- | --- | --- |
|
|
|
|
|
|
### 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` |
|
|
| VLC | `apt` | Media player. | `vlc` |
|
|
| Spotify | `snap` | Music player. | `spotify` |
|
|
| Timeshift | `apt` | System restore utility. | `timeshift` |
|
|
| 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. The list above includes the most important ones.
|
|
- **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` file.
|