145 lines
3.9 KiB
Nix
145 lines
3.9 KiB
Nix
# 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";
|
|
}
|