scottmuc / infrastructure

Documentation / Automation for personal third-party infrastructure
The Unlicense
11 stars 2 forks source link

Rebuild Windows PC - 202302win #47

Closed scottmuc closed 1 year ago

scottmuc commented 1 year ago

Yay for Repaving!

As much as possible is documented inline in this issue template. In case of problems you may find help by viewing all the previous repave issues. Have fun!

Prep

  • [x] prepare USB device with a Windows installer.

    Instructions

    Here's the latest documentation I followed to make a USB installer.

  • Repave

  • [x] wipe old partitions.

  • [x] run Windows installer.

  • Post Paving

  • [x] Install BoxStarter

    Instructions
    • choco install Boxstarter
  • [x] Install Boostrap BoxStarter Package

    Instructions

    Thanks Rich Turner for your excellent example!

    Launch Powershell with elevated privileges:

    Install-BoxstarterPackage -DisableReboots -PackageName https://raw.githubusercontent.com/scottmuc/infrastructure/main/homedirs/windows/boxstarter.bootstrap.ps1

  • [x] Windows update

  • [x] Install Main BoxStarter Package

    Instructions

    Thanks Rich Turner for your excellent example!

    Launch Powershell with elevated privileges:

    Install-BoxstarterPackage -DisableReboots -PackageName $(Join-Path -Path $Env:USERPROFILE -ChildPath "workspace/infrastructure/main/homedirs/windows/boxstarter.ps1")

  • [x] Configure Brave

    Instructions

    Do the following:

    • Ensure 1 Password extension works
    • Getpocket installed
    • Unhook extension is installed (and support the author)
    • Set searrch engine to DuckDuckGo
  • [x] Install and configure Google Drive

  • [x] Turn off all Windows notification sounds

  • [ ] Setup Radeon Software

    Instructions

    I'm not sure what to do here. Here are a couple helpful links:

  • [x] Install and configure Samsung Magician

    Instructions

    Download the installer and run it. Enable the performance profile.

  • [x] Make this template slightly better

  • scottmuc commented 1 year ago

    Things noted up until the point of beginning to setup Brave:

    scottmuc commented 1 year ago

    When chatting with @willoleary6, I learned of an update that got pushed that messed up a lot of people's Start menu. I noticed the new search box with the reinstall. I don't think I had any issues because I've always disabled it:

    Set-BoxstarterTaskbarOptions `
      -Size Small `
      -Dock Top `
      -DisableSearchBox

    reference

    scottmuc commented 1 year ago

    Found this answer around changing the windows SoundScheme. This looks like a good candidate to put in a separate, self-contained, script.

    scottmuc commented 1 year ago

    Novabench has a new look and feel. The numbers seem off compared to previous runs. Normally the CPU is around 1600, GPU at 1000 and Disk at 360. Only the RAM score is consistent. I'll try running Elden Ring and see if I have any issues.

    Capture

    scottmuc commented 1 year ago

    Played Elden Ring for about 30min and it seemed fine for me. Going to enable the in-game FPS counter and see what it says. Unfortunately I've never run with that enabled before so I don't have a baseline.

    So far so good. Have a couple scripts to attempt and some details to add to the repave issue template and I can call this one done.

    scottmuc commented 1 year ago

    Looks like extracting logic into separate files isn't possible with Boxstarter. I believe that's because the intent of the tool is to take a single script and wrap it in a Chocolatey type package for execution. I could "compile" into a single script, but I think I'll avoid that step for now.

    What I find missing is the main() function extraction that I've done with my shell script automation.

    Tagging @jsnprtr to join in the fun!

    Capture

    scottmuc commented 1 year ago

    I'm now rethinking on how I'm approaching Boxstarter. I might separate things into stuff that Boxstarter handles (because it can manage reboots, etc...) and things that setup my home directory without elevated privileges. Not entirely sure.

    scottmuc commented 1 year ago

    Found a good resource from Microsoft with some example uses of boxstarter: https://github.com/microsoft/windows-dev-box-setup-scripts

    I don't particularly like how it's structured. It's a bit odd to make a web request if you can clone locally. To me this feels like an overly complicated way to arrange concerns. It makes sense in a world where the Boxstarter code is never cloned to the machine being configured... but for workstation automation, why adhere to that constraint?

    More and more this is suggesting to limit the scope of Boxstarter to what it does best, and separately do the rest with a PowerShell script outside the context of a Boxstarter/Chocolatey execution.

    While reading a few issues in the Microsoft repo, I found a comment referencing this treasure trove of Windows automation. By the looks of their setup, I think minimizing the Boxstarter scope is a reasonable path to go.

    scottmuc commented 1 year ago

    From a paving perspective, I'm considering this done. I'll probably still push commits referencing this repave issue since it has a lot of the notes on what to do next.

    scottmuc commented 1 year ago

    Confirmed that I'm getting 60fps in Elden Ring, so all good for now.