<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Marvin Trilles</title>
    <description>The latest articles on DEV Community by Marvin Trilles (@m3lles).</description>
    <link>https://dev.to/m3lles</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F174165%2F81096872-6553-47a4-b6ec-1b36c52472bb.jpg</url>
      <title>DEV Community: Marvin Trilles</title>
      <link>https://dev.to/m3lles</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/m3lles"/>
    <language>en</language>
    <item>
      <title>My Linux Backpack</title>
      <dc:creator>Marvin Trilles</dc:creator>
      <pubDate>Sun, 27 Dec 2020 16:37:35 +0000</pubDate>
      <link>https://dev.to/m3lles/my-linux-backpack-2o4c</link>
      <guid>https://dev.to/m3lles/my-linux-backpack-2o4c</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n6xXu-cM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/5Nc4PL2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n6xXu-cM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/5Nc4PL2.jpg" alt="my linux backpack"&gt;&lt;/a&gt;(photo grabbed from internet)&lt;/p&gt;

&lt;p&gt;I'm a MacOS guy for several years until my MBP died on me last year and haven't got a replacement for it. However, my 8 to 5 job revolves around Windows. Recently, Win10 has been working great for me. But, I always wanted a development environment that is different from what I use every day at work, change of scenery of some sort. So for 3 to 4 months I was reviewing the different flavors of Linux has to offer. Ubuntu has always got a soft spot for me, I have been on and off the platform since 2006. But the current interface has put me off. Either my system lags using it or I just need a more efficient OS. I'm not into games or the fancy graphics stuff anyway, I just need a reliable development machine. Eventually, I have decided to go with Xubuntu, an Ubuntu flavor utilizing a more resource friendly xfce interface. I never looked back since then.&lt;/p&gt;

&lt;p&gt;Fast forward to now, I'm moving to the  Focal Fossa 20.04 LTS release. I finally found time to migrate and wanted to start with a clean install. And with that, I have to re-install everything I needed. Been looking for a way to automate this process but for now I'll go the manual route.&lt;/p&gt;

&lt;h2&gt;
  
  
  What do I need ?
&lt;/h2&gt;

&lt;p&gt;As I have mentioned, I just need my development tools available and ready to roll. Let me list them down:&lt;/p&gt;

&lt;p&gt;The foundations&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gcc&lt;/li&gt;
&lt;li&gt;wget&lt;/li&gt;
&lt;li&gt;curl&lt;/li&gt;
&lt;li&gt;git&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The dev kits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;dotnet&lt;/li&gt;
&lt;li&gt;python&lt;/li&gt;
&lt;li&gt;ruby&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Editors and others&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;vscode&lt;/li&gt;
&lt;li&gt;oh my zsh&lt;/li&gt;
&lt;li&gt;typora&lt;/li&gt;
&lt;li&gt;azure cli&lt;/li&gt;
&lt;li&gt;powershell core&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Lets get down to business
&lt;/h2&gt;

&lt;p&gt;First order of business is to get all the foundations setup. Without these, I cant seem to progress any further.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;gcc&lt;/strong&gt; - the GNU Compiler Collection that includes a lot of libraries for the basic languages in Linux (e.g. C , C++)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# check if you have gcc installed&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;gcc &lt;span class="nt"&gt;--version&lt;/span&gt;

&lt;span class="c"&gt;# install if needed, this will include gcc, g++ and make&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;build-essential

&lt;span class="c"&gt;# install the manual&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;manpages-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;wget&lt;/strong&gt; - this is a command-line utility for downloading files from the web. In most cases, if you will be install other packages later on, wget will come in handy.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# check if you have wget installed&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;wget &lt;span class="nt"&gt;--version&lt;/span&gt;

&lt;span class="c"&gt;# install if needed&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;wget
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;curl&lt;/strong&gt; - is a command-line utility for transferring data from or to a remote server and just like wget, you will be needing this later if you intend to install additional packages.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# check if you have curl installed&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;curl &lt;span class="nt"&gt;--version&lt;/span&gt;

&lt;span class="c"&gt;# install if needed&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;curl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;git&lt;/strong&gt; - in this era of open source and gitlabs and githubs, you wont survive without git!
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# check if you have git installed&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;git &lt;span class="nt"&gt;--version&lt;/span&gt;

