about summary refs log tree commit diff
path: root/users/wpcarro/website/blog/content/english/lets-learn-nix.md
diff options
context:
space:
mode:
Diffstat (limited to 'users/wpcarro/website/blog/content/english/lets-learn-nix.md')
-rw-r--r--users/wpcarro/website/blog/content/english/lets-learn-nix.md58
1 files changed, 58 insertions, 0 deletions
diff --git a/users/wpcarro/website/blog/content/english/lets-learn-nix.md b/users/wpcarro/website/blog/content/english/lets-learn-nix.md
new file mode 100644
index 000000000000..a7c9a22e422e
--- /dev/null
+++ b/users/wpcarro/website/blog/content/english/lets-learn-nix.md
@@ -0,0 +1,58 @@
+---
+title: "Lets Learn Nix"
+date: 2020-03-13T21:50:47Z
+draft: false
+---
+
+## Background
+
+[Nix][wtf-nix] may be the most useful tool that I use. I consider it as valuable
+as [Git][wtf-git] or [Emacs][wtf-emacs]. My friend, David ([@dmjio][who-dmjio]),
+first introduced me to Nix when we worked together at a Haskell startup in
+NYC. Before this, I had been managing my system configuration using software
+that I wrote -- first in Bash, then in Python, then in Golang.
+
+It took me awhile to understand Nix. I left the NYC startup, joined Google, and
+relocated to London. Here I met another Nix-enlightened monk, Vincent
+([@tazjin][who-tazjin]), who patiently taught me enough Nix to become
+self-reliant and productive.
+
+Many resources exist to learn Nix; the Nix community on IRC continues to help me
+and others effectively use Nix. I'm creating this series to write the tutorials
+that I would have found useful when I started learning Nix. If you are just
+beginning your Nix journey, I hope these tutorials help you.
+
+## Goals
+
+I aim to make each tutorial in the "Let's Learn Nix" series:
+- Actionable: Readers will be writing code.
+- Digestible: Readers should be able to finish each tutorial in fifteen minutes.
+- Reproducible: Readers should expect the output of their code to match what
+  these tutorials claim they should see.
+
+## About the author
+
+My name is William ([@wpcarro][who-wpcarro]). My three favorite tools are Git,
+Emacs, and Nix. I am an American expat currently working at Google in
+London. While during the day I primarily write Java, Python, and TypeScript, I
+prefer functional programming. I use Nix to deploy software and manage the
+multiple machines across which I work.
+
+## Let's Begin
+
+Before we get started, Nix is a programming language. To familiarize yourself
+with the syntax, semantics, and idioms, consider reading this brief [Nix One
+Pager][nix-1p]. I recommend keeping it around as a reference.
+
+When I was first learning Nix, I wanted to use it to manage my dotfiles. Our
+first tutorial will help you get started: [Let's Learn Nix:
+Dotfiles][lln-dotfiles]
+
+[wtf-nix]: https://nixos.org
+[wtf-git]: https://git-scm.com
+[wtf-emacs]: https://www.gnu.org/software/emacs
+[who-dmjio]: https://twitter.com/dmjio
+[who-tazjin]: https://twitter.com/tazjin
+[who-wpcarro]: https://twitter.com/wpcarro
+[lln-dotfiles]: /lets-learn-nix-dotfiles
+[nix-1p]: https://github.com/tazjin/nix-1p