From 6ee1499521e3d46037ba8a992dd035b46c004459 Mon Sep 17 00:00:00 2001 From: karitham Date: Tue, 24 Feb 2026 16:46:56 +0100 Subject: [PATCH] rename log script to ll, move it to standalone file --- modules/dev/shell/nushell.nix | 29 ----------------------------- modules/dev/tools/default.nix | 18 ++++++++++++++---- modules/dev/tools/scripts/ll.nu | 31 +++++++++++++++++++++++++++++++ modules/opencode/default.nix | 1 + 4 files changed, 46 insertions(+), 33 deletions(-) create mode 100755 modules/dev/tools/scripts/ll.nu diff --git a/modules/dev/shell/nushell.nix b/modules/dev/shell/nushell.nix index 88fe8b7..da50c53 100644 --- a/modules/dev/shell/nushell.nix +++ b/modules/dev/shell/nushell.nix @@ -19,35 +19,6 @@ source-env (if ("~/.profile.nu" | path exists) { "~/.profile.nu" } else null) - def log [] { - let now = date now - let log_dir = $"($env.HOME)/notes/logs/($now | format date "%Y/%m")" - - if not ($log_dir | path exists) { mkdir $log_dir } - - cd $log_dir - - run-external $env.EDITOR $"($now | format date "%d").md" - - job spawn { - do { - let msg = $"Log update: ($now | format date '%F %T')" - - if (jj log --no-graph -r $"@- & files\('logs')" | is-not-empty) { - jj squash --ignore-immutable --message $msg - jj bookmark set main -r @- - jj git push -b main - } else { - jj describe -m $msg - jj bookmark set main -r @ - jj git push -b main - } - - ${lib.getExe' pkgs.libnotify "notify-send"} "Log Synced" $"Updates pushed to git.\n($msg)" - } | complete - } | ignore - } - ${lib.getExe pkgs.pokego} -l french ''; diff --git a/modules/dev/tools/default.nix b/modules/dev/tools/default.nix index 5540c90..3017a17 100644 --- a/modules/dev/tools/default.nix +++ b/modules/dev/tools/default.nix @@ -4,18 +4,30 @@ pkgs, ... }: +let + scripts = lib.pipe ./scripts [ + builtins.readDir + (lib.mapAttrsToList ( + name: type: { + name = "bin/${lib.removeSuffix ".nu" name}"; + path = ./scripts + "/${name}"; + } + )) + (pkgs.linkFarm "dev-tools-scripts") + ]; +in { config = lib.mkIf config.dev.tools.enable { home.packages = [ pkgs.sd pkgs.fd pkgs.uutils-coreutils-noprefix + scripts ]; programs = { zoxide.enable = true; carapace.enable = true; - ripgrep.enable = true; bat.enable = true; less = { @@ -28,7 +40,5 @@ }; }; - imports = [ - ./direnv.nix - ]; + imports = [ ./direnv.nix ]; } diff --git a/modules/dev/tools/scripts/ll.nu b/modules/dev/tools/scripts/ll.nu new file mode 100755 index 0000000..debc947 --- /dev/null +++ b/modules/dev/tools/scripts/ll.nu @@ -0,0 +1,31 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i nu -p nushell jujutsu libnotify + +def main [] { + let now = (date now) + let log_dir = $"($env.HOME)/notes/logs/($now | format date "%Y/%m")" + + if not ($log_dir | path exists) { mkdir $log_dir } + + cd $log_dir + + run-external $env.EDITOR $"($now | format date "%d").md" + + job spawn { + do { + let msg = $"Log update: ($now | format date '%F %T')" + + if (jj log --no-graph -r $"@- & files\('logs')" | is-not-empty) { + jj squash --ignore-immutable --message $msg + jj bookmark set main -r @- + jj git push -b main + } else { + jj describe -m $msg + jj bookmark set main -r @ + jj git push -b main + } + + notify-send "Log Synced" $"Updates pushed to git.\n($msg)" + } | complete + } | ignore +} diff --git a/modules/opencode/default.nix b/modules/opencode/default.nix index 2439691..893a8ab 100644 --- a/modules/opencode/default.nix +++ b/modules/opencode/default.nix @@ -38,6 +38,7 @@ lib.mkIf cfg.enable { permission = { todoread = "deny"; todowrite = "deny"; + external_directory = lib.genAttrs [ "~/go/pkg/mod/**" ] (_: "allow"); }; mcp = lib.mkIf cfg.enableMcp { gopls = { -- 2.54.0