&lt;span class="c"&gt;# install if needed&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then we go to the programming languages I use. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;dotnet&lt;/strong&gt; - I am a developer that mostly used Microsoft technology ( dotNet, C#, VB.Net  and many more) for my entire developers life. I have longed for using C# in Linux since the day of Mono 1.0. I am just glad with this new dotnet revolution embracing cross platform development.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ubuntu support for .NET 5 can be found on this (page.)[&lt;a href="https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu"&gt;https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu&lt;/a&gt;]&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# check if you have dotnet installed&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;dotnet &lt;span class="nt"&gt;--version&lt;/span&gt;

&lt;span class="c"&gt;# install here&lt;/span&gt;
&lt;span class="c"&gt;# add the Microsoft package signing key to your list of trusted keys and # add the package repository&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb &lt;span class="nt"&gt;-O&lt;/span&gt; packages-microsoft-prod.deb
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;dpkg &lt;span class="nt"&gt;-i&lt;/span&gt; packages-microsoft-prod.deb

&lt;span class="c"&gt;# install the SDK&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; apt-transport-https &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; dotnet-sdk-5.0

&lt;span class="c"&gt;#install the runtime&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; apt-transport-https &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; aspnetcore-runtime-5.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;python&lt;/strong&gt; - Next to dotnet, python is my next go to language. Python usually comes out of the box with latest Xubuntu. But if you need to, see the steps below.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# check if you have python installed&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;python &lt;span class="nt"&gt;--version&lt;/span&gt;

&lt;span class="c"&gt;# if you must&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;python3.8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ruby&lt;/strong&gt; - Not for actual development purpose for now, I just need it for my blog. Trying out Jekyll as I move on from blogspot.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# check if you have ruby installed&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;ruby &lt;span class="nt"&gt;--version&lt;/span&gt;

&lt;span class="c"&gt;# if you must&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;ruby-full
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;more?&lt;/strong&gt; - Indeed! Rust and Golang to follow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, we go to my tools.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;vscode&lt;/strong&gt; - My editor of choice. I used the Software app to install VSCode.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;oh my zsh&lt;/strong&gt; - I work with the terminal evernow and then, it is just fitting to use "oh my zsh" with "agnoster" as my cli.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# make sure zsh is installed&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;zsh &lt;span class="nt"&gt;--version&lt;/span&gt;

&lt;span class="c"&gt;# install if you must&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade

&lt;span class="nv"&gt;$sudo&lt;/span&gt; apt &lt;span class="nb"&gt;install &lt;/span&gt;zsh

&lt;span class="c"&gt;# install the needed powerline font&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;powerline fonts-powerline

&lt;span class="c"&gt;# clone and install oh-my-zsh&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;sh &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh &lt;span class="nt"&gt;-O&lt;/span&gt; -&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;

&lt;span class="c"&gt;# customize your theme, I use agnoster :)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;typora&lt;/strong&gt; - Again, for my blog!
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;wget &lt;span class="nt"&gt;-qO&lt;/span&gt; - https://typora.io/linux/public-key.asc | &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-key add -

&lt;span class="c"&gt;# add Typora's repository&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;add-apt-repository &lt;span class="s1"&gt;'deb https://typora.io/linux ./'&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update

&lt;span class="c"&gt;# install typora&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;typora
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;azure cli&lt;/strong&gt; - For my cloud works. Azure has been my choice, though, I have the option to use Alibaba Cloud as well.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;curl &lt;span class="nt"&gt;-sL&lt;/span&gt; https://aka.ms/InstallAzureCLIDeb | &lt;span class="nb"&gt;sudo &lt;/span&gt;bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;powershell core&lt;/strong&gt; - As I have mentioned before, I'm a MS guy, so.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;wget &lt;span class="nt"&gt;-q&lt;/span&gt; https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;dpkg &lt;span class="nt"&gt;-i&lt;/span&gt; packages-microsoft-prod.deb

&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nt"&gt;-y&lt;/span&gt; &lt;span class="nb"&gt;install &lt;/span&gt;powershell
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;For basic development work I can roll with the setup above. However, my list above is not complete. Obviously, docker is missing. For my machine, I chose not to install a database directly on the system. I will go with a cloud approach or a container. But for now, I'm all set. &lt;/p&gt;

&lt;p&gt;How about you? Whats on  your Linux backpack?&lt;/p&gt;

&lt;p&gt;This article is also posted on my &lt;a href="https://trashvin.github.io"&gt;personal blog&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>xubuntu</category>
    </item>
  </channel>
</rss>
