From 3414053d7cd17b43dd929e4e5fc468d98145e0d5 Mon Sep 17 00:00:00 2001 From: Akshay Date: Sat, 17 Oct 2020 12:34:30 +0530 Subject: update intro, new post: Self-hosting Git! --- docs/posts/nixOS/index.html | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'docs/posts/nixOS/index.html') diff --git a/docs/posts/nixOS/index.html b/docs/posts/nixOS/index.html index de6da96..90de43e 100644 --- a/docs/posts/nixOS/index.html +++ b/docs/posts/nixOS/index.html @@ -54,10 +54,10 @@

Builds may be generated by specifying a default.nix file, and running nix-build. Conventional package managers require you to specify a dependency list, but there is no guarantee that this list is complete. The package will build on your machine even if you forget a dependency. However, with Nix, packages are installed to /nix/store, and not global paths such as /usr/bin/..., if your project builds, it means you have included every last one.

Issues on most my projects have been “unable to build because libxcb is missing”, or “this version of openssl is too old”. Tools like cargo and pip are poor package managers. While they can guarantee that Rust or Python dependencies are met, they make assumptions about the target system.

For example, this website is now built using Nix, anyone using Nix may simply, clone the repository and run ./generate.sh, and it would just work, while keeping your global namespace clean™:

-
#! /usr/bin/env nix-shell
-#! nix-shell -i bash -p eva pandoc esh
-
-# some bash magic ;)
+
#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p eva pandoc esh
+
+# some bash magic ;)

Dependencies are included with the -p flag, the shell script is executed with an interpreter, specified with the -i flag.

Impressions

NixOS is by no means, simple. As a newcomer, using Nix was not easy, heck, I had to learn a purely functional, lazy language to just build programs. There is a lot to be desired on the tooling front as well. A well fleshed out LSP plugin would be nice (rnix-lsp looks promising).

@@ -76,7 +76,10 @@

I'm Akshay, I go by nerd or nerdypepper on the internet.

I am a compsci undergrad, Rust programmer and an enthusiastic Vimmer. - I write open-source stuff to pass time. I also design fonts: scientifica, curie. + I write open-source stuff to pass time. + I also design fonts: + scientifica, + curie.

Send me a mail at nerdy@peppe.rs or a message at nerdypepper@irc.rizon.net.

-- cgit v1.2.3