about summary refs log tree commit diff
path: root/users/tazjin
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-01-30T16·06+0300
committertazjin <tazjin@tvl.su>2022-01-31T16·11+0000
commitaa122cbae78ce97d60c0c98ba14df753d97e40b1 (patch)
tree12b98d85c4b18fe870feb26de70db9ba61837bd7 /users/tazjin
parent2d10d60fac0fd00a71b65cfdcb9fba0477b2086c (diff)
style: format entire depot with nixpkgs-fmt r/3723
This CL can be used to compare the style of nixpkgs-fmt against other
formatters (nixpkgs, alejandra).

Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: Profpatsch <mail@profpatsch.de>
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: cynthia <cynthia@tvl.fyi>
Reviewed-by: edef <edef@edef.eu>
Reviewed-by: eta <tvl@eta.st>
Reviewed-by: grfn <grfn@gws.fyi>
Diffstat (limited to 'users/tazjin')
-rw-r--r--users/tazjin/aoc2019/default.nix22
-rw-r--r--users/tazjin/aoc2020/default.nix16
-rw-r--r--users/tazjin/blog/default.nix17
-rw-r--r--users/tazjin/blog/posts.nix2
-rw-r--r--users/tazjin/dns/default.nix7
-rw-r--r--users/tazjin/emacs/default.nix305
-rw-r--r--users/tazjin/homepage/default.nix5
-rw-r--r--users/tazjin/homepage/feed.nix5
-rw-r--r--users/tazjin/nixos/camden/default.nix38
-rw-r--r--users/tazjin/nixos/frog/default.nix10
-rw-r--r--users/tazjin/nixos/tverskoy/default.nix186
-rw-r--r--users/tazjin/presentations/bootstrapping-2018/default.nix38
12 files changed, 344 insertions, 307 deletions
diff --git a/users/tazjin/aoc2019/default.nix b/users/tazjin/aoc2019/default.nix
index ce3146d1f74e..a1798f400174 100644
--- a/users/tazjin/aoc2019/default.nix
+++ b/users/tazjin/aoc2019/default.nix
@@ -11,12 +11,16 @@ let
   getDay = f: head (matchSolution f);
 
   solutionFiles = filter (e: dir."${e}" == "regular" && isSolution e) (attrNames dir);
-  solutions = map (f: let day = getDay f; in {
-    name = day;
-    value = depot.nix.writeElispBin {
-      name = "aoc2019";
-      deps = p: with p; [ dash s ht ];
-      src = ./. + ("/" + f);
-    };
-  }) solutionFiles;
-in listToAttrs solutions
+  solutions = map
+    (f:
+      let day = getDay f; in {
+        name = day;
+        value = depot.nix.writeElispBin {
+          name = "aoc2019";
+          deps = p: with p; [ dash s ht ];
+          src = ./. + ("/" + f);
+        };
+      })
+    solutionFiles;
+in
+listToAttrs solutions
diff --git a/users/tazjin/aoc2020/default.nix b/users/tazjin/aoc2020/default.nix
index 7a7309ac5aaa..cd89da7de412 100644
--- a/users/tazjin/aoc2020/default.nix
+++ b/users/tazjin/aoc2020/default.nix
@@ -11,12 +11,16 @@ let
   getDay = f: head (matchSolution f);
 
   solutionFiles = filter (e: dir."${e}" == "regular" && isSolution e) (attrNames dir);
