TIL: Setting Up Chromebook For Development

I’ve had a chromebook for a bit over a year now, but I honestly haven’t used it very much. I had bought it with the intention of using it as a beater to bring along with me on trips and use for coding, but it’s pretty much ended up being nothing more than something to do some light internet searching on.

Today I wanted to come back to it and see if I couldn’t get it setup into a development box to actually do some work on, and if that work would actually be productive.

Let Me Preface This Post…

I’m well aware that there are ways to side load linux on chromeOS. I’ve read through all of the “easy instructions” to get you up and running that require you to wipe the system open up your computer, flip switches, blah blah blah.

I didn’t want to dick around with any of that.

I’m happy that some people do and that it’s worth their time. Given my track record with trying to do “easy hacks” like that, I’d end up in a rage, pissed with myself for messing around with something that never needed to be messed with in the first place.

My goal was to find some non-intrusive way to max the machine capable of development.

The Secret Sauce

While chrome OS actually comes with its own terminal, most of the functionality is disabled to the normal user. In order to open it up and make it more linux like, there’s a bunch of soft hacks that you can do. As mentioned in the section above, that’s not what I wanted to do.

And honestly, if all you want is to have access to some stuff like git, python, node, golang, etc, I don’t think there’s any reason to put yourself through any of that either.

Why? Because termux.

Termux is a lightweight linux emulator that runs natively on android. And now that android apps are supported by chrome OS, that means it runs on chromebooks too.

You’re welcome to browse their documentation if you like, but essentially it opens up a linux environment for you to do whatever you want with it, including installing packages, tweaking settings, etc.

All of that can be done with almost no effort on the users part.

Getting Setup

There’s really only two steps to this:

  1. Download/install termux from the playstore
  2. Create a symbolic link back from your termux directory to you downloads (local storage)

And honestly, the second one is just personal preference. For me, I wanted to have access to the files easily from the file browser application so that I could open them up with the various text editors that I was trying out. If you don’t even care about that (just want to code with VIM), it’s not even needed.


The app can be downloaded from the play store here.

Let’s start by creating a new folder in your downloads folder called code. This can actually be done through termux by using the following command:

mkdir -p /storage/emulated/0/Download/code

Now create a code folder in your termux home directory:

mkdir ~./code

Finally, simply link them:

ln -s /storage/emulated/0/Download/code /home/code

Initial Impressions

I hate trying to do work on this thing.

While I think that the keyboard on this particular model is pretty nice, the track pad and moving between applications feels absolutely terrible. It all feels very claustrophobic.

I also have been unable to find a good application to use for coding. I think I’ve tried about four of them, and Caret seems like it’s the only one that’s halfway decent. I feel like you’d honestly be better off just working in some kind of online IDE to be honest.

Until there’s full support for installing linux apps, I’m not sure how much I’d try to do natively on the machine.