DEV Community

Peter Kim Frank
Peter Kim Frank

Posted on

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

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.

Discussion (68)

itachiuchiha profile image
Itachi Uchiha

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)

ntvinhit profile image
Nguyễn Trọng Vĩnh

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

itachiuchiha profile image
Itachi Uchiha

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, it wasn't open the first time. I refreshed the page it was open.

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

coffeecraftcode profile image
Christina Gorton

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

perpetual_education profile image
perpetual . education • Edited on

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!

peter profile image
Peter Kim Frank Author

Alfred was one of my first installs today.

ben profile image
val_baca profile image
Valentin Baca • Edited on

For macOS, I love strap:

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:

  2. This is probably what you're looking for

For Windows, I use ninite:

For Linux, it depends, but here's my EC2 setup script: 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 :)

wulymammoth profile image

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.

jrohatiner profile image

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
jaguart profile image


  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
darksmile92 profile image
Robin Kretzschmar

Thanks for sharing, logcheck was new to me :)

pariskoloveas profile image
pkoloveas • Edited on
  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)
darksmile92 profile image
Robin Kretzschmar

I spot a fellow arch user and upvote 💪🏾

pariskoloveas profile image
pkoloveas • Edited on

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 😛.

markwragg profile image
Mark Wragg

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

testgtfsgsfsdfd profile image
ab • Edited on

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:

necmettin profile image
Necmettin Begiter • Edited on

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).

robbyrussell profile image
Robby Russell 🐘🚂

are you using a Brewfile?

necmettin profile image
Necmettin Begiter

No, simple brew install and brew cask install commands.

pengeszikra profile image
Peter Vivo


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.

gonsie profile image
Elsa Gonsiorowski

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

boringdev profile image
• Edited on
  • 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
robole profile image
Rob OLeary • Edited on

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

shanker702 profile image

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.

ronsoak profile image

Remove the bloat and install VSCode

wrldwzrd89 profile image
Eric Ahnell

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.

vdedodev profile image
Vincent Dedo

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.

hemant profile image
Hemant Joshi 😼

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

codemouse92 profile image
Jason C. McDonald • Edited on

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.

perigk profile image
Periklis Gkolias

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

jack_garrus profile image
Nadia Guarracino

Installing Chrome

ridhwana profile image
Ridhwana Khan

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

v0idzz profile image
Piotr Romanowski

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

stereoplegic profile image
Mike Bybee • Edited on

Linux. Or occasionally another Unix-based OS I'm not supposed to put on it 😉 (but usually that just goes in KVM).

mzaini30 profile image
  • 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 😅
wicked7000 profile image

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

somedood profile image
Basti Ortiz

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

patarapolw profile image
Pacharapol Withayasakpunt • Edited on

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

andrewbrown profile image
Andrew Brown 🇨🇦

Install command line tools and homebrew lol

nimrodkra profile image
Nimrod Kramer

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

samnrogers profile image
Sam Norris-Rogers

I install Homebrew and install packages & apps that way

habereder profile image
Raphael Habereder

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

patricktingen profile image
Patrick Tingen • Edited on
  1. Disable all sound notifications
  2. Install TotalCommander
  3. Install Dropbox, which will bring most of my favourite tools and programs as portable version
kriska profile image
Kristina Gocheva

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

mccurcio profile image
Matt Curcio

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.

huddlespith profile image
Amy Hudspith

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

bugmagnet profile image
Bruce Axtens

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

jessekphillips profile image
Jesse Phillips

Keyboard layout dvorak.

madza profile image
kinagi profile image
Stephen Rodriguez

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

stereoplegic profile image
Mike Bybee

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.

asacasa profile image
Alexander Sack

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.

katylava profile image
katy lavallee

Change keyboard, trackpad, and display preferences.

I keep a list here so I don’t forget stuff:

peritract profile image
Dan Keefe

Remove all the bloatware.

jdoss profile image
Joe Doss

I run my Ansible playbook and hit the ground running.

fultonbrowne profile image
Fulton Browne

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

gabeguz profile image
Gabriel Guzman

Wipe the hard drive and install OpenBSD.

garrett profile image

Install VPN.