How To Setup A MacBook Pro M1 For Software Development

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
i'm weak apple and your smart marketing people you got me this is what i ordered let's unpack let's see what's inside so this is like the most expensive laptop i ever bought i would actually never buy this personally but since basically i've been running my complete youtube channel of macbook air as well as my other company i thought it was time to invest in something a little bit more powerful so this is the let me just get rid of this box this is the macbook pro 16-inch m1 max now for software development actually i wouldn't recommend buying an m1 max because it's way overkill unless you're also doing lots of graphics processing the main reason i got the m1 max is because i need to do video editing and the m1 max has twice the number of video encoders and decoders than the m1 pro and you also got the 16 inch because for me to having a bigger screen is really useful let's unpack this baby see what's inside i think we know what's inside but i just want to check just to be sure so what i'd like to do today with you is because i got this new laptop also to show you what i do to set up a laptop for software development talk about how i set up my mac os operating system kind of settings that change the apps that i generally use and also talk a bit about how i set up vs code and what kind of plugins you use so this is a pretty mac focused video though the vs code part is probably useful for people on windows as well so if you don't use a mac use windows you are dismissed but otherwise you might find this video interesting so what's in the box is well of course the laptop and we have a little cable here and other than that there is a booklet with let's see we have a getting started guide for if you don't know how a laptop works some guarantees and do we get stickers we also get the stickers i really don't care about the stickers but apparently for some people this is really important let's just get rid of this and we have this pretty chunky charger so actually that's gonna be pretty nice it's going to make sure that i can charge the laptop quickly though mostly will be plugged in i expect so let's unwrap this bad boy and then i'm going to show you how to set it up wow that's impressive wait looks really really nice let's open this up shall we [Music] and there we have the famous mac os startup screen the version i got is the m1 max bin processor with 24 graphics cores because well it has the same number of cpu cores that's important to me because i do a lot of software development and it also has the same number of video encoders and decoders as the full blown m1 max computer but i don't really do a lot of graphic stuff so i don't need that many graphic scores so i thought the 24 core was quite enough i did get the pretty expensive two terabyte upgrades because i work with videos so those files are really large but if you don't work with video or need huge storage for 3d rendering or things like that you don't need that much storage and probably one terabyte is enough i would upgrade to the one terabyte though and not just buy the base 512 gigabyte storage but because that's just really not enough in my opinion i also didn't upgrade the ram so to use english as the main language press the return key okay i have to listen to my apple overlords now where was i oh yes so i only got the 32 gigabytes because frankly that's enough for me and it seems that given how fast the ssds are in these machines mac os contains a built-in screen reader called voiceover if you know how to use voiceover press command f5 now to turn it on and set up your mac if you would like to learn how to use voiceover to set up your mac press the escape key how do you how do you shut this thing up i okay anyway 32 gigs because i think that's enough because the ssd speed is fast enough so that the swapping is not really any issue so before this thing starts talking again let's start installing some stuff on it so basically what i have here is now a bone stock empty macbook pro so first i want to go through some of the general settings that i change on my macbook in order to make it behave the way that i want to then i'm going to cover a couple of apps that i generally installed that i find quite useful these are mostly mac specific and then i'm going to talk about vs code and the plugins i use in vs code so if you're a windows user you might want to skip ahead and go straight to the chapter that covers vs code anyway let's dive in so i have here now my finder open because i want to start with a few things that i do to modify the weight that the finder looks and the first thing that i always do is i go to view and then i want to show the status bar which is the bar here at the bottom so i know how much space i have available and how many items i've selected and i also want to show the path bar which is the bar that's here so i can see where i am in the folder structure i generally also add a couple of things to favorites like if i install dropbox i want my dropbox to be here and a couple of other things but that's a detail i won't cover it in this video another thing that i like to do is customize the icons that you see here at the top and you can click right and then you do customize the toolbar and now you can select the items that you want to see in the toolbar so a couple of them are already in there like back forward and view but they also particularly like to add the new folder icon that i find very useful so i just add it right there so i can more quickly add a new folder and for the rest i don't change anything here so now i want to show you a couple of the settings that i generally change on my mac so the first thing that i do is click on general and then i make sure that i've selected the dark theme because of course i have dark soul and also bugs are attracted to light so i prefer my theme to be dark so the other things that are in here i don't really change them then what i change is i go into the dock and menu bar settings and there i want the dock to be a bit smaller i also want to make sure that i automatically hide and show the docs so that i have a little bit more screen space what i also do is customize the menu bar a bit there is here for example a spotlight icon which opens spotlight search well i normally use command space for this so i find that way easier so what i do is i go into my dock and menu bar settings and here is spotlight and then i disable the show in menu bar options so that the menu bar in the top right is a bit cleaner next i want to change a few things about how the keyboard and the trackpad work so let's start with the keyboard there are two options that are important as key repeat so if you hold a key longer than how fast is the key going to repeat and the other one is how long does it take until the key starts repeating and i generally put the delay here pretty short like so so that when i type and hold the key it starts repeating relatively quickly i find that helps me when i write code in my code editor what i also do is change the modifier keys so these are the basic the default mapping so everything is mapped to itself but i never use caps lock and i do find escape really useful especially if you're using an editor like vim so i change the caps lock to be an escape like so so those are my basic keyboard settings and then let's go to the trackpad where i also change a few things like for example i like tap to click because i like to be able to tap with one finger and that basically registers as click i also switch off force click and haptic feedback i find it generally doesn't really do that much for me and sometimes it happens that i press too hard and then i accidentally have a force click and i really don't want that so i prefer this to be off then in scroll and zoom i also make sure that all of these things are on because i find them quite useful and there are more gestures here which are also mostly on so i leave this as is there's a few apps that i like to install one is called fly cut flycod is a clipboard manager that's totally free and it helps you with copy and pasting multiple items so i'm going to install this so just to quickly show you how this works i have a simple text editor here i can write some text like so and then when i select a word and i do copy and then i do shift command v which is paste then i can select whatever i copied before and this is actually what flycot does so this allows you to keep track of the previous things you copied or pasted and i think that's really helpful so that's fly cut there are also two other apps that i use for security there is bitwarden which is my main password manager so i'm going to install that one as well and the other one that i like to use is authy which is a tool for two-factor authentication it's an alternative to the google authenticator and actually the nice thing about authy is that it syncs across your device you can have all the installed on your phone on your ipad on your mac and then it syncs two-factor authentication codes across your devices which is really useful a tool that's very important to me because i deploy applications to the cloud is docker so i go to the docker website and then i install docker for desktop and i make sure of course because this is an apple chip to download the version for the mac chips so now the docker is downloaded i'm going to run the installer so now docker is up and running and i can sign in and start using it the next thing that i do is install homebrew which is a very useful package manager for mac os so this is going to allow me to install lots of other packages that are really useful so we need to copy this command that we have here and then let's start the terminal and now i'm going to install homebrew once you've installed homebrew there's a couple of things you need to do to finish it up like copying these things so that homebrew is added to your path to also run this command and now let's see if this works let's list the installed packages so there is basically nothing and now we can start installing packages using brew now i prefer the item to terminal over the build in mac os terminal so the first thing i'm going to do is install this improved terminal so i've installed iturn now so let's close the mac terminal and then let's start i term 2. now the nice thing about item 2 is that you have a lot more options than the regular terminal like for example you could define keyboard shortcuts you can have various arrangements you can modify how the pointer works there's options for changing the appearance of the terminal so that's all really nice but there's one thing in particular that i like to do in combination with item is that i also install oh my z shell and omaze show is a framework for managing your z shell configuration it has lots and lots of plugins so you can customize the way it works i particularly like that you can indicate the name of the branch in the git repository if you're in the folder where which is handled by git and there's lots and lots of other things you can change so in order to install this you need to copy this command and then run it in the terminal and as you can see immediately the appearance of your terminal changes which is really cool and from time to time whenever there's an update this is going to ask you to update itself whenever you start the terminal so now that we have brew installed item and oh my z shell i'm going to install a couple of other apps using homebrew and the first one that i'd like to install is rectangle which is a free window manager for mac os so now that rectangle is installed let's start it up what you see is that rectangle adds an item to the menu bar right here and it provides a number of shortcuts to move your windows for example to the left half or the right half or maximize the window i use this app all the time because it allows me to keep my hands on the keyboard and control where my windows are so that's just incredibly useful i think this should actually be built into mac os but it isn't so well we have to deal with it like this so that's a rectangle most of these things are not directly aimed at helping software developers but they're still quite useful so now let's add a few apps that we're going to need as python developers now in the past when you got a fresh new mac machine it came installed with python 2.7 point something basically a corpse but it seems now if i type python that actually is no longer there which is interesting but if i check for python 3 then there is actually a version of python 3 that's now installed so i'm not entirely sure but i almost can't believe it has mac os updated the python version from python 2 to python 3 that would be amazing anyway what we'd preferably like to have is a bit more flexibility in terms of the versions of python that we're dealing with and in particular i'd like to have a more recent version than 3.8.9 but what i like to install is pyenv to manage the different versions of python for me so let's start by installing pyen first if you have mac os with z shell you also need to make sure that once you installed pyent that you add these things to your z profile and your zs hrc file so that whenever you start the terminal pyenv actually properly initializes the correct python version for you once we've done that we can start installing the versions of python that we need so i'm just going to install the latest one at the time of recording of this video and now let's change the current version of python to be 3.7.1 there we go and as you can see bayern also selects the right version of pip for us that's associated with version 3.10.1 another thing you want to install which is of course also really useful is git and that also looks to be pretty good so those are the basic things that you're going to need except of course one thing you need a code editor i'm using vs code there's other options out there like pycharm depending on what you need but i'm just going to install vs code here and then i'll also show you a couple of the plugins that i like to use in my vs code setup so i'm going to download the mac universal build so i've now downloaded vs code and i can move that to my applications folder like so and then let's open it up to see that it's to check that it works correctly and that all looks great it's dark theme which of course i like so let's fit it to the screen like this now there's a couple of settings that i like to change in vs code and what i'm going to do is i'm going to log in so it's going to sync the settings from my other computer so these are some of my user settings some of them are related to github co-pilots like which types of files i want to use copilot on but there's a couple of them that are interesting like these ones i like to add these settings here so that let me make this a bit bigger so that whenever i edit python code and i save it then i want to have automatic formatting on so i'm using black for this that's my formatting provider of choice which i like it's very opinionated doesn't have too much options but just make sure that it looks nice and clean and then i make sure that whenever i save a file that black automatically formats it for me that's what these settings do and i also have organized imports so that i'm always certain that the imports are neatly organized and i don't have to worry about that another thing that i do is this and that's related to the vim plugin so maybe i should just quickly talk about the plugins that i have installed if you're developing in python then the most important one you should have is the python language extension and and that actually installs lots of other things as well like pylons and jupiter notebooks in principle this mainly adds all the language features and auto completion etc etc for python so that's actually pretty useful there's a couple of other plugins that i install as well one is docker so that have docker integration in my vs code that can be quite useful sometimes i've github co-pilot i've been playing around with this i'm not yet entirely sure whether i want to keep using it or not but sometimes it's pretty useful there's this theme i was playing around with but i think i'm going to remove that again because i don't really need it then i have this one i talked about mermaid in a recent video which is a really helpful tool to create diagrams of all different kinds like human diagrams flow charts etc i did a video about mermaids a while ago i'll put a link to that video in the top so this plugin is really helpful there because it allows me to add mermaid diagrams to markdown files which is really useful that's prettier which is also code formatter but i many use that for my typescript and javascript development so i won't talk about it too much now there is this which is a microsoft installed plugin i haven't really used this so i'm not really sure what this is this seems to be related to docker but the main thing that i want to mention is the vim plugin that i use that's this one and this allows me to have a vim editor-like capabilities in vs code i'm still a vim noob even after like half a year of using it but i find it quite useful and as i'm learning more and more about how film works i notice my editing skills also starts to improve so that's pretty nice but in settings i change one particular thing which is this film smart relative line and what that does is you see that on the left here it changes the way that line numbers work normally if i change this to false like so then as you see we get the regular behavior of line numbers like what you're used to but if i change this to true like so now you see we get a different behavior and what happens that you always see that the line number of the line that you're currently on so this is line 23 but then you have relative line numbers going up and going down and that's actually pretty useful for vim because often you're referring to other lines relatively while you're editing code so smart relative line i set that to true finally there's also vs code pdf that i use which allows me to display pdf in vs code which is pretty useful and that's actually it for the most part i've been playing around also with this plugin it's called error lens and it adds better highlighting of errors and warnings i'm a bit on the fence of whether i really like to use this because it does add a lot of extra information to your screen and i like my code editor to be relatively clean so i'm not really sure about this one but let me know what you think about it but those are the plugins that i use for my vs code setup and i keep things relatively simple i don't modify lots and lots of stuff in in vs code now of course next to these applications i think if you have this installed on your mac you're pretty much ready to go um there's lots of other apps that i use um more productivity apps like notion which i really like or i use dropbox for cloud storage i have chrome which is useful especially if you're doing web development you want to test it on different browsers i use vlc media player sometimes i have obs for live streaming i have mongodb compass because for my company we're using mongodb and having a tool that allows me to view the contents of the database pretty useful and then of course other tools like acrobat reader for pdf that's pretty useful i use affinity photo and affinity designer for creating thumbnails on other assets that i need for my youtube channel and of course the discord server which i use to get access to my community on discord if you haven't joined yet here's the link to join if you'd like to you're most welcome there it's a pretty nice community so that's it in terms of apps that i install and settings that i change in mac oso i keep things pretty simple pretty basic i don't change too many things so if you have a mac i hope this gave you a couple of ideas of how you can set it up so that it works well for you as a software developer if you enjoyed this video give the like and if you want to learn more about software design and software development consider subscribing to my channel thanks for watching take care and see you soon
Info
Channel: ArjanCodes
Views: 333,441
Rating: undefined out of 5
Keywords: setup macbook pro for development, macbook pro, m1 macbook pro, macbook dev setup, software engineering, software development, macbook pro 2022, programming setup mac, dev setup tutorial macbook, dev setup macbook, software engineer coding setup, development setup macbook, programming setup, programming laptop, apple m1, software engineer, m1 pro chip macbook pro dev setup, iterm2 how to customize, m1 max, macbook pro m1 max, macbook pro unboxing, python development
Id: 5eSaJGSGLs0
Channel Id: undefined
Length: 21min 22sec (1282 seconds)
Published: Fri Apr 29 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.