What is the first thing you do when setting up a new computer?

peter profile image Peter Kim Frank ・1 min read

When you get a new computer, what are the first things you do? Whether it's:

  • Installing programs
  • Adding shortcuts
  • Disabling certain options
  • Setting up new preferences
  • Etc.

I'm eager to hear what you'd consider the must-do "first steps" for a new machine.


markdown guide

I install the following in each new installation or computer.

.NET Core
SQLite Browser

Discord App
Liferea (RSS Reader)
Vokoscreen NG (For Screen Recorder)
Flameshot (For Screenshots)


I have to uninstall Spotify, use Spotify web instead, it takes nearly 30GB space even I disabled offline


There is no web thing works well in my Ubuntu. I don't know why. But every 10 minutes, I can't open websites on Ubuntu. For example, I tried to visit instagram.com, it wasn't open the first time. I refreshed the page it was open.

So, browser things aren't for me. :P


I go through all the steps to make sure the typical dev environment/tools I use are installed and work.

  • Git
  • Node
  • various CLI's I use
  • Visual Studio Code, etc.

And then, maybe a weird thing, but I choose which browser I want to use and set up and save all of the typical accounts I use like my email, Notion, Github, CodePen, CodeSandox, etc.

I also create collections and add my most commonly used websites to Toby. Like this:
Screeenshot of my Toby set up


Install Alfred.

Get rid of the doc and remove the low-hanging UI (while leaving the settings as stock as possible otherwise)

Set the right-click and two-finger tap to control+click

Download Google drive (back-up and sync)

Set Drive to only sync current projects (all files but git in drive)

Get Brew in place + Curl

download GitTower (git)... Sublime (editor)... Skitch (for markup up screenshots)... Affinity designer (to avoid adobe at first)...

In theory - we can toss our gear in a lake... stop by an apple store - and get back to work in under an hour (that's the goal).

We just bought a new computer - and are documenting the entire process from the perspective of students in our course. We don't install anything - until it's necessary for the class / so, the student sees us also start with a blank slate. We'll share the list in 3 months!

You can also totally write a bash script - that will install everything - in one go!


Alfred was one of my first installs today.


For macOS, I love strap: strap.githubapp.com/

When I had a new mac on the way, I realized that configuring an automated setup with strap would take as long as a manual setup, so it was a no-brainer.

Here's my strap setup scripts:

  1. github.com/valbaca/dotfiles/blob/m...
  2. github.com/valbaca/dotfiles/blob/m... This is probably what you're looking for

For Windows, I use ninite: ninite.com/

For Linux, it depends, but here's my EC2 setup script: github.com/valbaca/dotfiles/blob/m... I'm getting a new mini computer for linux, I'm thinking of putting Alpine, Arch, or Ubuntu on it, so I'll probably have a script for that soon.

Then, mapping Caps Lock to be Escape :)


I was hoping someone would mention this in a sea of manual set-ups. I rolled by own and wasn’t familiar with strap. Thanks for sharing. There also MAS for installing non-HB and non-casks applications from the App Store.


Number one: take screenshot of the applications folder on my old machine

  1. read the system info
  2. change the general theme to my custom contrast theme
  3. all the other stuff as quickly as possible


  1. configure the new box's roles in my repo


  1. install vanilla minimal OS
  2. local nftables blocking access except from install IP6.
    1. arp discovery and securing for IP4
  3. run provisioning script via ssh which:
    1. generates customised nftables rules and installs them
    2. installs security tools
    3. installs libraries
    4. installs apps
  4. run a quick pen-test from an untrusted IP
  5. run a quick pen-test from a trusted IP
  6. take an asset inventory snap-shop into repo
  7. initialise rkhunter chkroot tripwire aide logcheck and other IDS tools.


  1. beer
  2. watch syslogs for an hour
  3. tune nftables and other security logs

Thanks for sharing, logcheck was new to me :)

  1. Install vim
  2. Import zshrc & vimrc
  3. Check python version (upgrade if needed)
  4. Import requirements.txt for pip installs
  5. Install rust
  6. Install latex (Tex Live)
  7. Install Docker
  8. Enable AUR
  9. Install vscode
  10. Import vscode extensions & settings
  11. Install chrome
  12. Possibly configure themes, window managers, etc (depending on what I need the machine for)

I spot a fellow arch user and upvote 💪🏾


This specific workflow is for Manjaro, which is currently my main dev distro (that's why there are no steps to install python, zsh or git). I usually go with Arch when I need something minimal to build with a bottom-up approach (no DEs, etc). But even with Manjaro, I'm still in the Arch family 😛.


I recently set up Windows on a new laptop and tried to install as much as I could via Chocolatey, so I guess install Chocolatey is now the first thing I do :).

This is my choco install list currently:

choco feature enable -n allowGlobalConfirmation 

choco install googlechrome

choco install vscode
choco install git
choco install powershell-core
choco install az.powershell
choco install service-fabric-sdk
choco install sql-server-management-studio

choco install adobereader
choco install notepadplusplus
choco install winrar
choco install keepassxc

choco install skype
choco install microsoft-teams
choco install slack


I keep a configuration file of applications I use on every computer and use a package manager to install them automatically every time. For windows this package manager is called Chocolatey, its really useful to make a setup from the ground up for any development environment based on the tools you need:



