diff options
author | Vincent Ambo <mail@tazj.in> | 2022-01-30T16·06+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2022-01-31T16·11+0000 |
commit | aa122cbae78ce97d60c0c98ba14df753d97e40b1 (patch) | |
tree | 12b98d85c4b18fe870feb26de70db9ba61837bd7 /users/tazjin | |
parent | 2d10d60fac0fd00a71b65cfdcb9fba0477b2086c (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.nix | 22 | ||||
-rw-r--r-- | users/tazjin/aoc2020/default.nix | 16 | ||||
-rw-r--r-- | users/tazjin/blog/default.nix | 17 | ||||
-rw-r--r-- | users/tazjin/blog/posts.nix | 2 | ||||
-rw-r--r-- | users/tazjin/dns/default.nix | 7 | ||||
-rw-r--r-- | users/tazjin/emacs/default.nix | 305 | ||||
-rw-r--r-- | users/tazjin/homepage/default.nix | 5 | ||||
-rw-r--r-- | users/tazjin/homepage/feed.nix | 5 | ||||
-rw-r--r-- | users/tazjin/nixos/camden/default.nix | 38 | ||||
-rw-r--r-- | users/tazjin/nixos/frog/default.nix | 10 | ||||
-rw-r--r-- | users/tazjin/nixos/tverskoy/default.nix | 186 | ||||
-rw-r--r-- | users/tazjin/presentations/bootstrapping-2018/default.nix | 38 |
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 = ./.; |