Crafting My Art 🖼️
A Guide To My Dev Environment.
Introduction
Welcome Everyone, Today I decided to write another blog post after having a conversation with a friend. I asked him what should the topic be today and whether it should be a blog or more of a tutorial. He suggested a tutorial so I decided why not write on how I set up my Dev Environment. So read along while I explain how I set this up and why I chose said apps.
Homebrew
The First Item on the list is good ole Homebrew. I started using this Package Manager around 2019 when working at a former job of mine. At the time I was using a MacBook Pro as my work computer and wanted to find a way to install apps without needing to find the site after some searching was able to find homebrew and was loving and the access to other apps. In this next step, I’m going to show you how you can install it.
How To Install
This Package Manager only works on MacOS and Linux.
The first step is to head over to the Homebrew website.
When you arrive there you should see this command:
1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
NOTE: You will need to make sure Git is installed.
After this is all done it will spit out the next steps to do after. It is best to follow the steps. I will show you how to add homebrew to your Linux or MacOS Shell.
- For MacOS this is done for you by the script itself.
- For Linux, you can run this command:
1
echo 'eval "$(</home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
After that is all done you can install whatever program that is in their repo.
E.g.
1
brew install wget
This will install wget. Some apps may need to be added to your profile so the system knows the PATH.
Well, this is all for Homebrew.
WinGet
winget, like homebrew, is a Package Manager but for Windows. When doing dev work on my Windows desktop I base a lot of my script to install stuff around this package manager. Mainly being a neovim install script located in my dotfiles repo. But enough about that let’s see how you install it.
How To Install
- Check to see if it’s installed by doing a
1
winget
If it returns nothing then it is not installed and you can follow the next steps. If it does you can try installing something by doing something like
1
winget install JanDeDobbeleer.OhMyPosh -s winget
There is a chance that it may be installed. But is not installed correctly. In that case follow these steps:
From there just install or wait for it to update as sometimes on new installs it does need to update itself.
After all is said and done you can start installing stuff or even try and write a script with it. Try looking at winstall for apps that you can download.
VSCode
I use VSCode on the daily. I’m even using it to write this blog post. I mainly use this as the main code writing as it’s really easy to install extensions and has a vast majority of them as well. It also integrates with GitHub natively so when I feel like being lazy and not doing git commands from the terminal I can just click some buttons and then poof the code is on GitHub. You’re probably wondering well how do you install it? Well, let me show you.
How To Install
Method 1: Installer Package.
Universal
Head to the website you can get there easily by clicking on the header for VSCode. Find the OS you’re using and then install it that way.Method 2: winget
Windows Only
1
winget install Microsoft.VisualStudioCode
Method 3: Homebrew
MacOS only as it is a cask install.
1
brew install --cask visual-studio-code
After you’ve installed VSCode you can set up the environment how you would like. With theme, icons, and extensions. The ones I highly recommend are listed below.
Visual Studio Code Extensions
These are the ones I make sure are always installed or synced when I setup a new machine.
LazyVim
LazyVim is a distro of NeoVim a highly extensible and customizable text editor based on the popular Vim editor. It’s designed to improve upon Vim’s limitations while retaining its powerful editing capabilities and modal interface. I chose LazyVim as I use Vim all the time in Linux and Windows and wanted something a little more flexible when I didn’t feel like opening VSCode. LazyVim has videos all over YouTube and one day I decided to watch some and decided to try it out after talking to a Co-Worker of mine. I do not regret it one bit as LazyVim has helped me code better at times and understand how things work. It also keeps me away from the mouse. I even have my LazyVim Config on GitHub if you want to use it. Enough of the talk though Let’s show how you can install it.
How To Install
Method 1: Windows
Install NeoVim
1
winget install Neovim.Neovim
Make a backup of your current Neovim files:
1 2 3 4 5
# required Move-Item $env:LOCALAPPDATA\nvim $env:LOCALAPPDATA\nvim.bak # optional but recommended Move-Item $env:LOCALAPPDATA\nvim-data $env:LOCALAPPDATA\nvim-data.bak
Clone the starter:
1
git clone https://github.com/LazyVim/starter $env:LOCALAPPDATA\nvim
Remove the
.git
folder, so you can add it to your own repo later1
Remove-Item $env:LOCALAPPDATA\nvim\.git -Recurse -Force
Start Neovim!
1
nvim
Method 2: Linux/MacOS
Make a backup of your current Neovim files:
1 2 3 4 5 6 7
# required mv ~/.config/nvim{,.bak} # optional but recommended mv ~/.local/share/nvim{,.bak} mv ~/.local/state/nvim{,.bak} mv ~/.cache/nvim{,.bak}
Clone the starter
1
git clone https://github.com/LazyVim/starter ~/.config/nvim
Remove the
.git
folder, so you can add it to your own repo later1
rm -rf ~/.config/nvim/.git
Start Neovim!
1
nvim
That is how you can install LazyVim from their template. If you want to do it with my template, on the git clone
step all you would need to do is change the repo. Here’s how for the 3 OSs:
Windows
1
git clone https://github.com/ross-jm/lazyvim-config.git $env:LOCALAPPDATA\nvim
Linux/MacOS
1
git clone https://github.com/ross-jm/lazyvim-config.git ~/.config/nvim
Then remove the .git
folder so you can customize it to your liking and push it to your own GitHub account.
Git
Git is a distributed version control system primarily used for tracking changes in source code during software development. It allows multiple developers to collaborate on a project by managing different versions of files and coordinating their work efficiently.
With that being said I use git on the daily both at work and at Home. Heck, I’m even going to use it after this post to push the changes to the main branch so you can see this post. I’ve used Git for years on a nondev basis but as of a few years back, I got more into making stuff and posting it on GitHub so people could see what I do and even use it. It’s always a nice thing when someone sees some code of yours and is like wow this is nice. But let’s get into the fun part of how to install it. Which could not be easier.
How To Install
Method 1: Installer File
Semi-Universal
Go to the Git website by clicking on the Git header. After you get to the site you can click the Monitor to get to the downloads. On Windows, it will download an.exe
file, and on Linux, it will give you instructions on how to install it via the OS’s native package manager.Method 2: Homebrew
Linux/MacOS
1
brew install git
Method 3: WinGet
Windows
1
winget install Git.Git
Configure .gitconfig
file
After that is done you need to do one important step. As the header says we need to configure the .gitconfig
file. That can be done with the command below and replacing it with your info. Preferably with the email you used with your Git Maintainer.
1
2
3
git config --global user.name "Your Name" # name you want on the commits
git config --global user.email "[email protected]" # email used on the account or you're doing local git repos whatever email you want attached.
git config --global core.editor "your-preferred-editor" # preferred editor that git uses.
Change the info and paste those commands into your terminal and after you run them in your home directory you will see a file called .gitconfig
. You can also do a
1
git config --list
To check your config.
Epilogue
Well, Ladies and Gents, This is a wrap. Thank you for staying with me this time as I tell you about the software & hardware I use daily to do my dev work. This was a fun post to write and I’m glad I got the chance to write it.