I wrote an install-on-setup script that installs homebrew, ohmyzsh, ~40 apps, fonts, and my own keyboard layout (that I created for coding in PHP). Also symlinks all my settings back to their latest, puts my SSH keys backs, and sets my Apache vhosts.

Also, two hidden gems for Mac users: Apptivate (lets to assign any key combo to any app, folder, or file) and Shuttle (lets you create a menu for scripts you run often).


No, simple brew install and brew cask install commands.



coding: chrome, brew, iterm, nodejs, yarn, git, vscode, pyenv, rustup, firefox
design: sketch, blender, krita
comfort: dual lanuages: us, hu, setup tap bar: language switch, turn off caps lock.


I download my dotfiles and install them... that repo includes a “setting up a new computer” checklist. It’s surprising how often it gets used (and invaluable every time it does) 😅
Check out my dotfiles repo

  • Install programs

  • Setup by development environment using dot files I created

    • those include neovim, vscode, alacritty (terminal I use on both Linux and Mac), tmux, zsh
    • on Linux machine, I also spent few hours to setup my i3wm

I have a folder of portable app that has most of the apps/programs/utilities I need, I copy this and I can be productive without needing to install too much myself. I will build a chocolatey (or similar) config to handle the rest next time I need to setup a new box


I immediately install chrome, turn on dark mode, install flux if I am on windows, and then start the usually long process of installing my dev environment. One thing I always install is a notebook app I love called Quiver.


Remove the bloat and install VSCode


It depends on the OS, since I have computers running more than one (macOS, Linux, Windows). My setup tasks are: restore backups, reinstall/redownload programs, and set preferences, in that order; the method by which that is done is OS-dependent.


On a work machine: installing my preferred IDE, setting up my shell the way I want and making sure everything that I need works properly (cloning repos, running hello worlds for things I use, etc.). I'm working on a personal repo that will do all that for me or at least have a markdown file with all the stuff I need, because there's a lot and I don't want to forget then have to install something 2 months later.

For a personal machine: I've not done this in a while, but browsing preferences and bookmarks, then disabling all the stuff that wants to run at start up and a hefty amount of gaming related programs.


To setup, Firstly I check for updates
And the first thing I would install is

  1. Chrome
  2. NodeJS
  3. VS Studio Code
  4. Nodemon+ Npm + yarn
  5. Git
  6. SM Video Player
  7. Gnome Extensions
    • live speed
    • weather
    • Dock To Desk

And these would be my minimal installation's to be done...

And many more installations are pending but which depend on requirement


Install and configure Ubuntu MATE atop Pop_OS!, migrate my files, and then install my favorite apps, such as:

  • Nextcloud
  • Evolution
  • Brave
  • LibreOffice (Fresh)
  • Spotify
  • Visual Studio Code
  • Hexchat

...for starters. I've got plenty more I install.


Turn off "natural" scrolling (Mac OS).


Figure out why it's not booting. Or what kernel flags need to be set to make it boot.


If it is windows, I install chrome and remove Internet explorer/edge.


I use a BrewFile (github.com/joelparkerhenderson/bre...) and I re-install the programs I need. It has truly turned the process of re-installing a laptop from pure torture to fun 😊

  • Install Linux Lite
  • Install apps like WPS, Sublime Text Editor, LAMP, Guake, and Plank
  • Setting shortcut like F4 for open Guake in recent directory
  • Change wallpaper 😅

Run HWMonitor to make sure I didn't screw anything up haha(If I built it)


Tweaking privacy settings. There are always some options that the "default experience" hides from you.


It is complex enough that I have to write my blog for it, so that I don't forget too many things...



Install command line tools and homebrew lol


I take a deep breath and appreciate the moment 😅
Really... it's singular.


I install Homebrew and install packages & apps that way


Restore the last snapshot image of my previous computer.
Makes it instantly feel homey and I have no hassle with installing stuff :)

A good backup mechanism saves a lot of time

  1. Disable all sound notifications
  2. Install TotalCommander
  3. Install Dropbox, which will bring most of my favourite tools and programs as portable version

Installing a Windows computer - definitely first thing is downloading 7zip :D :D


One thing that I have to do is replace my .bashrc on Linux Mint. I have so many aliases I have grown accustomed to 'my' .bashrc.


Always start by making any preference adjustments (colour, font size, icon size etc) then start the task of installing all the software I want


It used to be use ninite to build a bulk installer of everything I use. Nowadays, I'd be more likely to start with scoop


Install some package installer (i.e. Brew)
Install Chrome and any apps I need
Bring in my dotfiles
And get to work!


Hopefully soon, creating my own Linux distro with everything I want installed, so all I have to do after install is copy over my separate /home partition.


Before doing anything else, I usually copy over the data i want on my new system and amongst my data the very first things would be crypto credentials like gpg keys I guess etc.


Change keyboard, trackpad, and display preferences.

I keep a list here so I don’t forget stuff: github.com/katylava/dotkyl/blob/ma...


I run my github.com/jdoss/fedora-workstation Ansible playbook and hit the ground running.


Install linux and run my automatic setup regeneration script. I can get a new computer and be up and running in an hour


Wipe the hard drive and install OpenBSD.