Final reconnaissance and draft configuration

This commit is contained in:
2026-01-28 13:09:24 +11:00
commit 34288f5f84
8 changed files with 58883 additions and 0 deletions

View 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";
}