From bd98c92dafcbce1019b0747d2af9d83f344b448c Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Thu, 22 May 2025 20:01:01 +0200 Subject: [PATCH 1/3] jj: init --- modules/programs/cli/jj/module.nix | 102 +++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 modules/programs/cli/jj/module.nix diff --git a/modules/programs/cli/jj/module.nix b/modules/programs/cli/jj/module.nix new file mode 100644 index 0000000..6336ae6 --- /dev/null +++ b/modules/programs/cli/jj/module.nix @@ -0,0 +1,102 @@ +{ + config, + lib, + pkgs, + ... +}: let + inherit (lib.meta) getExe; + + toml = pkgs.formats.toml {}; + jj-config = toml.generate "config.toml" { + user = { + name = "Bloxx12"; + email = "charlie@charlieroot.dev"; + }; + + ui = { + pager = ["${getExe pkgs.bat}" "--plain"]; + default-command = "log"; + movement.edit = true; + + diff.tool = ["${getExe pkgs.difft}" "--color" "always" "$left" "$right"]; + }; + # FIXME: do this with agenix + # "--scope" = [ + # { + # "--when.repositories" = ["~/repos/projects/uni"]; + # user = { + # # TODO + # name = ""; + # email = ""; + # }; + # } + # { + # "--when.repositories" = ["~/repos/projects/uni/"]; + # user = { + # # TODO + # name = ""; + # email = ""; + # }; + # } + # ]; + git.push-new-bookmarks = true; + + signing = { + behaviour = "own"; + backend = "ssh"; + key = ["ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAAWEDj/Yib6Mqs016jx7rtecWpytwfVl28eoHtPYCM9TVLq81VIHJSN37lbkc/JjiXCdIJy2Ta3A3CVV5k3Z37NbgAu23oKA2OcHQNaRTLtqWlcBf9fk9suOkP1A3NzAqzivFpBnZm3ytaXwU8LBJqxOtNqZcFVruO6fZxJtg2uE34mAw=="]; + }; + + aliases = { + c = ["commit"]; + ci = ["commit" "--interactive"]; + + e = ["edit"]; + + # "new bookmark" + nb = ["bookmark" "create" "-r @-"]; + + pull = ["git" "fetch"]; + push = ["git" "push" "--allow-new"]; + + r = ["rebase"]; + s = ["squash"]; + si = ["squash" "--interactive"]; + + tug = ["bookmark" "move" "--from" "closest_bookmark(@-)" "--to" "@-"]; + }; + revset-aliases = { + "closest_bookmark(to)" = "heads(::to & bookmarks())"; + }; + + templates = { + draft_commit_description = '' + concat( + coalesce(description, "\n"), + surround( + "\nJJ: This commit contains the following changes:\n", "", + indent("JJ: ", diff.stat(72)), + ), + "\nJJ: ignore-rest\n", + diff.git(), + ) + ''; + }; + template-aliases = { + "format_short_id(id)" = "id.shortest()"; + }; + }; + + jj-wrapped = pkgs.symlinkJoin { + name = "jj-wrapped"; + paths = [pkgs.jj]; + nativeBuildInputs = [pkgs.makeWrapper]; + postBuild = '' + wrapProgram $out/bin/mako --add-flags "\ + --config ${jj-config} + + ''; + }; +in { + environment.systemPackages = [jj-wrapped]; +} From b4e456e3acb1968dcc5c21fcb8560e143bfb48aa Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Thu, 22 May 2025 20:01:11 +0200 Subject: [PATCH 2/3] postgresql: comment changes --- modules/services/postgresql/module.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/services/postgresql/module.nix b/modules/services/postgresql/module.nix index 68128ae..bbf1ff4 100644 --- a/modules/services/postgresql/module.nix +++ b/modules/services/postgresql/module.nix @@ -15,7 +15,7 @@ in { services.postgresql = { enable = true; package = pkgs.postgresql_17; - # NOTE: it is imperative to create this when starting postgresql! + # NOTE: it is imperative to create this manually when starting postgresql. dataDir = "/srv/data/postgresql/${config.services.postgresql.package.psqlSchema}"; # Whether PostgreSQL should listen on all network interfaces. From d8cdd7a912c8842b616fd978839b812cd58adf1c Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Thu, 22 May 2025 18:32:26 +0200 Subject: [PATCH 3/3] acme: append extra config --- modules/services/acme/module.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/services/acme/module.nix b/modules/services/acme/module.nix index d434f01..1b0875e 100644 --- a/modules/services/acme/module.nix +++ b/modules/services/acme/module.nix @@ -12,7 +12,7 @@ # email to send updates to, we prefix "acme" and the # name of the domain the certificate is for to it. - email = "acme+${domain}+charlie@charlieroot.dev"; + email = "charlie@charlieroot.dev"; group = "nginx"; }; in { @@ -30,4 +30,11 @@ in { "mail.charlieroot.dev" = mkAcmeCert "mail.charlieroot.dev"; }; }; + + services.nginx.appendConfig = '' + location /.well-known/acme-challenge/ { + rewrite /.well-known/acme-challenge/(.*) /$1 break; + root /var/lib/acme/.well-known/acme-challenge; + } + ''; }