Setting Up a Windows PC For Web Development: WSL, Git, Visual Studio, Oh My Zsh, etc

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
foreign thank you for watching this video I am Muhammad and today we're gonna be going through a journey of how we can actually set up our Windows environment for development purposes so we're going to be separating this video in three main sections and the first section is going to be focused on Linux we're going to be basically enabling Linux within our Windows machine and we're going to be basically utilizing WSL in order for us to do that we're going to be installing a package manager which is going to be Homebrew and install all of the different dependencies through that then we're going to be focusing on Windows I think our Visual Studio Visual Studio code SQL Server so on so forth and making sure everything is running there and then lastly we're going to be going through the development productivity items some of the tools that I utilize on day-to-day basis there and how we can actually see the full flow working together through other three sections if you like this video please like share and subscribe it will really helped the channel as well if you'd like to support me please consider supporting me on patreon or buying me a coffee now what does the grab a cup of coffee let's get started so the first thing that we're going to be doing is we're going to be enabling WSL windows and WSL is basically windows subsystem for Linux which means that we're going to have a fully large Linux operating system directly directly on top of our Windows machine and in order for us to do that we need to enable virtualization within windows in order for us to have this functionality so inside our start menu we're just gonna say turn on Windows feature or to remove this feature or not off and I have already done this before but if you haven't done so already go down within the list and make sure you have virtual machine platform or Windows hypervisor platform turned on this kind of basically requires some restarting for the machine but that should be fine once that is done just click ok and then we're gonna go to the Windows store inside the Windows store so once we go to the Windows store or we're gonna search for here is Linux and once we search for Linux we're gonna get Windows subsystem for Linux so once we click on it way to click on install yes I want to enable this and this will take roughly around a couple of minutes for it to actually be downloaded and installed and this is going to be a keyboard so we need to make sure that we do this first before we do everything anything else so let's just wait until this is done a few moments later so once that is done the next thing that I want is I want Ubuntu what I want version 20.0 six and I click on that and basically again I'm going to click on install while this is installing we need to see how are we going to be able to interact with it so inside our search I'm just going to type terminal and terminal here is going to be the updated version of CMD that you had before so within the new windows we got terminal which is going to be like an updated version of different types of terminal that's available for us and we can see here that if I click on the drop down we already have three built in which is going to be the windows Powershell one the command prompt and the other Cloud cell once we install Ubuntu we can directly see it here or any other operating Linux operating system will be able to sit here so let's just wait until Ubuntu has fully installed and then we come back here and we're able to see it a few so now that has been installed successfully I'm gonna close my terminal and then open it again and now all I'm gonna do is I'm gonna click on the small drop down button and I'm going to choose Ubuntu 20.0.4 and now the installation process for Ubuntu will take also a couple of minutes to be completed it's asking me for my username I'm just gonna put Muhammad password something simple and now we can see everything is set up perfect now all I'm gonna do is I'm gonna update my version of Linux so I'm just going to put sudo apt does get update it's gonna ask me for my password and then I'm gonna upgrade now so I'm gonna put again sudo apt let's get upgrade yes this will take a few minutes a few moments later okay perfect so now that has been updated successfully and everything is upgraded All I'm gonna do is now I'm gonna go to my web browser and inside my home browser I'm gonna search for Homebrew and then I'm gonna go to The Homebrew URL so actually let's search for Homebrew installed and I'm gonna go through the first link and then all I'm going to be doing here is just copy the first thing that shows up and I'm going to come to my terminal I'm going to clear everything and I'm gonna put the link there and click on enter now once I do that I'm going to click on enter and while it's being installed let me explain to you what is Homebrew so in essence Homebrew is a package manager and what do you mean by that it's basically it allows us to utilize different packages that are available directly within Linux so I don't really have to look for these packages I can just utilize this package manager in order for me to install them on my Linux machine so I can for example after a form node python.net so on so forth any types of systems or services that I need inside my Linux environment and you can actually utilize Homebrew for me to get it and the nice thing about Homebrew is basically very powerful so if I need for example some kind of CLI I can utilize home research in order for me to find it so now if I go here to my terminal again we can see that the installation process has been completed so in order then it gives me here that I need to follow these next steps so the first of all I'm gonna copy this line here oops I'm going to copy this line here and copy this line here and then put it here yes paste and run so that's the first thing actually the I just copy it like this maybe something did not work perfect now I'm gonna install the build essential which is required as well and this will take also a couple of minutes to complete and let's see what else do we have here and lastly I want to install the GCC so let's just wait until the build essential has finished installing perfect and lastly I'm gonna install the GCC which is all part of the requirements a few moments later perfect so now that GCC has been installed successfully I'm just going to do a quick update on everything that I have I'm gonna type blue upgrade and basically it's going to scan every single dependency that I have check if there's an update and currently there is nothing perfect so first item that I want to install is that my AWS CLI so inside my search inside The Homebrew website let me zoom in a bit we'll be able to see that this is going to be the command again I go through the search part I input whatever I want and here we can see I'm putting up with AWS CLI and you can see all of these different results I'm just gonna search and with land on here so this is version one I'm just going to type again AWS CLI one word and we got this one I don't want the version one I want the latest version which is this and I'm gonna copy this I'm gonna go back to my terminal and all I'm gonna do is just paste it here and draw it this will take also a couple of minutes I'll be basically everything independency it will take a bit of time for it to be installed a few moments later okay great so now that this has been installed successfully I'm just gonna go back to my Homebrew and I'm gonna search for Azure CLI and you can see this is the command for it so I'm just going to copy it is still installing let's give it a few minutes okay now it's installing the actual CLI before it was installing its dependencies and now it's in source so now if I type AWS configured we're gonna get the configuration uh process which I'm not gonna do right now let me clear this now I want to install the Azure CLI again Pro installed azure.cli and this command is directly available to me from the commander interface here as you can see now it's being installed okay perfect next I want to install Kit so I'm just going to search for kit and should be simple enough go back to my terminal oops let's clear things up and then put the command here it will install get this should not take a lot of time so now that this has been installed successfully now I want to configure it so I'm just going to put get actually let's clean it up so we can have more space I'm gonna put to get config dash dash Global and it's going to be user.name and here I'm going to input my username oops and I'm just going to put Muhammad 11 and then I'm gonna put get config dash dash globaluser dot email and here I'm just going to put my email address okay perfect so once I have configured kit the next point that we need to basically understand here is because right now I have Linux and windows available so there are two completely different operating systems so once I installed get on one it's gonna not gonna mean that's gonna be available on the other so right now I have installed git on win on Linux which means that I have to reduplicate the work and reinstall get again on wing on Windows and this is something that we need to be aware of when we're installing packages if you install them on Linux it does not mean that you can directly access them from Windows and vice versa so that's something just be very very often you're trying to do any type of configuration installing any types of packages or referring to any folders that you create on both so once we have done that the next step is I want to install terraform and it's going to be pretty straightforward blue installed terraform perfect and now for example I want to install node again I can put the blue install node and this will install the latest version of node.js great and then I'm gonna put uh I want to check the versions I can put node dash dash version I should be able to see that I have the latest one if I put npm test test version and I run we can see I'm running on data Stone by the time of this recording so now I want to install uh python which has already been installed but let's check it out so blue installed python 3. and you can see it's installed successfully okay so now that I have done that the next items that I would like to install here and basically configure after all of that it's gonna be my Zada stage so I'm gonna here I'm gonna type Ubuntu installs at sh and we can see here that there's a step-by-step process so I'm just gonna click on that process here and see how it's done and it's going to be as simple as installed I think apt get and then install it from there let's double check that checked all yeah I don't want to do this yep I'm just gonna take this copy it go back to my terminal run it get this already installed so it's installed the rest okay perfect so now without the install that that's agent font awesome I'm just gonna go to almost age and there's an installation button here I'm gonna go to it and it's going to give me this link I'm just going to copy this link and run it here and the reason that I'm doing this is I want the terminal within the next too much exactly the term that I have on my Mac so it will make it easy for me to switch between those two environments and I will have the same experience on both of them snow here is asking me do I want to continue yes I want to switch from my normal terminal to myself.h I'm gonna click on yes it's going to ask me for my password and here we can see I switched to my oh my Zs H perfect so once I've done that the next item is I want to put that sh forward level 10 000. and then I'm gonna go to that GitHub repo and within the GitHub repo if you go to installation you click on Homebrew it will give you the steps so I'm just gonna copy this go to home to my terminal under there so this basically means that I'm installing a theme on top of my zs8 which is going to be my new terminal type and basically it allow me to configure it more and basically have much more functionality outside of the box and we're going to be seeing how we can actually configure this once the installation has been finished successfully so we can see here the installation has finished so I'm going to right now just close my terminal and then open it again and I'm gonna click on the smaller small arrow button I click on Ubuntu and now here I can directly see that I have my configuration so it's asking me can I see a diamond here no because I didn't have that one install successfully which is fine and then there's yellow no I don't see it do I see a lock nope uh do you see this yes I can so which type do I want I prefer the lean Style ASCII and I'm gonna use the first one show current no I don't put on Thai one line and I'm gonna use the discounted so one and the ESC lightest yeah like this why not yeah I'm gonna I like the compact one and I like the concise yes so I'm going to choose yes and I'm just gonna put variables yes oops should be away perfect so now again I'm gonna close this and I'm gonna go to the start and I'm gonna click on Terminal and from here I'm gonna go to the drop down Ubuntu and we can see it's there so if I type for example PWD I'm able to see exactly where I am and what I'm gonna do right now is I'm gonna click CD actually I'm gonna get it directly inside my uh home folder so right there I'm gonna call it codes and I'm gonna navigate to code and if I top PWD we can see that I'm able to create a folder inside my home directory and inside my code folder here what can I do I'm just gonna create a [Music] um header file touch index.html and if I type I'll ask we can see that I have this file available and If I click on Nano index.html I can modify it I'm just going to put HTML and close it down let's see if I can add the head for example okay then I'm Gonna Save this perfect affected by LS the file listed there if I open it up everything said that okay perfect so now that I have done that and I have everything available for me here all I need to do right now is go to my GitHub website and first of all I need inside my terminal generate an SSH key copy it and then I'll add it to my GitHub website I'm gonna do this offline and basically this will give me the full initial setup of my the next environment so now that has been done let us move the next step which is basically installing Windows software and making sure that we are configuring the way we want there so let's start with Windows now so now we want to go to our web browser and inside my web browser I'm gonna look for wingat.com and basically what we're going to be doing right now is I'm going to utilize the windows package manager and in this case if I want to find all of the packages I can go to wingate.run and from there all I'm going to be doing is I'm going to look for the specific application that I need and I'm going to store them through that so the first one is going to be good so inside the search I'm gonna put get oops let's try again perfect and here we can see that I have the copy command so I'm just going to copy the command go back to my Powershell here and just paste the command and run it this will also take a few minutes to complete so what is downloading let's talk for other packages and the other one is going to be Visual Studio code so as you can see here there's a lot of different Visual Studio there's Community there's Enterprise there's professional and then there is here the visual studio code that's exactly what I want and I'm gonna copy the command let us just wait forget to finish installing and then we can actually execute it okay perfect now that git has installed successfully let me first do the configuration for it similar that we have done previously get config Dash Dash Global user.name and this is going to be Muhammad then it's gonna say git is not a recognized command so this means that I need to let's see if it's going to give me that error yeah it will give that error right now so let's close our terminal and address open it again so going back to search terminal and let's execute the last command perfect and then get config dash dash global user.email so now that I configured get now I'm going to install Visual Studio code but also utilizing ringgit this will also take a couple of minutes to finish if we go back while this is installing let's put it here on the side if we go back to the main Wingate website we can see here that there is 4 315 packages available for us to utilize and if we just take a look at it let's see if we can find something interesting so we can see here we have stuff for Zoom we don't really want zoom score but down I think there's one which is really interesting let's see if we can find it let's look for it I think it's called not something let's look so this is the sdks we don't really want to install the SDK we're gonna install the SDK for that not using visual studio hmm I'm not sure what it is to be honest okay so now Visual Studio has been started successfully that's completely fine what I want us to do is let us open Visual Studio and let us do some configuration actually let's open the visual studio code so we're gonna put open Visual Studio code and we're gonna go to the packages section inside to show Studio code and we're gonna install the python one then we're gonna look for C sharp and we're sorry we're gonna install also the plants so these packages will allow us to basically have support for these programming languages and Central Studio code at git class will provide us but a lot of good capabilities when it comes to managing our branches and managing basically our source code so let us put here C and or c-sharp C sharp let's download it okay so now while this is being downloaded oh there's one more uh that's it's called I think font not phone icons I can't remember what it was let's see it material theme okay material icons that's it that's not loaded okay great so now what is installing what we want to do is we're going to go to our web browser again and inside the search I'm just gonna type Visual Studio 2022 community and we're gonna download it now and then here I'm gonna click on download and this will take a few seconds to download the setup for this setup so now that we have downloaded this now it's going to install or basically download the setup for us continue so now we're gonna have the installer downloaded let's finish okay let's see the installed packages that we currently have this okay now we can see I have five installed packages there's a couple of one that I would like to add let's make this a bit bigger okay python is there okay let's install Docker although we did not install Docker yet but I really like the extension here okay now let's go back to our installer okay perfect now with that installer has opened what I want to do inside for visual studio I want basically to download asp.network development Azure development python naughty as we have already installed these through our Linux environment so don't really have to worry about it here a multi-platform yes we need that and that not desktop development yeah there's no harm in having that and lastly what I want here is the data storage and processing perfect so now we can see that we have a chunk a bit of a chunk of data to download so I'm just going to click on install and just wait for it to finish just to take like roughly 10 minutes to complete so once that's completed we're gonna resume now we wait so finally the installation has completed successfully and from here what we're going to be doing is we're going to open Visual Studio code so I'm just going to start a visual studio I'm just going to launch it and we can see he is asking me inside in I'm gonna skip this for now I'm gonna choose the Dark theme it's again let's close this one keep one running only again it's going to take a few minutes and we can see if we just open Task Manager we'll be able to see like the amount of CPU that is actually being utilized just to open a visual studio it's crazy okay so now let's create a new project I'm really fascinated by why does it take so much time just to even initialize it okay let's open Task Manager I would like to see the processes yeah we can see the performance spiked okay let's use here web API okay Stephen lagging okay now let's click on next I'm not gonna choose this I'm going to choose a different repository I'm gonna go to documents and here I'm just gonna create a new folder called work and inside this folder I'm going to create a new one called code and I'm going to use this and I'm just going to call this demo dot API it's also called the project name solution name uh Stephen the same and next I'm going to use.net7 everything's gonna stay the same I'll create yeah it's pretty performance is not really that good it's pretty bad okay just give it a minute for it to wake up and does its things I used to swear by Visual Studio but now okay it's just kind of clunky and clunky so now if I open my controller okay fine let's open it up as http and let's run it just to make sure all of this is just to make sure that everything is running as it should be so we don't have any major issues to be honest with the installation a few moments later and if I click contract out are we gonna get the response okay perfect so that means that everything is running as should be just for comparison's sake which is very interesting I'm just kind of ways this open okay that's the application itself I'm gonna close it just so we can see how much faster if you want to just create this inside the terminal so I'm just going to go to documents actually I'm not sure where I am oh there's documents uh there's work let's go to work and there's code so let's go to code and I'm just gonna create a new directory called compare just so we can test this out let's go do it I'm gonna clear and I'm gonna see how much time it's gonna take me just to create a new.netflower API through the command line.net new web API Dash on and I'm gonna call it up double DPI anything and if I run this that does not recognized interesting although it is installed if I put.net dash dash version okay let's try and see empty actually let's close up let's close this and then open it again maybe it needs a restart after visual studio so terminal dot not dash dash version with our work okay now it's working so let's go to documents then work code compare and then here I'm just gonna Heat this up and put dotnet new web API Dash and call it web API [Music] see how it looks gonna take pants still it's slow actually took a few seconds so now if I just try to open this in Visual Studio code for example yeah it opened up although I have a lot of problems adjusting your code but it's fast comparative video Studio yeah it's running as a chat anyway we still have to use Visual Studio having no one done but it's unfortunate it's that slow so now that we have made sure that Visual Studio is up and running and everything is installed now what we're going to be doing is we need to install our SQL Server so again I'm gonna go back to my web browser and I'm gonna install SQL Server 2022 Express and I'm just going to go to this link I'm gonna say I'm gonna Express now you can see it's downloading let's open it up I'm gonna go with a basic installation I accept installed and now it's gonna download basically all of the different requirements then it's going to install it for us so let's let us give this maybe a couple of minutes until it's finished and then we can resume a few moments later okay perfect so now that this has completed successfully the next item that we want to install is something called the SQL service management studio and basically SQL Server Managed IT is a way where you can actually manage our SQL Server databases and the nice thing about it as well is it will allow us to manage any types of database it does not have to be our local one so once we go here I'm just going to click on download SQL service manager Studio I don't know it's gonna be a bit big so three minutes okay so it opened twice as close one of them and now that has open we're just gonna click on install yes okay perfect so now that SQL 7 mentioned Studio has installed successfully I'm gonna close this and let's open it up so I'm just gonna go ahead to SQL Server management Studio and here we basically we have Windows authentication or SQL serverless authentication I'm just going to use Windows authentication for now and here I can see that connected to my local version of SQL Server Express I'm just going to create a new random database I'm gonna call it demo and click on OK perfect and now what I want to do is I want to basically enable sa authentication so SQL Server logging in so I'm gonna go to security like click on SQL server and windows authentication mode so both of them needs to be updated I'm going to click on OK perfect and then once I did that I'm gonna go to security under logins under as a rightly click on it properties and then here basically what I want to do is I want to specify first of all the password so something easier than this I'm going to remove the policies for the password as it's a local version it doesn't really matter server road that should be it user mapping that should be fine status I'm gonna enable the login Grant and that once all of that is done I'm just going to click ok and I'm gonna close Visual Studio sorry SQL Server management studio and then I'm gonna type here SQL we should get the SQL Server 2022 configuration manager can we click on it and then all I'm going to be doing is choose SQL server server services on the left hand side and here for SQL Server Express I'm just gonna click on restart and this will take roughly like 30 seconds to complete to stop the service and then put it up again so that way basically it will think that we have restarted the entire machine but we haven't actually now it's starting it up okay perfect so now I'm just gonna close this and we're gonna open SQL Server management Studio again and this end of using SQL Server management studio um sorry Windows authentication I'm going to utilize the SQL servers authentication and I'm gonna put the username as a and the EC password that I have added previously click on connect and now we can see that I was able to connect to it through SQL Server authentication and this will make it easy for me whenever I'm building any types of application that needs connection to SQL Server to utilize the authentication for SQL Server management Studio rather than the window Authentication okay perfect so now this is all working and done the next step is I want to go to the Microsoft store and click on the home and from here I'm just going to look for Developers and you should be able to see a list of productivity apps that are catered For Developers and there's a couple of items that I want to install from here so first of all I want to install Dove toys which is really really cool features which is available and I'm going to click on installed I'm gonna go back what this is installing and there's another one which is called I think power toys which is introduced by Microsoft let's look over here it is and I'm going to click on install this one so now we can see it afterwards and install success videos open it up and see the main benefit of it and basically the reason that I like draft toys is we have out of the converter that's needed it's all built in so I don't really need to go to any website and utilize from there we can have all of this available locally and offline you can even have the Chrome parser which is really really good encoders and decoders we have all of these different encoders and decoders on the JWT is really powerful here specifically if you're trying to do any type of authentication mechanism for us to all of that you can utilize the JWT token here in order for you to investigate the token that you currently have let's check all of the claims it's a really good tool four matters self-explanatory but basically you'll be able to have good formatting available for you text to allow you to do some records which is really interesting and the graphics that's something that for for example connect Pickers uh PNG conversion or compressor so on so forth so I feel that's a really good tool and if you are able to please provide the developer with a tip because it's a really good tool and now the other one which is which is currently installing which is still installing which is our toys let's give it an extra few seconds for it to complete and basically here we can see all the different functions that are available always on top for example which just allows us to keep a screen always on top or any window that we needed always on top without the need to always trying to bring it up awake it will keep our computer awake as long as needed this is really beneficial if you're trying to upload a large amount of files or for example if you're trying to run a large compilations without the computers going to steep that's really powerful most utilities and all of that and fancy zone is really good because it allow you to also separate your desktop in the different zones and it will give you much more better scalability of your screen real estate so now that we have covered these two main things from the Windows store some of the other items and this is going to be mostly target to productivity and basically to make sure that I'm on top of all the tags that I need to do we're gonna go to download a couple of small applications and that's gonna be right now okay so the last few applications are first of all it's going to be the two that I use most of the time in order for me to keep track of my projects and any work that I'm trying to do which is going to be notion and I really encourage you to download notion it's a really powerful tool there is a free version and there's a paid version I go with the free version at this moment so we'll go to Mac and windows and we'll download the windows one and you can see here there's a lot of stuff that can be done with Notions specifically with projects some AI stuff which is really fascinating it's really really good and the other items that I like to download as well and utilize which is Microsoft to do which is already built in so if I click on to do we can see it's already built in and I already have some items there available for me the other item which is going to be Spotify I think it's already installed let's double check I think I stored this previously but if it's not we can it's not there so let's download it and install it and you can go into the store the reason I like to have Spotify ah installed rather than utilizing our player is the offline of a capabilities so if I don't have any Internet connection I will be still able to listen to the way I want to listen so that's also being installed at this moment and the last item that I really recommended everyone to actually download and install on their machine it's going to be notepad plus plus not pad plus plus is one of the best notepad applications ever it is very powerful it has a lot of different functionalities and all in all it's just an app that I recommend for everyone to have you know we're gonna go to potency is downloading notepad plus plus like I highly recommend it okay next I agree next next install uh basically this is going to be the end of the setup so here we can see the main programs that I utilize and Auto for uh to make sure windows are pandemic for development purposes there's a couple of extra items like Android uh Studio that takes a bit of time to download as well and one extra item as well that I would like to utilize is postgres I don't have a need for it right now so I'm not installing it but that's something that I might install on my machine as well I hope this video was helpful please like share and subscribe if you found it helpful and if you'd like to support me please consider supporting me on painting or buy me a coffee if you know if you have any specific program that you like which I have not mentioned please mention the comments down below and I'll make sure to recommend it in future videos thank you very much for watching and have a great day
Info
Channel: Mohamad Lawand
Views: 6,526
Rating: undefined out of 5
Keywords: windows subsystem for linux, software developer, dev setup mac, dev setup linux, dev setup windows, dev setup, ubun, ubuntu, homebrew, developers developers developers, visual studio, visual studio code tutorial, visual studio code, sql server installation, sql server configuration manager, developers setup, developer settings
Id: 3_hvqNOyJ8Y
Channel Id: undefined
Length: 45min 7sec (2707 seconds)
Published: Sun Jul 23 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.