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

134
results/configuration.nix Normal file
View 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.
}