Add initial reconnaissance logs and NixOS configuration templates
This commit is contained in:
3102
logs/01_system_recon.log
Normal file
3102
logs/01_system_recon.log
Normal file
File diff suppressed because it is too large
Load Diff
51261
logs/03_find_and_sync_data.log
Normal file
51261
logs/03_find_and_sync_data.log
Normal file
File diff suppressed because one or more lines are too long
3145
logs/04_nixos_recon.log
Normal file
3145
logs/04_nixos_recon.log
Normal file
File diff suppressed because it is too large
Load Diff
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.
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user