-  solutions = map (f: let day = getDay f; in depot.nix.writeElispBin {
-      name = day;
-      deps = p: with p; [ dash s ht p.f ];
-      src = ./. + ("/" + f);
-  }) solutionFiles;
-in pkgs.symlinkJoin {
+  solutions = map
+    (f:
+      let day = getDay f; in depot.nix.writeElispBin {
+        name = day;
+        deps = p: with p; [ dash s ht p.f ];
+        src = ./. + ("/" + f);
+      })
+    solutionFiles;
+in
+pkgs.symlinkJoin {
   name = "aoc2020";
   paths = solutions;
 }
diff --git a/users/tazjin/blog/default.nix b/users/tazjin/blog/default.nix
index 6ac89e46656a..c8b3c318995b 100644
--- a/users/tazjin/blog/default.nix
+++ b/users/tazjin/blog/default.nix
@@ -23,7 +23,7 @@ let
 
   posts = filter includePost (list post (import ./posts.nix));
 
-  rendered = pkgs.runCommandNoCC "tazjins-blog" {} ''
+  rendered = pkgs.runCommandNoCC "tazjins-blog" { } ''
     mkdir -p $out
 
     ${lib.concatStringsSep "\n" (map (post:
@@ -31,13 +31,16 @@ let
     ) posts)}
   '';
 
-in {
+in
+{
   inherit posts rendered config;
 
   # Generate embeddable nginx configuration for redirects from old post URLs
-  oldRedirects = lib.concatStringsSep "\n" (map (post: ''
-    location ~* ^(/en)?/${post.oldKey} {
-      return 301 https://tazj.in/blog/${post.key};
-    }
-  '') (filter (hasAttr "oldKey") posts));
+  oldRedirects = lib.concatStringsSep "\n" (map
+    (post: ''
+      location ~* ^(/en)?/${post.oldKey} {
+        return 301 https://tazj.in/blog/${post.key};
+      }
+    '')
+    (filter (hasAttr "oldKey") posts));
 }
diff --git a/users/tazjin/blog/posts.nix b/users/tazjin/blog/posts.nix
index b43598d01358..eeba600286db 100644
--- a/users/tazjin/blog/posts.nix
+++ b/users/tazjin/blog/posts.nix
@@ -37,7 +37,7 @@
     key = "the-smu-problem";
     title = "The SMU-problem of messaging apps";
     date = 1450354078;
-    content =./posts/the-smu-problem.md;
+    content = ./posts/the-smu-problem.md;
     oldKey = "1450354078";
   }
   {
diff --git a/users/tazjin/dns/default.nix b/users/tazjin/dns/default.nix
index da92b88beade..6c51cb5de4f5 100644
--- a/users/tazjin/dns/default.nix
+++ b/users/tazjin/dns/default.nix
@@ -2,11 +2,12 @@
 { depot, pkgs, ... }:
 
 let
-  checkZone = zone: file: pkgs.runCommandNoCC "${zone}-check" {} ''
+  checkZone = zone: file: pkgs.runCommandNoCC "${zone}-check" { } ''
     ${pkgs.bind}/bin/named-checkzone -i local ${zone} ${file} | tee $out
   '';
 
-in depot.nix.readTree.drvTargets {
-  kontemplate-works = checkZone "kontemplate.works"./kontemplate.works.zone;
+in
+depot.nix.readTree.drvTargets {
+  kontemplate-works = checkZone "kontemplate.works" ./kontemplate.works.zone;
   tazj-in = checkZone "tazj.in" ./tazj.in.zone;
 }
diff --git a/users/tazjin/emacs/default.nix b/users/tazjin/emacs/default.nix
index c7c57ba35543..08ff76c00ca1 100644
--- a/users/tazjin/emacs/default.nix
+++ b/users/tazjin/emacs/default.nix
@@ -2,166 +2,173 @@
 # and my personal Emacs configuration.
 { lib, pkgs, ... }:
 
-pkgs.makeOverridable({ emacs ? pkgs.emacsGcc }:
-let
-  emacsWithPackages = (pkgs.emacsPackagesGen emacs).emacsWithPackages;
+pkgs.makeOverridable
+  ({ emacs ? pkgs.emacsGcc }:
+  let
+    emacsWithPackages = (pkgs.emacsPackagesGen emacs).emacsWithPackages;
 
-  # If switching telega versions, use this variable because it will
-  # keep the version check, binary path and so on in sync.
-  currentTelega = epkgs: epkgs.melpaPackages.telega;
+    # If switching telega versions, use this variable because it will
+    # keep the version check, binary path and so on in sync.
+    currentTelega = epkgs: epkgs.melpaPackages.telega;
 
-  # $PATH for binaries that need to be available to Emacs
-  emacsBinPath = lib.makeBinPath [
-    (currentTelega pkgs.emacsPackages)
-    pkgs.libwebp # for dwebp, required by telega
-  ];
+    # $PATH for binaries that need to be available to Emacs
+    emacsBinPath = lib.makeBinPath [
+      (currentTelega pkgs.emacsPackages)
+      pkgs.libwebp # for dwebp, required by telega
+    ];
 
-  identity = x: x;
+    identity = x: x;
 
-  tazjinsEmacs = pkgfun: (emacsWithPackages(epkgs: pkgfun(with epkgs; [
-    ace-link
-    ace-window
-    avy
-    bazel
-    browse-kill-ring
-    cargo
-    clojure-mode
-    cmake-mode
-    company
-    counsel
-    counsel-notmuch
-    d-mode
-    direnv
-    dockerfile-mode
-    eglot
-    elfeed
-    elixir-mode
-    elm-mode
-    erlang
-    exwm
-    flymake
-    go-mode
-    google-c-style
-    gruber-darker-theme
-    haskell-mode
-    ht
-    hydra
-    idle-highlight-mode
-    ivy
-    ivy-prescient
-    jq-mode
-    kotlin-mode
-    lsp-mode
-    magit
-    markdown-toc
-    meson-mode
-    multi-term
-    multiple-cursors
-    nginx-mode
-    nix-mode
-    notmuch
-    paredit
-    password-store
-    pinentry
-    polymode
-    prescient
-    protobuf-mode
-    rainbow-delimiters
-    rainbow-mode
-    refine
-    request
-    restclient
-    rust-mode
-    sly
-    string-edit
-    swiper
-    telephone-line
-    terraform-mode
-    toml-mode
-    transient
-    undo-tree
-    use-package
-    uuidgen
-    vterm
-    web-mode
-    websocket
-    which-key
-    xelb
-    yaml-mode
-    yasnippet
-    zoxide
+    tazjinsEmacs = pkgfun: (emacsWithPackages (epkgs: pkgfun (with epkgs; [
+      ace-link
+      ace-window
+      avy
+      bazel
+      browse-kill-ring
+      cargo
+      clojure-mode
+      cmake-mode
+      company
+      counsel
+      counsel-notmuch
+      d-mode
+      direnv
+      dockerfile-mode
+      eglot
+      elfeed
+      elixir-mode
+      elm-mode
+      erlang
+      exwm
+      flymake
+      go-mode
+      google-c-style
+      gruber-darker-theme
+      haskell-mode
+      ht
+      hydra
+      idle-highlight-mode
+      ivy
+      ivy-prescient
+      jq-mode
+      kotlin-mode
+      lsp-mode
+      magit
+      markdown-toc
+      meson-mode
+      multi-term
+      multiple-cursors
+      nginx-mode
+      nix-mode
+      notmuch
+      paredit
+      password-store
+      pinentry
+      polymode
+      prescient
+      protobuf-mode
+      rainbow-delimiters
+      rainbow-mode
+      refine
+      request
+      restclient
+      rust-mode
+      sly
+      string-edit
+      swiper
+      telephone-line
+      terraform-mode
+      toml-mode
+      transient
+      undo-tree
+      use-package
+      uuidgen
+      vterm
+      web-mode
+      websocket
+      which-key
+      xelb
+      yaml-mode
+      yasnippet
+      zoxide
 
-    # Wonky stuff
-    (currentTelega epkgs)
+      # Wonky stuff
+      (currentTelega epkgs)
 
-    # Custom depot packages (either ours, or overridden ones)
-    tvlPackages.dottime
-    tvlPackages.nix-util
-    tvlPackages.passively
-    tvlPackages.rcirc
-    tvlPackages.term-switcher
-    tvlPackages.tvl
-  ])));
+      # Custom depot packages (either ours, or overridden ones)
+      tvlPackages.dottime
+      tvlPackages.nix-util
+      tvlPackages.passively
+      tvlPackages.rcirc
+      tvlPackages.term-switcher
+      tvlPackages.tvl
+    ])));
 
-  # Tired of telega.el runtime breakages through tdlib
-  # incompatibility. Target to make that a build failure instead.
-  tdlibCheck =
-    let
-      tgEmacs = emacsWithPackages(epkgs: [ (currentTelega epkgs) ]);
-      verifyTdlibVersion = builtins.toFile "verify-tdlib-version.el" ''
-        (require 'telega)
-        (defvar tdlib-version "${pkgs.tdlib.version}")
-        (when (or (version< tdlib-version
-                            telega-tdlib-min-version)
-                  (and telega-tdlib-max-version
-                        (version< telega-tdlib-max-version
-                                  tdlib-version)))
-           (message "Found TDLib version %s, but require %s to %s"
-                   tdlib-version telega-tdlib-min-version telega-tdlib-max-version)
-          (kill-emacs 1))
-       '';
-    in pkgs.runCommandNoCC "tdlibCheck" {} ''
+    # Tired of telega.el runtime breakages through tdlib
+    # incompatibility. Target to make that a build failure instead.
+    tdlibCheck =
+      let
+        tgEmacs = emacsWithPackages (epkgs: [ (currentTelega epkgs) ]);
+        verifyTdlibVersion = builtins.toFile "verify-tdlib-version.el" ''
+          (require 'telega)
+          (defvar tdlib-version "${pkgs.tdlib.version}")
+          (when (or (version< tdlib-version
+                              telega-tdlib-min-version)
+                    (and telega-tdlib-max-version
+                          (version< telega-tdlib-max-version
+                                    tdlib-version)))
+             (message "Found TDLib version %s, but require %s to %s"
+                     tdlib-version telega-tdlib-min-version telega-tdlib-max-version)
+            (kill-emacs 1))
+        '';
+      in
+      pkgs.runCommandNoCC "tdlibCheck" { } ''
+        export PATH="${emacsBinPath}:$PATH"
+        ${tgEmacs}/bin/emacs --script ${verifyTdlibVersion} && touch $out
+      '';
+  in
+  lib.fix
+    (self: l: f: pkgs.writeShellScriptBin "tazjins-emacs" ''
       export PATH="${emacsBinPath}:$PATH"
-      ${tgEmacs}/bin/emacs --script ${verifyTdlibVersion} && touch $out
-    '';
-in lib.fix(self: l: f: pkgs.writeShellScriptBin "tazjins-emacs" ''
-  export PATH="${emacsBinPath}:$PATH"
-  exec ${tazjinsEmacs f}/bin/emacs \
-    --debug-init \
-    --no-site-file \
-    --no-site-lisp \
-    --no-init-file \
-    --directory ${./config} ${if l != null then "--directory ${l}" else ""} \
-    --eval "(require 'init)" $@
-  '' // {
-    # Call overrideEmacs with a function (pkgs -> pkgs) to modify the
-    # packages that should be included in this Emacs distribution.
-    overrideEmacs = f': self l f';
-
-    # Call withLocalConfig with the path to a *folder* containing a
-    # `local.el` which provides local system configuration.
-    withLocalConfig = confDir: self confDir f;
-
-    # Build a derivation that uses the specified local Emacs (i.e.
-    # built outside of Nix) instead
-    withLocalEmacs = emacsBin: pkgs.writeShellScriptBin "tazjins-emacs" ''
-      export PATH="${emacsBinPath}:$PATH"
-      export EMACSLOADPATH="${(tazjinsEmacs f).deps}/share/emacs/site-lisp:"
-      exec ${emacsBin} \
+      exec ${tazjinsEmacs f}/bin/emacs \
         --debug-init \
         --no-site-file \
         --no-site-lisp \
         --no-init-file \
-        --directory ${./config} \
-        ${if l != null then "--directory ${l}" else ""} \
+        --directory ${./config} ${if l != null then "--directory ${l}" else ""} \
         --eval "(require 'init)" $@
-    '';
+    '' // {
+      # Call overrideEmacs with a function (pkgs -> pkgs) to modify the
+      # packages that should be included in this Emacs distribution.
+      overrideEmacs = f': self l f';
+
+      # Call withLocalConfig with the path to a *folder* containing a
+      # `local.el` which provides local system configuration.
+      withLocalConfig = confDir: self confDir f;
+
+      # Build a derivation that uses the specified local Emacs (i.e.
+      # built outside of Nix) instead
+      withLocalEmacs = emacsBin: pkgs.writeShellScriptBin "tazjins-emacs" ''
+        export PATH="${emacsBinPath}:$PATH"
+        export EMACSLOADPATH="${(tazjinsEmacs f).deps}/share/emacs/site-lisp:"
+        exec ${emacsBin} \
+          --debug-init \
+          --no-site-file \
+          --no-site-lisp \
+          --no-init-file \
+          --directory ${./config} \
+          ${if l != null then "--directory ${l}" else ""} \
+          --eval "(require 'init)" $@
+      '';
 
-    # Expose telega/tdlib version check as a target that is built in
-    # CI.
-    #
-    # TODO(tazjin): uncomment when telega works again
-    inherit tdlibCheck;
-    # meta.targets = [ "tdlibCheck" ];
-  }) null identity
-) {}
+      # Expose telega/tdlib version check as a target that is built in
+      # CI.
+      #
+      # TODO(tazjin): uncomment when telega works again
+      inherit tdlibCheck;
+      # meta.targets = [ "tdlibCheck" ];
+    })
+    null
+    identity
+  )
+{ }
diff --git a/users/tazjin/homepage/default.nix b/users/tazjin/homepage/default.nix
index 2ce1cf632255..0edb75d60933 100644
--- a/users/tazjin/homepage/default.nix
+++ b/users/tazjin/homepage/default.nix
@@ -35,7 +35,7 @@ let
     date = post.date;
   });
 
-  formatDate = defun [ int string ] (date: readFile (runCommandNoCC "date" {} ''
+  formatDate = defun [ int string ] (date: readFile (runCommandNoCC "date" { } ''
     date --date='@${toString date}' '+%Y-%m-%d' > $out
   ''));
 
@@ -67,7 +67,8 @@ let
   pageEntries = import ./entries.nix;
   homepage = index ((map postToEntry users.tazjin.blog.posts) ++ pageEntries);
   atomFeed = import ./feed.nix (args // { inherit entry pageEntries; });
-in runCommandNoCC "website" {} ''
+in
+runCommandNoCC "website" { } ''
   mkdir $out
   cp ${homepage} $out/index.html
   cp ${atomFeed} $out/feed.atom
diff --git a/users/tazjin/homepage/feed.nix b/users/tazjin/homepage/feed.nix
index 2a033444e8ba..09bc36341401 100644
--- a/users/tazjin/homepage/feed.nix
+++ b/users/tazjin/homepage/feed.nix
@@ -23,7 +23,7 @@ let
   });
 
   allEntries = (with depot.users.tazjin.blog; map (blog.toFeedEntry config) posts)
-             ++ (map pageEntryToEntry pageEntries);
+    ++ (map pageEntryToEntry pageEntries);
 
   feed = {
     id = "https://tazj.in/";
@@ -39,4 +39,5 @@ let
 
     entries = allEntries;
   };
-in writeText "feed.atom" (atom-feed.renderFeed feed)
+in
+writeText "feed.atom" (atom-feed.renderFeed feed)
diff --git a/users/tazjin/nixos/camden/default.nix b/users/tazjin/nixos/camden/default.nix
index 4b5e4b4872c2..b8b8e25fc3f4 100644
--- a/users/tazjin/nixos/camden/default.nix
+++ b/users/tazjin/nixos/camden/default.nix
@@ -1,7 +1,8 @@
 # This file configures camden.tazj.in, my homeserver.
 { depot, pkgs, lib, ... }:
 
-config: let
+config:
+let
   nginxRedirect = { from, to, acmeHost }: {
     serverName = from;
     useACMEHost = acmeHost;
@@ -9,18 +10,21 @@ config: let
 
     extraConfig = "return 301 https://${to}$request_uri;";
   };
-in lib.fix(self: {
+in
+lib.fix (self: {
   # Disable the current ACME module and use the old one from 19.09
   # instead, until the various regressions have been sorted out.
   # TODO(tazjin): Remove this once the new ACME module works.
   disabledModules = [ "security/acme" ];
   imports =
-    let oldChannel = fetchTarball {
-      # NixOS 19.09 on 2020-10-04
-      url = "https://github.com/NixOS/nixpkgs-channels/archive/75f4ba05c63be3f147bcc2f7bd4ba1f029cedcb1.tar.gz";
-      sha256 = "157c64220lf825ll4c0cxsdwg7cxqdx4z559fdp7kpz0g6p8fhhr";
-    };
-    in [
+    let
+      oldChannel = fetchTarball {
+        # NixOS 19.09 on 2020-10-04
+        url = "https://github.com/NixOS/nixpkgs-channels/archive/75f4ba05c63be3f147bcc2f7bd4ba1f029cedcb1.tar.gz";
+        sha256 = "157c64220lf825ll4c0cxsdwg7cxqdx4z559fdp7kpz0g6p8fhhr";
+      };
+    in
+    [
       "${depot.path}/ops/modules/quassel.nix"
       "${depot.path}/ops/modules/smtprelay.nix"
       "${oldChannel}/nixos/modules/security/acme.nix"
@@ -37,8 +41,14 @@ in lib.fix(self: {
   boot = {
     initrd = {
       availableKernelModules = [
-        "ahci" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci"
-        "rtsx_usb_sdmmc" "r8169"
+        "ahci"
+        "xhci_pci"
+        "usbhid"
+        "usb_storage"
+        "sd_mod"
+        "sdhci_pci"
+        "rtsx_usb_sdmmc"
+        "r8169"
       ];
 
       kernelModules = [ "dm-snapshot" ];
@@ -152,7 +162,7 @@ in lib.fix(self: {
     };
 
     # Set up a user & group for general git shenanigans
-    groups.git = {};
+    groups.git = { };
     users.git = {
       group = "git";
       isSystemUser = true;
@@ -220,9 +230,9 @@ in lib.fix(self: {
 
   # Forward logs to Google Cloud Platform
   services.journaldriver = {
-    enable                 = true;
-    logStream              = "home";
-    googleCloudProject     = "tazjins-infrastructure";
+    enable = true;
+    logStream = "home";
+    googleCloudProject = "tazjins-infrastructure";
     applicationCredentials = "/etc/gcp/key.json";
   };
 
diff --git a/users/tazjin/nixos/frog/default.nix b/users/tazjin/nixos/frog/default.nix
index b3c803c87131..b789ab04f3bf 100644
--- a/users/tazjin/nixos/frog/default.nix
+++ b/users/tazjin/nixos/frog/default.nix
@@ -1,6 +1,7 @@
 { depot, lib, pkgs, ... }:
 
-config: let
+config:
+let
   inherit (pkgs) lieer;
 
   quasselClient = pkgs.quassel.override {
@@ -8,7 +9,8 @@ config: let
     enableDaemon = false;
     monolithic = false;
   };
-in lib.fix(self: {
+in
+lib.fix (self: {
   imports = [
     "${depot.path}/ops/modules/v4l2loopback.nix"
   ];
@@ -61,8 +63,8 @@ in lib.fix(self: {
 
   nix = {
     maxJobs = 48;
-    binaryCaches = ["ssh://nix-ssh@whitby.tvl.fyi"];
-    binaryCachePublicKeys = ["cache.tvl.fyi:fd+9d1ceCPvDX/xVhcfv8nAa6njEhAGAEe+oGJDEeoc="];
+    binaryCaches = [ "ssh://nix-ssh@whitby.tvl.fyi" ];
+    binaryCachePublicKeys = [ "cache.tvl.fyi:fd+9d1ceCPvDX/xVhcfv8nAa6njEhAGAEe+oGJDEeoc=" ];
   };
 
   networking = {
diff --git a/users/tazjin/nixos/tverskoy/default.nix b/users/tazjin/nixos/tverskoy/default.nix
index 24a4a2d49122..f19501362ab5 100644
--- a/users/tazjin/nixos/tverskoy/default.nix
+++ b/users/tazjin/nixos/tverskoy/default.nix
@@ -1,6 +1,7 @@
 { depot, lib, pkgs, ... }:
 
-config: let
+config:
+let
   quasselClient = pkgs.quassel.override {
     client = true;
     enableDaemon = false;
@@ -15,7 +16,8 @@ config: let
     ${pkgs.xorg.setxkbmap}/bin/setxkbmap -option caps:super
     exec ${pkgs.xsecurelock}/bin/xsecurelock
   '';
-in lib.fix(self: {
+in
+lib.fix (self: {
   imports = [
     "${depot.third_party.impermanence}/nixos.nix"
     "${pkgs.home-manager.src}/nixos"
@@ -43,7 +45,7 @@ in lib.fix(self: {
   };
 
   fileSystems = {
-    "/" =  {
+    "/" = {
       device = "tmpfs";
       fsType = "tmpfs";
       options = [ "defaults" "size=8G" "mode=755" ];
@@ -320,109 +322,109 @@ in lib.fix(self: {
       zoxide
     ]);
 
-    systemd.user.services.lieer-tazjin = {
-      description = "Synchronise mail@tazj.in via lieer";
-      script = "${pkgs.lieer}/bin/gmi sync";
+  systemd.user.services.lieer-tazjin = {
+    description = "Synchronise mail@tazj.in via lieer";
+    script = "${pkgs.lieer}/bin/gmi sync";
 
-      serviceConfig = {
-        WorkingDirectory = "%h/mail/account.tazjin";
-        Type = "oneshot";
-      };
+    serviceConfig = {
+      WorkingDirectory = "%h/mail/account.tazjin";
+      Type = "oneshot";
     };
+  };
 
-    systemd.user.timers.lieer-tazjin = {
-      wantedBy = [ "timers.target" ];
+  systemd.user.timers.lieer-tazjin = {
+    wantedBy = [ "timers.target" ];
 
-      timerConfig = {
-        OnActiveSec = "1";
-        OnUnitActiveSec = "180";
-      };
+    timerConfig = {
+      OnActiveSec = "1";
+      OnUnitActiveSec = "180";
     };
+  };
 
-    home-manager.useGlobalPkgs = true;
-    home-manager.users.tazjin = { config, lib, ... }: {
-      imports = [ "${depot.third_party.impermanence}/home-manager.nix" ];
-
-      home.persistence."/persist/tazjin/home" = {
-        allowOther = true;
-
-        directories = [
-          ".cargo"
-          ".config/audacity"
-          ".config/google-chrome"
-          ".config/quassel-irc.org"
-          ".config/spotify"
-          ".config/syncthing"
-          ".elfeed"
-          ".gnupg"
-          ".local/share/Steam"
-          ".local/share/audacity"
-          ".local/share/direnv"
-          ".local/share/fish"
-          ".local/share/keyrings"
-          ".local/share/zoxide"
-          ".mozilla/firefox"
-          ".password-store"
-          ".rustup"
-          ".ssh"
-          ".steam"
-          ".telega"
-          "go"
-          "mail"
-        ];
-
-        files = [
-          ".notmuch-config"
-        ];
-      };
+  home-manager.useGlobalPkgs = true;
+  home-manager.users.tazjin = { config, lib, ... }: {
+    imports = [ "${depot.third_party.impermanence}/home-manager.nix" ];
+
+    home.persistence."/persist/tazjin/home" = {
+      allowOther = true;
+
+      directories = [
+        ".cargo"
+        ".config/audacity"
+        ".config/google-chrome"
+        ".config/quassel-irc.org"
+        ".config/spotify"
+        ".config/syncthing"
+        ".elfeed"
+        ".gnupg"
+        ".local/share/Steam"
+        ".local/share/audacity"
+        ".local/share/direnv"
+        ".local/share/fish"
+        ".local/share/keyrings"
+        ".local/share/zoxide"
+        ".mozilla/firefox"
+        ".password-store"
+        ".rustup"
+        ".ssh"
+        ".steam"
+        ".telega"
+        "go"
+        "mail"
+      ];
 
-      home.activation.screenshots = lib.hm.dag.entryAnywhere ''
-        $DRY_RUN_CMD mkdir -p $HOME/screenshots
-      '';
+      files = [
+        ".notmuch-config"
+      ];
+    };
 
-      programs.git = {
-        enable = true;
-        userName = "Vincent Ambo";
-        userEmail = "mail@tazj.in";
-        extraConfig = {
-          pull.rebase = true;
-          init.defaultBranch = "canon";
-        };
-      };
+    home.activation.screenshots = lib.hm.dag.entryAnywhere ''
+      $DRY_RUN_CMD mkdir -p $HOME/screenshots
+    '';
 
-      programs.fish = {
-        enable = true;
-        interactiveShellInit = ''
-          ${pkgs.zoxide}/bin/zoxide init fish | source
-        '';
+    programs.git = {
+      enable = true;
+      userName = "Vincent Ambo";
+      userEmail = "mail@tazj.in";
+      extraConfig = {
+        pull.rebase = true;
+        init.defaultBranch = "canon";
       };
+    };
 
-      services.screen-locker = {
-        enable = true;
-        enableDetectSleep = true;
-        inactiveInterval = 10; # minutes
-        lockCmd = "${screenLock}/bin/tazjin-screen-lock";
-      };
+    programs.fish = {
+      enable = true;
+      interactiveShellInit = ''
+        ${pkgs.zoxide}/bin/zoxide init fish | source
+      '';
+    };
 
-      services.picom = {
-        enable = true;
-        vSync = true;
-        backend = "glx";
-      };
+    services.screen-locker = {
+      enable = true;
+      enableDetectSleep = true;
+      inactiveInterval = 10; # minutes
+      lockCmd = "${screenLock}/bin/tazjin-screen-lock";
+    };
 
-      # Enable the dunst notification daemon, but force the
-      # configuration file separately instead of going via the strange
-      # Nix->dunstrc encoding route.
-      services.dunst.enable = true;
-      xdg.configFile."dunst/dunstrc" = {
-        source = depot.users.tazjin.dotfiles.dunstrc;
-        onChange = ''
-          ${pkgs.procps}/bin/pkill -u "$USER" ''${VERBOSE+-e} dunst || true
-        '';
-      };
+    services.picom = {
+      enable = true;
+      vSync = true;
+      backend = "glx";
+    };
 
-      systemd.user.startServices = true;
+    # Enable the dunst notification daemon, but force the
+    # configuration file separately instead of going via the strange
+    # Nix->dunstrc encoding route.
+    services.dunst.enable = true;
+    xdg.configFile."dunst/dunstrc" = {
+      source = depot.users.tazjin.dotfiles.dunstrc;
+      onChange = ''
+        ${pkgs.procps}/bin/pkill -u "$USER" ''${VERBOSE+-e} dunst || true
+      '';
     };
 
-    system.stateVersion = "20.09";
+    systemd.user.startServices = true;
+  };
+
+  system.stateVersion = "20.09";
 })
diff --git a/users/tazjin/presentations/bootstrapping-2018/default.nix b/users/tazjin/presentations/bootstrapping-2018/default.nix
index 0dff14b2a1a6..2775d0b3fbbb 100644
--- a/users/tazjin/presentations/bootstrapping-2018/default.nix
+++ b/users/tazjin/presentations/bootstrapping-2018/default.nix
@@ -4,24 +4,26 @@
 
 with pkgs;
 
-let tex = texlive.combine {
-  inherit (texlive)
-    beamer
-    beamertheme-metropolis
-    etoolbox
-    euenc
-    extsizes
-    fontspec
-    lualibs
-    luaotfload
-    luatex
-    minted
-    ms
-    pgfopts
-    scheme-basic
-    translator;
-};
-in stdenv.mkDerivation {
+let
+  tex = texlive.combine {
+    inherit (texlive)
+      beamer
+      beamertheme-metropolis
+      etoolbox
+      euenc
+      extsizes
+      fontspec
+      lualibs
+      luaotfload
+      luatex
+      minted
+      ms
+      pgfopts
+      scheme-basic
+      translator;
+  };
+in
+stdenv.mkDerivation {
   name = "nuug-bootstrapping-slides";
   src = ./.;