From fedd0778613c7eea8921bf72602b8f00a088e91c Mon Sep 17 00:00:00 2001 From: Callum Leslie Date: Tue, 16 Sep 2025 10:36:32 +0100 Subject: [PATCH 1/6] yuh --- flake.lock | 169 +++++++++++++++++++++++++++++++++++-- flake.nix | 17 +++- hosts/hermes/copyparty.nix | 7 +- hosts/hermes/default.nix | 2 + hosts/hermes/n8n.nix | 18 ++++ hosts/hermes/nocodb.nix | 18 ++++ 6 files changed, 220 insertions(+), 11 deletions(-) create mode 100644 hosts/hermes/n8n.nix create mode 100644 hosts/hermes/nocodb.nix diff --git a/flake.lock b/flake.lock index 585cf9e..6c4ed10 100644 --- a/flake.lock +++ b/flake.lock @@ -361,6 +361,22 @@ "type": "github" } }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -528,6 +544,24 @@ "type": "github" } }, + "flake-utils_3": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "fromYaml": { "flake": false, "locked": { @@ -560,6 +594,29 @@ "type": "github" } }, + "git-hooks_2": { + "inputs": { + "flake-compat": "flake-compat_4", + "gitignore": "gitignore_3", + "nixpkgs": [ + "scenics", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1757239681, + "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -603,6 +660,28 @@ "type": "github" } }, + "gitignore_3": { + "inputs": { + "nixpkgs": [ + "scenics", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "gnome-shell": { "flake": false, "locked": { @@ -917,6 +996,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1737469691, + "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", + "owner": "NixOs", + "repo": "nixpkgs", + "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", + "type": "github" + }, + "original": { + "owner": "NixOs", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1711163522, "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=", @@ -932,7 +1027,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1750215678, "narHash": "sha256-Rc/ytpamXRf6z8UA2SGa4aaWxUXRbX2MAWIu2C8M+ok=", @@ -948,7 +1043,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1725194671, "narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=", @@ -964,6 +1059,25 @@ "type": "github" } }, + "nocodb": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1753527533, + "narHash": "sha256-UoOwtvkNicWrlxEVNR9RL7r39mOFEwyV6BpBd5Fa1is=", + "owner": "nocodb", + "repo": "nocodb", + "rev": "bec1fa46dd23996cad16e16150c959ce587b0750", + "type": "github" + }, + "original": { + "owner": "nocodb", + "ref": "bec1fa4", + "repo": "nocodb", + "type": "github" + } + }, "nsbm": { "inputs": { "flake-parts": [ @@ -1046,7 +1160,7 @@ "flake-parts": "flake-parts_4", "flake-utils": "flake-utils_2", "mnw": "mnw", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "systems": "systems_3" }, "locked": { @@ -1075,7 +1189,7 @@ "nix-systems-aarch64-linux": "nix-systems-aarch64-linux", "nix-systems-x86_64-darwin": "nix-systems-x86_64-darwin", "nix-systems-x86_64-linux": "nix-systems-x86_64-linux", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "rust-flake": "rust-flake", "systems": [ "systems" @@ -1161,12 +1275,14 @@ "nish": "nish", "nixinate": "nixinate", "nixpkgs": "nixpkgs", + "nocodb": "nocodb", "nsbm": "nsbm", "nvf": "nvf", "omnix": "omnix", "pre-commit-hooks": "pre-commit-hooks", + "scenics": "scenics", "stylix": "stylix", - "systems": "systems_5", + "systems": "systems_6", "treefmt-nix": "treefmt-nix_3", "unstable": "unstable" } @@ -1260,7 +1376,7 @@ "flake-parts": "flake-parts_3", "flake-root": "flake-root", "nix-visualize": "nix-visualize", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "treefmt-nix": "treefmt-nix", "vulnix": "vulnix" }, @@ -1278,6 +1394,28 @@ "type": "github" } }, + "scenics": { + "inputs": { + "flake-utils": "flake-utils_3", + "git-hooks": "git-hooks_2", + "nixpkgs": [ + "unstable" + ] + }, + "locked": { + "lastModified": 1757517057, + "narHash": "sha256-FOovR2vgYev9BoNmbacqpB6i3Tk5NxWjRj9hFr2fB/4=", + "owner": "callumio", + "repo": "scenics", + "rev": "6afe932b2c78782e6b2e7423926eb1995fd4f5be", + "type": "github" + }, + "original": { + "owner": "callumio", + "repo": "scenics", + "type": "github" + } + }, "stylix": { "inputs": { "base16": "base16", @@ -1291,7 +1429,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_4", + "systems": "systems_5", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -1359,6 +1497,21 @@ } }, "systems_4": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_5": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1373,7 +1526,7 @@ "type": "github" } }, - "systems_5": { + "systems_6": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", diff --git a/flake.nix b/flake.nix index eab8f66..9ec84a4 100644 --- a/flake.nix +++ b/flake.nix @@ -40,7 +40,7 @@ # TODO: use ./hosts/ nixosConfigurations = { artemis = mkLinuxSystem [./hosts/artemis inputs.lanzaboote.nixosModules.lanzaboote] []; - hermes = mkLinuxSystem [./hosts/hermes inputs.copyparty.nixosModules.default] [inputs.copyparty.overlays.default]; + hermes = mkLinuxSystem [./hosts/hermes inputs.nocodb.nixosModules.nocodb inputs.copyparty.nixosModules.default] [inputs.copyparty.overlays.default]; }; diskoConfigurations = {}; # maybe? om.health.default = {nix-version.min-required = "2.18.5";}; @@ -54,7 +54,12 @@ ... }: { _module.args.pkgs = inputs'.nixpkgs.legacyPackages.extend self.overlays.default; - overlayAttrs = config.packages // {unstable = inputs'.unstable.legacyPackages;}; + overlayAttrs = + config.packages + // { + unstable = inputs'.unstable.legacyPackages; + scenics = inputs'.scenics.packages; + }; pre-commit = { check.enable = false; @@ -86,6 +91,9 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; + scenics.url = "github:callumio/scenics"; + scenics.inputs.nixpkgs.follows = "unstable"; + nixinate = { url = "github:callumio/nixinate"; inputs.nixpkgs.follows = "unstable"; @@ -182,5 +190,10 @@ url = "github:9001/copyparty"; inputs.nixpkgs.follows = "unstable"; }; + + nocodb = { + url = "github:nocodb/nocodb?ref=bec1fa4"; + #inputs.nixpkgs.follows = "unstable"; + }; }; } diff --git a/hosts/hermes/copyparty.nix b/hosts/hermes/copyparty.nix index 8fc9923..345f198 100644 --- a/hosts/hermes/copyparty.nix +++ b/hosts/hermes/copyparty.nix @@ -16,7 +16,12 @@ in { "/media" = { path = "/var/lib/media/library"; access = { - r = "*"; + rw = ["c"]; + }; + }; + "/paperless" = { + path = "/var/lib/media/library"; + access = { rw = ["c"]; }; }; diff --git a/hosts/hermes/default.nix b/hosts/hermes/default.nix index 6487805..11aaf6f 100644 --- a/hosts/hermes/default.nix +++ b/hosts/hermes/default.nix @@ -7,7 +7,9 @@ ./quassel.nix ./fail2ban.nix ./containers.nix + ./n8n.nix ./networking.nix + ./nocodb.nix ./ssh.nix ./media.nix ./headscale.nix diff --git a/hosts/hermes/n8n.nix b/hosts/hermes/n8n.nix new file mode 100644 index 0000000..5054b60 --- /dev/null +++ b/hosts/hermes/n8n.nix @@ -0,0 +1,18 @@ +{pkgs, ...}: let + domain = "automation.cleslie.uk"; +in { + services = { + cloudflare-dyndns.domains = [domain]; + n8n = { + enable = true; + webhookUrl = "https://" + domain + "/"; + settings = { + port = 5678; + }; + }; + caddy.virtualHosts.${domain}.extraConfig = '' + reverse_proxy http://127.0.0.1:5678 + ''; + }; + environment.systemPackages = with pkgs; [mupdf-headless]; +} diff --git a/hosts/hermes/nocodb.nix b/hosts/hermes/nocodb.nix new file mode 100644 index 0000000..db5658f --- /dev/null +++ b/hosts/hermes/nocodb.nix @@ -0,0 +1,18 @@ +_: let + domain = "hub.cleslie.uk"; +in { + services = { + cloudflare-dyndns.domains = [domain]; + nocodb = { + enable = true; + environment = { + NC_PUBLIC_URL = "https://" + domain; + #NC_INVITE_ONLY_SIGNUP = 1; + PORT = "4690"; + }; + }; + caddy.virtualHosts.${domain}.extraConfig = '' + reverse_proxy http://127.0.0.1:4690 + ''; + }; +} From bb08fe63c67e0257d284ddae0d7e5dd5d8e4f1c1 Mon Sep 17 00:00:00 2001 From: Callum Leslie Date: Tue, 16 Sep 2025 10:37:17 +0100 Subject: [PATCH 2/6] use tmux-githop --- home/c/programs/hypr/default.nix | 5 ++--- home/c/programs/tmux/default.nix | 8 ++++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/home/c/programs/hypr/default.nix b/home/c/programs/hypr/default.nix index 90560a0..fccc19f 100644 --- a/home/c/programs/hypr/default.nix +++ b/home/c/programs/hypr/default.nix @@ -7,8 +7,7 @@ getProgFor' = cLib.getProgFor' pkgs; getProgFor = cLib.getProgFor pkgs; web = getProgFor "firefox"; - #mail = getProgFor "betterbird"; - mail = ""; + # mail = ""; chat = getProgFor "discord"; media = getProgFor "spotify"; terminal = getProgFor "alacritty"; @@ -218,7 +217,7 @@ in { "name:web, on-created-empty: ${web}" "name:chat, on-created-empty: ${chat}" "name:media, on-created-empty: ${media}" - "name:mail, on-created-empty: ${mail}" + #"name:mail, on-created-empty: ${mail}" ]; bindm = [ diff --git a/home/c/programs/tmux/default.nix b/home/c/programs/tmux/default.nix index e71d8f5..f8c4a70 100644 --- a/home/c/programs/tmux/default.nix +++ b/home/c/programs/tmux/default.nix @@ -4,9 +4,9 @@ ... }: let getProgFor = cLib.getProgFor pkgs; - getProgFor' = cLib.getProgFor' pkgs; tmux = getProgFor "tmux"; - tmux-sessionizer = getProgFor' "tmux-sessionizer-cl" "tmux-sessionizer"; + getProgFor' = cLib.getProgFor pkgs.scenics; + tmux-githop = getProgFor' "tmux-githop"; in { programs.tmux = { enable = true; @@ -51,8 +51,8 @@ in { bind \\ split-window -v -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}" - bind-key -r s run-shell "${tmux} display-popup -E '${tmux-sessionizer} -s'" - bind-key -r f run-shell "${tmux} display-popup -E '${tmux-sessionizer} -p'" + bind-key -r s run-shell "${tmux} display-popup -E '${tmux-githop} -s -y'" + bind-key -r f run-shell "${tmux} display-popup -E '${tmux-githop} -p -y'" bind-key -r m run-shell "${tmux} switch-client -t main" bind S choose-tree From 19551022f04adceb0339d5c7230df867ed9e9e3a Mon Sep 17 00:00:00 2001 From: Callum Leslie Date: Tue, 16 Sep 2025 16:54:19 +0100 Subject: [PATCH 3/6] add jujutsu vcs --- flake.lock | 88 ++++++++++++++-------------------- home/c/programs/default.nix | 1 + home/c/programs/jj/default.nix | 23 +++++++++ 3 files changed, 60 insertions(+), 52 deletions(-) create mode 100644 home/c/programs/jj/default.nix diff --git a/flake.lock b/flake.lock index 6c4ed10..0521586 100644 --- a/flake.lock +++ b/flake.lock @@ -26,11 +26,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1750173260, - "narHash": "sha256-9P1FziAwl5+3edkfFcr5HeGtQUtrSdk/MksX39GieoA=", + "lastModified": 1754433428, + "narHash": "sha256-NA/FT2hVhKDftbHSwVnoRTFhes62+7dxZbxj5Gxvghs=", "owner": "ryantm", "repo": "agenix", - "rev": "531beac616433bac6f9e2a19feb8e99a22a66baf", + "rev": "9edb1787864c4f59ae5074ad498b6272b3ec308d", "type": "github" }, "original": { @@ -106,21 +106,6 @@ "type": "github" } }, - "cachix-push": { - "locked": { - "lastModified": 1725315090, - "narHash": "sha256-d/ZGRHfSGPEpCCNSVlfZ0ND2IZV0H9nN/3BLMA7d9fs=", - "owner": "juspay", - "repo": "cachix-push", - "rev": "fbe9734921e19abc4830dc4ea425aaa82cf61991", - "type": "github" - }, - "original": { - "owner": "juspay", - "repo": "cachix-push", - "type": "github" - } - }, "copyparty": { "inputs": { "flake-utils": "flake-utils", @@ -129,11 +114,11 @@ ] }, "locked": { - "lastModified": 1754348197, - "narHash": "sha256-sVl/KDJR7X0bmRc/ccmuAy9HgcQXnnIaiOCWbSGvRPA=", + "lastModified": 1757898317, + "narHash": "sha256-bsaY6m/fEfJY9l0KU+tkMM+QwggNwS/GVw9jl8bHOF8=", "owner": "9001", "repo": "copyparty", - "rev": "b664ebb01f28094749e233ac70795ccd11fed253", + "rev": "fd331a545d6ac9c94287663f79a3379b5171d048", "type": "github" }, "original": { @@ -226,11 +211,11 @@ ] }, "locked": { - "lastModified": 1752718651, - "narHash": "sha256-PkaR0qmyP9q/MDN3uYa+RLeBA0PjvEQiM0rTDDBXkL8=", + "lastModified": 1757508292, + "narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=", "owner": "nix-community", "repo": "disko", - "rev": "d5ad4485e6f2edcc06751df65c5e16572877db88", + "rev": "146f45bee02b8bd88812cfce6ffc0f933788875a", "type": "github" }, "original": { @@ -284,11 +269,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1752811437, - "narHash": "sha256-TVWYBcNpeQ3fEloryVP9N2yJnC3vuPpoZF1RqFFWFt0=", + "lastModified": 1757995413, + "narHash": "sha256-vaU/7/PXoym6vnspGxhR29V9klGe9iy9zmp6x7w38f8=", "owner": "rycee", "repo": "nur-expressions", - "rev": "369dccacc0a8214600773b3bbbf68d98a19b74e8", + "rev": "4ae8996b3e139926c784acd22824cde46cd28833", "type": "gitlab" }, "original": { @@ -384,11 +369,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "4524271976b625a4a605beefd893f270620fd751", "type": "github" }, "original": { @@ -727,11 +712,11 @@ ] }, "locked": { - "lastModified": 1752780124, - "narHash": "sha256-5dn97vIYxn6VozKePOQSDxVCsrl38nDdMJXx86KIJH0=", + "lastModified": 1757808926, + "narHash": "sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo=", "owner": "nix-community", "repo": "home-manager", - "rev": "c718918222bdb104397762dea67e6b397a7927fe", + "rev": "f21d9167782c086a33ad53e2311854a8f13c281e", "type": "github" }, "original": { @@ -932,11 +917,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752620740, - "narHash": "sha256-f3pO+9lg66mV7IMmmIqG4PL3223TYMlnlw+pnpelbss=", + "lastModified": 1757810152, + "narHash": "sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "32a4e87942101f1c9f9865e04dc3ddb175f5f32e", + "rev": "9a094440e02a699be5c57453a092a8baf569bdad", "type": "github" }, "original": { @@ -1179,7 +1164,6 @@ }, "omnix": { "inputs": { - "cachix-push": "cachix-push", "devour-flake": "devour-flake_2", "false": "false", "flake-parts": "flake-parts_5", @@ -1197,11 +1181,11 @@ "true": "true" }, "locked": { - "lastModified": 1752609340, - "narHash": "sha256-LrcNUiyLOiIgalsP/GsaRh7pe8lpZLRiQHv9jCeJNtQ=", + "lastModified": 1757112869, + "narHash": "sha256-mYaj1ZiujvJkCYR2GK85A8Pr8azMrbj8abpDw4nEz5E=", "owner": "juspay", "repo": "omnix", - "rev": "e967319794c9b9ad7d040dc873eae62adab968f4", + "rev": "7e35ac51e30e94579cfc8f62c8318d4c198d5cb4", "type": "github" }, "original": { @@ -1221,11 +1205,11 @@ ] }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1757974173, + "narHash": "sha256-4DpXmct/2rcLgScT1CXOLr0TUeIlrBB1rnFqCOf5MUw=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "302af509428169db34f268324162712d10559f74", "type": "github" }, "original": { @@ -1437,11 +1421,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1752752240, - "narHash": "sha256-qSQ6oIJeIb5MX6LRszgqQYB46FOHemKrvrdzf2u+uxM=", + "lastModified": 1757957798, + "narHash": "sha256-FT4O5imFJ+FUIGhYj/aFwEEgyvLhuyJ2my8f6mCLtTY=", "owner": "danth", "repo": "stylix", - "rev": "40f40bda4269f6e5490c25975069dc61aede6d52", + "rev": "e6fc25cd12e8f461e402cf34649cc73ad93c7bdd", "type": "github" }, "original": { @@ -1673,11 +1657,11 @@ ] }, "locked": { - "lastModified": 1752055615, - "narHash": "sha256-19m7P4O/Aw/6+CzncWMAJu89JaKeMh3aMle1CNQSIwM=", + "lastModified": 1756662192, + "narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "c9d477b5d5bd7f26adddd3f96cfd6a904768d4f9", + "rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4", "type": "github" }, "original": { @@ -1703,11 +1687,11 @@ }, "unstable": { "locked": { - "lastModified": 1752687322, - "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", + "lastModified": 1757745802, + "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", + "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", "type": "github" }, "original": { diff --git a/home/c/programs/default.nix b/home/c/programs/default.nix index 0321340..feff4cc 100644 --- a/home/c/programs/default.nix +++ b/home/c/programs/default.nix @@ -4,6 +4,7 @@ ./waybar ./git ./fish + ./jj ./rofi ./rbw ./firefox diff --git a/home/c/programs/jj/default.nix b/home/c/programs/jj/default.nix new file mode 100644 index 0000000..9c166e7 --- /dev/null +++ b/home/c/programs/jj/default.nix @@ -0,0 +1,23 @@ +{lib, ...}: { + programs.jujutsu = { + enable = true; + settings = { + user = { + name = "Callum Leslie"; + email = "git@cleslie.uk"; + }; + signing = { + behavior = "own"; + backend = "gpg"; + }; + "--scope" = [ + { + "--when".repositories = ["~/repos/projects.cs.nott.ac.uk"]; + user = { + email = "psycl6@nottingham.ac.uk"; + }; + } + ]; + }; + }; +} From 098183449742c5ad3f803bb16a3e4f9c29a1608d Mon Sep 17 00:00:00 2001 From: Callum Leslie Date: Wed, 17 Sep 2025 08:17:40 +0100 Subject: [PATCH 4/6] add pager and private commits for jujutsu --- home/c/programs/jj/default.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/home/c/programs/jj/default.nix b/home/c/programs/jj/default.nix index 9c166e7..8c269f5 100644 --- a/home/c/programs/jj/default.nix +++ b/home/c/programs/jj/default.nix @@ -10,6 +10,15 @@ behavior = "own"; backend = "gpg"; }; + + ui = { + pager = "delta"; + diff-formatter = ":git"; + }; + git = { + private-commits = "description(glob:'wip:*') | description(glob:'private:*') | description(glob:'fixup*:*')"; + }; + "--scope" = [ { "--when".repositories = ["~/repos/projects.cs.nott.ac.uk"]; @@ -17,6 +26,10 @@ email = "psycl6@nottingham.ac.uk"; }; } + { + "--when".commands = ["status"]; + ui.paginate = "never"; + } ]; }; }; From 42aabdf5a513d45a8aaaac85f63f142eb7a209b1 Mon Sep 17 00:00:00 2001 From: Callum Leslie Date: Wed, 17 Sep 2025 10:05:19 +0100 Subject: [PATCH 5/6] change private commit glob --- home/c/programs/jj/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/c/programs/jj/default.nix b/home/c/programs/jj/default.nix index 8c269f5..3029dea 100644 --- a/home/c/programs/jj/default.nix +++ b/home/c/programs/jj/default.nix @@ -16,7 +16,7 @@ diff-formatter = ":git"; }; git = { - private-commits = "description(glob:'wip:*') | description(glob:'private:*') | description(glob:'fixup*:*')"; + private-commits = "description(glob:'wip:*') | description(glob:'private:*') | description(glob:'fixup*')"; }; "--scope" = [ From c48ef1b4938beb59102d43fcf6959eaa07480252 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 20 Sep 2025 05:13:30 +0000 Subject: [PATCH 6/6] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'copyparty': 'github:9001/copyparty/fd331a545d6ac9c94287663f79a3379b5171d048?narHash=sha256-bsaY6m/fEfJY9l0KU%2BtkMM%2BQwggNwS/GVw9jl8bHOF8%3D' (2025-09-15) → 'github:9001/copyparty/e1ea9852c6127d48ad3d54a2b219463261834898?narHash=sha256-ZFjhqGox/z6EZTpVp1XlM627R%2BroPj2PjeeCGcnl2AI%3D' (2025-09-19) • Updated input 'disko': 'github:nix-community/disko/146f45bee02b8bd88812cfce6ffc0f933788875a?narHash=sha256-7lVWL5bC6xBIMWWDal41LlGAG%2B9u2zUorqo3QCUL4p4%3D' (2025-09-10) → 'github:nix-community/disko/67ff9807dd148e704baadbd4fd783b54282ca627?narHash=sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU%3D' (2025-09-19) • Updated input 'firefox-addons': 'gitlab:rycee/nur-expressions/4ae8996b3e139926c784acd22824cde46cd28833?dir=pkgs/firefox-addons&narHash=sha256-vaU/7/PXoym6vnspGxhR29V9klGe9iy9zmp6x7w38f8%3D' (2025-09-16) → 'gitlab:rycee/nur-expressions/7c0e1d343108cbaaf448353fadb62190246251a8?dir=pkgs/firefox-addons&narHash=sha256-PsQSN226ZZ4KnweNspxKTzF8ztdPOAT6%2BgpGkxnygpg%3D' (2025-09-19) • Updated input 'home-manager': 'github:nix-community/home-manager/f21d9167782c086a33ad53e2311854a8f13c281e?narHash=sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo%3D' (2025-09-14) → 'github:nix-community/home-manager/6f656618ebc71ca82d93d306a8aecb2c5f6f2ab2?narHash=sha256-SsI6INUzWwPcRKRaxvi50RttnD9rcC4EjV%2B67TOEfrQ%3D' (2025-09-19) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/9a094440e02a699be5c57453a092a8baf569bdad?narHash=sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs%3D' (2025-09-14) → 'github:NixOS/nixpkgs/d2ed99647a4b195f0bcc440f76edfa10aeb3b743?narHash=sha256-h1BW2y7CY4LI9w61R02wPaOYfmYo82FyRqHIwukQ6SY%3D' (2025-09-18) • Updated input 'pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/302af509428169db34f268324162712d10559f74?narHash=sha256-4DpXmct/2rcLgScT1CXOLr0TUeIlrBB1rnFqCOf5MUw%3D' (2025-09-15) → 'github:cachix/pre-commit-hooks.nix/54df955a695a84cd47d4a43e08e1feaf90b1fd9b?narHash=sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo%3D' (2025-09-17) • Updated input 'treefmt-nix': 'github:numtide/treefmt-nix/1aabc6c05ccbcbf4a635fb7a90400e44282f61c4?narHash=sha256-F1oFfV51AE259I85av%2BMAia221XwMHCOtZCMcZLK2Jk%3D' (2025-08-31) → 'github:numtide/treefmt-nix/128222dc911b8e2e18939537bed1762b7f3a04aa?narHash=sha256-/DbPkh6PZOgfueCbs3uzlk4ASU2nPPsiVWhpMCNkAd0%3D' (2025-09-18) • Updated input 'unstable': 'github:NixOS/nixpkgs/c23193b943c6c689d70ee98ce3128239ed9e32d1?narHash=sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820%3D' (2025-09-13) → 'github:NixOS/nixpkgs/0147c2f1d54b30b5dd6d4a8c8542e8d7edf93b5d?narHash=sha256-7To75JlpekfUmdkUZewnT6MoBANS0XVypW6kjUOXQwc%3D' (2025-09-18) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 0521586..7d95f34 100644 --- a/flake.lock +++ b/flake.lock @@ -114,11 +114,11 @@ ] }, "locked": { - "lastModified": 1757898317, - "narHash": "sha256-bsaY6m/fEfJY9l0KU+tkMM+QwggNwS/GVw9jl8bHOF8=", + "lastModified": 1758322349, + "narHash": "sha256-ZFjhqGox/z6EZTpVp1XlM627R+roPj2PjeeCGcnl2AI=", "owner": "9001", "repo": "copyparty", - "rev": "fd331a545d6ac9c94287663f79a3379b5171d048", + "rev": "e1ea9852c6127d48ad3d54a2b219463261834898", "type": "github" }, "original": { @@ -211,11 +211,11 @@ ] }, "locked": { - "lastModified": 1757508292, - "narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=", + "lastModified": 1758287904, + "narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=", "owner": "nix-community", "repo": "disko", - "rev": "146f45bee02b8bd88812cfce6ffc0f933788875a", + "rev": "67ff9807dd148e704baadbd4fd783b54282ca627", "type": "github" }, "original": { @@ -269,11 +269,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1757995413, - "narHash": "sha256-vaU/7/PXoym6vnspGxhR29V9klGe9iy9zmp6x7w38f8=", + "lastModified": 1758295658, + "narHash": "sha256-PsQSN226ZZ4KnweNspxKTzF8ztdPOAT6+gpGkxnygpg=", "owner": "rycee", "repo": "nur-expressions", - "rev": "4ae8996b3e139926c784acd22824cde46cd28833", + "rev": "7c0e1d343108cbaaf448353fadb62190246251a8", "type": "gitlab" }, "original": { @@ -712,11 +712,11 @@ ] }, "locked": { - "lastModified": 1757808926, - "narHash": "sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo=", + "lastModified": 1758313341, + "narHash": "sha256-SsI6INUzWwPcRKRaxvi50RttnD9rcC4EjV+67TOEfrQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "f21d9167782c086a33ad53e2311854a8f13c281e", + "rev": "6f656618ebc71ca82d93d306a8aecb2c5f6f2ab2", "type": "github" }, "original": { @@ -917,11 +917,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1757810152, - "narHash": "sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs=", + "lastModified": 1758216857, + "narHash": "sha256-h1BW2y7CY4LI9w61R02wPaOYfmYo82FyRqHIwukQ6SY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9a094440e02a699be5c57453a092a8baf569bdad", + "rev": "d2ed99647a4b195f0bcc440f76edfa10aeb3b743", "type": "github" }, "original": { @@ -1205,11 +1205,11 @@ ] }, "locked": { - "lastModified": 1757974173, - "narHash": "sha256-4DpXmct/2rcLgScT1CXOLr0TUeIlrBB1rnFqCOf5MUw=", + "lastModified": 1758108966, + "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "302af509428169db34f268324162712d10559f74", + "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", "type": "github" }, "original": { @@ -1657,11 +1657,11 @@ ] }, "locked": { - "lastModified": 1756662192, - "narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=", + "lastModified": 1758206697, + "narHash": "sha256-/DbPkh6PZOgfueCbs3uzlk4ASU2nPPsiVWhpMCNkAd0=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4", + "rev": "128222dc911b8e2e18939537bed1762b7f3a04aa", "type": "github" }, "original": { @@ -1687,11 +1687,11 @@ }, "unstable": { "locked": { - "lastModified": 1757745802, - "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", + "lastModified": 1758198701, + "narHash": "sha256-7To75JlpekfUmdkUZewnT6MoBANS0XVypW6kjUOXQwc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", + "rev": "0147c2f1d54b30b5dd6d4a8c8542e8d7edf93b5d", "type": "github" }, "original": {