Final reconnaissance and draft configuration
This commit is contained in:
134
results/configuration.nix
Normal file
134
results/configuration.nix
Normal file
@@ -0,0 +1,134 @@
|
||||
# NixOS Configuration
|
||||
# Path: results/configuration.nix
|
||||
#
|
||||
# This file was generated based on the system reconnaissance phase.
|
||||
# Review and edit this file carefully before installation.
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
# Path to this file will be /mnt/etc/nixos/hardware-configuration.nix
|
||||
# after the installation script generates it.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# ---
|
||||
# NETWORKING ---
|
||||
# ---
|
||||
networking.hostName = "nixos-desktop"; # Define your hostname.
|
||||
networking.networkmanager.enable = true;
|
||||
# networking.wireless.enable = true; # Uncomment for WiFi support.
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Australia/Sydney"; # CHANGE THIS to your time zone, e.g. "Europe/Berlin"
|
||||
|
||||
# ---
|
||||
# USER ACCOUNTS ---
|
||||
# ---
|
||||
users.users.sam = {
|
||||
isNormalUser = true;
|
||||
description = "Sam";
|
||||
extraGroups = [ "networkmanager" "wheel" ]; # "wheel" allows sudo
|
||||
packages = with pkgs;
|
||||
[ # User-specific packages can be listed here.
|
||||
];
|
||||
};
|
||||
|
||||
# ---
|
||||
# SOFTWARE PACKAGES ---
|
||||
# ---
|
||||
# List packages you want to install system-wide.
|
||||
# Based on docs/02_software_migration_plan_filled.md
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
# --- Tier 1: Critical Applications & Services ---
|
||||
firefox
|
||||
thunderbird
|
||||
kitty
|
||||
neovim
|
||||
nushell
|
||||
vscode
|
||||
telegram-desktop
|
||||
|
||||
# --- Tier 2: Development & CLI Tools ---
|
||||
git
|
||||
rustc
|
||||
cargo
|
||||
nodejs # Consider specifying a version, e.g., nodejs-20_x
|
||||
python3
|
||||
gcc
|
||||
gnumake
|
||||
btop
|
||||
eza
|
||||
bat
|
||||
fzf
|
||||
ripgrep
|
||||
zoxide
|
||||
|
||||
# --- Tier 3: Desktop & GUI Applications ---
|
||||
libreoffice
|
||||
flameshot
|
||||
vlc
|
||||
spotify
|
||||
timeshift
|
||||
];
|
||||
|
||||
# ---
|
||||
# SERVICES ---
|
||||
# ---
|
||||
# Enable sound with PipeWire.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment the following.
|
||||
#jack.enable = true;
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# ---
|
||||
# DESKTOP ENVIRONMENT ---
|
||||
# ---
|
||||
# Enable the GNOME Desktop Environment.
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
|
||||
# ---
|
||||
# DISK MOUNTS ---
|
||||
# ---
|
||||
# This is where we will mount your existing data drives.
|
||||
# The device paths (e.g., "/dev/disk/by-uuid/...") must be correct.
|
||||
# Use the output of `lsblk -f` on the live USB to get the right UUIDs.
|
||||
fileSystems."/mnt/ubuntu_storage_3TB" = {
|
||||
device = "/dev/disk/by-uuid/037a542c-6aa9-4b1f-ab2f-4b6922ab371f"; # This is sdd1 (ubuntu_storage_3)
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/mnt/windows-storage" = { # Renaming `/mnt/storage` to be clearer
|
||||
device = "/dev/disk/by-uuid/063E316A3E315441"; # This is sdb2
|
||||
fsType = "ntfs-3g";
|
||||
options = [ "rw" "uid=1000" "gid=100" "umask=007" ]; # Makes files user-writable
|
||||
};
|
||||
|
||||
# Add more entries here for other disks like sdc2 if needed.
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# System state version.
|
||||
system.stateVersion = "24.05"; # Or whatever version you install.
|
||||
|
||||
}
|
||||
145
results/configuration.nix.template
Normal file
145
results/configuration.nix.template
Normal file
@@ -0,0 +1,145 @@
|
||||
# NixOS Configuration Template
|
||||
# Path: results/configuration.nix.template
|
||||
#
|
||||
# This is a starting point for your new NixOS configuration.
|
||||
# Review and edit this file carefully.
|
||||
# You will use this file during the NixOS installation.
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
# Path to this file will be /mnt/etc/nixos/hardware-configuration.nix
|
||||
# after the installation script generates it.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# ---
|
||||
# NETWORKING ---
|
||||
# ---
|
||||
networking.hostName = "nixos-desktop"; # Define your hostname.
|
||||
networking.networkmanager.enable = true;
|
||||
# networking.wireless.enable = true; # Uncomment for WiFi support.
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Australia/Sydney"; # CHANGE THIS to your time zone, e.g. "Europe/Berlin"
|
||||
|
||||
# ---
|
||||
# USER ACCOUNTS ---
|
||||
# ---
|
||||
users.users.sam = {
|
||||
isNormalUser = true;
|
||||
description = "Sam";
|
||||
extraGroups = [ "networkmanager" "wheel" "docker" ]; # "wheel" allows sudo
|
||||
packages = with pkgs;
|
||||
[ # You can install user-specific packages here, but it's often better
|
||||
# to manage them system-wide below unless you have multiple users.
|
||||
];
|
||||
};
|
||||
|
||||
# ---
|
||||
# SOFTWARE PACKAGES ---
|
||||
# ---
|
||||
# List packages you want to install system-wide.
|
||||
# Refer to docs/02_software_migration_plan.md
|
||||
environment.systemPackages = with pkgs;
|
||||
[ # ---
|
||||
# Essentials ---
|
||||
# ---
|
||||
git
|
||||
wget
|
||||
curl
|
||||
|
||||
# ---
|
||||
# Desktop & GUI ---
|
||||
# ---
|
||||
firefox
|
||||
thunderbird
|
||||
libreoffice
|
||||
flameshot
|
||||
|
||||
# ---
|
||||
# Terminal & CLI Tools ---
|
||||
# ---
|
||||
kitty
|
||||
neovim
|
||||
nushell
|
||||
btop
|
||||
eza
|
||||
bat
|
||||
fzf
|
||||
|
||||
# ---
|
||||
# Development ---
|
||||
# ---
|
||||
gcc
|
||||
gnumake
|
||||
nodejs # Consider specifying a version, e.g., nodejs-20_x
|
||||
rustc
|
||||
cargo
|
||||
python3
|
||||
];
|
||||
|
||||
# ---
|
||||
# SERVICES & VIRTUALIZATION ---
|
||||
# ---
|
||||
|
||||
# Enable the Docker daemon.
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
# Enable sound with PipeWire.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment the following.
|
||||
#jack.enable = true;
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# ---
|
||||
# DESKTOP ENVIRONMENT ---
|
||||
# ---
|
||||
# Enable the GNOME Desktop Environment.
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
|
||||
|
||||
# ---
|
||||
# DISK MOUNTS ---
|
||||
# ---
|
||||
# This is where we will mount your existing data drives.
|
||||
# The device paths (e.g., "/dev/disk/by-uuid/...") must be correct.
|
||||
# Use the output of `lsblk -f` on the live USB to get the right UUIDs.
|
||||
fileSystems."/mnt/ubuntu_storage_3TB" = {
|
||||
device = "/dev/disk/by-uuid/037a542c-6aa9-4b1f-ab2f-4b6922ab371f"; # This is sdd1 (ubuntu_storage_3)
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/mnt/windows-storage" = { # Renaming `/mnt/storage` to be clearer
|
||||
device = "/dev/disk/by-uuid/063E316A3E315441"; # This is sdb2
|
||||
fsType = "ntfs-3g";
|
||||
options = [ "rw" "uid=1000" "gid=100" "umask=007" ]; # Makes files user-writable
|
||||
};
|
||||
|
||||
# Add more entries here for other disks like sdc2 if needed.
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# System state version.
|
||||
system.stateVersion = "24.05"; # Or whatever version you install.
|
||||
|
||||
}
|
||||
144
results/generated_configuration.nix
Normal file
144
results/generated_configuration.nix
Normal file
@@ -0,0 +1,144 @@
|
||||
# NixOS Configuration - AUTO-GENERATED DRAFT
|
||||
# Path: results/generated_configuration.nix
|
||||
#
|
||||
# This file was auto-generated on $(date) based on system reconnaissance.
|
||||
# !!! IMPORTANT !!!
|
||||
# This is a DRAFT and a starting point. It WILL require manual review and editing.
|
||||
# - Verify all package names against the Nixpkgs repository.
|
||||
# - Check service options and configurations.
|
||||
# - Double-check all hardware and disk mount settings.
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # This will be generated by the NixOS installer.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# --- NETWORKING ---
|
||||
# See logs/06_netplan_config.log for details.
|
||||
networking.hostName = "nixos-desktop"; # Set your desired hostname.
|
||||
networking.networkmanager.enable = true;
|
||||
# The scan found Tailscale running. You will likely want to enable it here.
|
||||
# services.tailscale.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Australia/Sydney"; # Please verify this is correct.
|
||||
|
||||
# --- USER ACCOUNTS ---
|
||||
users.users.sam = {
|
||||
isNormalUser = true;
|
||||
description = "Sam";
|
||||
extraGroups = [ "networkmanager" "wheel" "docker" ]; # "wheel" allows sudo. Add other groups if needed.
|
||||
};
|
||||
|
||||
# --- SOFTWARE PACKAGES (DERIVED FROM RECON LOG) ---
|
||||
environment.systemPackages = with pkgs; [
|
||||
# --- Essentials & CLI Tools (from history and manual install logs) ---
|
||||
git
|
||||
wget
|
||||
curl
|
||||
htop # btop is an alternative available in nix
|
||||
neovim
|
||||
zsh
|
||||
zoxide
|
||||
ripgrep
|
||||
fzf
|
||||
tree
|
||||
|
||||
# --- Rust & Go Environment ---
|
||||
rustc
|
||||
cargo
|
||||
go
|
||||
|
||||
# --- Python Environment ---
|
||||
python3
|
||||
|
||||
# --- Node.js Environment ---
|
||||
nodejs # Consider specifying a version, e.g., nodejs-20_x
|
||||
|
||||
# --- Desktop & GUI Applications ---
|
||||
firefox
|
||||
thunderbird
|
||||
vlc
|
||||
gimp
|
||||
inkscape
|
||||
obs-studio
|
||||
|
||||
# --- Manually Installed Tools (verify package names) ---
|
||||
arduino-cli
|
||||
lazygit
|
||||
ollama
|
||||
scrcpy
|
||||
|
||||
# --- Snap Packages (find equivalents in nixpkgs) ---
|
||||
# The following were installed as snaps. Find their NixOS equivalents.
|
||||
# - code (vscode)
|
||||
# - mqtt-explorer
|
||||
# - notepad-plus-plus (likely use notepadqq or similar)
|
||||
# - spotify
|
||||
# - telegram-desktop
|
||||
|
||||
# --- Other APT Packages (selection of common tools found) ---
|
||||
# A full list is in logs/04_nixos_recon.log. Add what you need.
|
||||
nmap
|
||||
minicom
|
||||
screen
|
||||
net-tools # for ifconfig, etc.
|
||||
gnome.gnome-tweaks
|
||||
|
||||
];
|
||||
|
||||
# --- SERVICES & VIRTUALIZATION ---
|
||||
|
||||
# Docker was found to be in use.
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
# Ollama service was running.
|
||||
# services.ollama.enable = true; # Find the correct module for Ollama on NixOS
|
||||
|
||||
# RustDesk service was running.
|
||||
# services.rustdesk.enable = true; # Find the correct module for RustDesk on NixOS
|
||||
|
||||
# Enable sound with PipeWire.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# --- DESKTOP ENVIRONMENT ---
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
|
||||
# --- DISK MOUNTS ---
|
||||
# !!! CRITICAL !!!
|
||||
# Update these with the correct UUIDs from your `lsblk -f` output
|
||||
# once you have booted the NixOS installer.
|
||||
fileSystems."/data" = {
|
||||
device = "/dev/disk/by-uuid/PLEASE_REPLACE_ME"; # UUID of Integral300 drive
|
||||
fsType = "ext4";
|
||||
options = [ "defaults" ];
|
||||
};
|
||||
|
||||
# --- MISC ---
|
||||
# Allow unfree packages for things like Chrome, Spotify, etc.
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# System state version. This should be set to the version of NixOS you install.
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
Reference in New Issue
Block a user