How I set my Linux computer for coding
Tags: codenewbie, beginners, linux, ubuntu
Published: 2020-01-10 22:38:57

Hello guys, it's me again today I'm going to show you what's my setup for a Linux machine take in mind I'm not talking about a RPI or a server, I'm talking about a full flesh developer's pc, for this example I'm using a computer with ubuntu 19.10 installed.

Most of this are just small lists so you know what they are, and I will add a command or two while write them (Most how to install them)

# Packages
Here you will see some programs that they are easily installed with apt, that is why i decided to separate packages and software.

## build-essentials
If you didn't knew, build-essentials is literally what it says, the essentials to build **a lot** of software, mostly I use it to install g++ and gcc, c++ and c compiles and make, software used to make a compilation more human.

```bash
sudo apt install build-essential
```

## python3 and pip3
When i finnished my programming course on college, the first thing I tried to learn was python (I did good i think), and looking that python2 is getting deprecated this year, why not python3? Mostly I use it when I'm trying to learn ML and Django (never quite understood Django)

```bash
sudo apt install python3 python3-pip
```

## Node.js and npm
I mean... come on? node.js and npm are like the heart of **tons** of projects now a day, with web development trying to replace software development, I use this two for most of my web projects.

```bash
sudo apt install nodejs npm
```

## Expo
I use expo for quick and dirty react native apps, for me is the best absolutely, you should give it a try if your pc isn't really powerful but you want to make apps.

```bash
sudo npm install -g expo-cli
```

## CRA (create-react-app)
I Know its not the best, but it makes the cut plus is kind of fast, but I use it to make my react project templates
```bash
sudo npm install -g create-react-app
```

## Git
I don't even know why i left this for the last... I mean... git man, is like the most used command I have on my pc, I dont even need to let you know what i use it for.
```bash
sudo apt install git
```

## Vim
I like to experiment with server and stuff, and most of the times they have a "sudo protected" file and I need to edit it, so I just use vim, it can be a B!tch but I like it.
```bash
sudo apt install vim
```

# Fonts
If you are new to coding, you might be thinking "WHY THE F!@K do I need a font for?"
Well let tell you that fonts are really important, you wouldn't like stare at a ugly font for 5+ hours right?


## Fira code
So give fira code a chance, here is the GitHub page, since it depends on every OS, how to install them. 
[Fira Code](https://github.com/tonsky/FiraCode)

**Edit**
A good friend of mine did this tutorial
{% post https://dev.to/josuerodriguez98/installing-firacode-on-windows-and-ubuntu-1fn1 %}

# Software

## VS code
I use vs code as my main code editor,I think I don't need to elaborate. I installed it from the [Official Site](https://code.visualstudio.com/)

## Thunder bird
I use thunder bird obviously for my emails, It was my first email app, and its still going, you can actually install this one with a command.

```bash
sudo apt-get install thunderbird
```

# Random programs I use (You might like one)
1. Popcorn Time - I Love watching movies (not while coding though...)
2. Transmission - Illegal stuff you know... movies hahaha.
3. Gimp - Simple to use image editor.
4. Libresprite - Ok so this one my first program compiled by myself, let me know if you would like to learn to do so. 


So this was my first actual "long" post, if you liked it please let me know. That way I might  Start making more "long" posts