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.
I install the following in each new installation or computer.
NodeJS
Yarn
.NET Core
PostgreSQL
Redis
VSCode
Insomnia
SQLite Browser
FileZilla
Telegram
Spotify
Notable
Discord App
Liferea (RSS Reader)
Anydesk
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.
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:
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.
Search DEV for ideas and help 😄
My Mac Setup
Nick Taylor (he/him) ・ Jan 12 '18 ・ 9 min read
Setup your Mac for development, 2020 edition.
Frankie Valentine ・ Jan 1 ・ 15 min read
My New Mac Setup
shawn swyx wang 🇸🇬 ・ Oct 31 '18 ・ 4 min read
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:
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
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 😛.
Before:
During:
nftables
blocking access except from install IP6.nftables
rules and installs themrkhunter
chkroot
tripwire
aide
logcheck
and other IDS tools.After:
nftables
and other security logsThanks for sharing, logcheck was new to me :)
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).
are you using a Brewfile?
No, simple
brew install
andbrew cask install
commands.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:
chocolatey.org/
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:
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
To setup, Firstly I check for updates
And the first thing I would install is
And these would be my minimal installation's to be done...
And many more installations are pending but which depend on requirement
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
MacBookPro:
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.
Install and configure Ubuntu MATE atop Pop_OS!, migrate my files, and then install my favorite apps, such as:
...for starters. I've got plenty more I install.
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.
Install programs
Setup by development environment using dot files I created
neovim
,vscode
,alacritty
(terminal I use on both Linux and Mac),tmux
,zsh
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.
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
Figure out why it's not booting. Or what kernel flags need to be set to make it boot.
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 😊
If it is windows, I install chrome and remove Internet explorer/edge.
Visual Studio both versions.
Node and npm
.net
SnagIt
Camtasia
The rest is cloud stuff like GitHub, vsts, OneDrive, etc.
I install Jasc Paint Shop Pro 7.04 (released 2001).
1) Clone my dotfiles, and 2) Install Fish, NeoVim, and Tmux
I install OpenSUSE Tumbleweed with KDE on it, then I install Syncthing, Emacs, OpenJDK and KeePass XC as the first programs. The rest comes as needed.
Wipe the hard drive and install OpenBSD.
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...
polv.cc/post/2019/11/clean-install...
Remove all the bloatware.
Change keyboard, trackpad, and display preferences.
I keep a list here so I don’t forget stuff: github.com/katylava/dotkyl/blob/ma...
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
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.
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
Keyboard layout dvorak.
Linux. Or occasionally another Unix-based OS I'm not supposed to put on it 😉 (but usually that just goes in KVM).
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.
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
Install VPN.
Install chrome, sublime text, node js, Filezilla, and Google keep
ninite.com/
Dark theme
Run HWMonitor to make sure I didn't screw anything up haha(If I built it)
Install command line tools and homebrew lol
Always start by making any preference adjustments (colour, font size, icon size etc) then start the task of installing all the software I want
I take a deep breath and appreciate the moment 😅
Really... it's singular.
Step one? Install all security updates.