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