tangled
alpha
login
or
join now
karitham.dev
/
dotfiles
0
fork
atom
nix all the things
0
fork
atom
overview
issues
pulls
pipelines
improve ll script
karitham.dev
3 weeks ago
ad7dd896
6ee14995
verified
This commit was signed with the committer's
known signature
.
karitham.dev
SSH Key Fingerprint:
SHA256:ODeRMGYuG7M/0G+fRF6IfwUk7r5AgG5MYdFTN+uvimc=
+14
-22
2 changed files
expand all
collapse all
unified
split
modules
dev
tools
default.nix
scripts
ll.nu
+1
modules/dev/tools/default.nix
···
22
22
pkgs.sd
23
23
pkgs.fd
24
24
pkgs.uutils-coreutils-noprefix
25
25
+
pkgs.libnotify
25
26
scripts
26
27
];
27
28
+13
-22
modules/dev/tools/scripts/ll.nu
···
1
1
-
#!/usr/bin/env nix-shell
2
2
-
#!nix-shell -i nu -p nushell jujutsu libnotify
1
1
+
#!/usr/bin/env -S nu --no-config-file
2
2
+
# we assume jj & nushell & libnotify are in path
3
3
4
4
def main [] {
5
5
let now = (date now)
6
6
-
let log_dir = $"($env.HOME)/notes/logs/($now | format date "%Y/%m")"
6
6
+
let date_path = ($now | format date "%Y/%m")
7
7
+
let day_file = ($now | format date "%d.md")
8
8
+
let log_dir = $"($env.HOME)/notes/logs/($date_path)"
7
9
8
8
-
if not ($log_dir | path exists) { mkdir $log_dir }
10
10
+
mkdir $log_dir
11
11
+
12
12
+
let target = ($log_dir | path join $day_file)
13
13
+
run-external $env.EDITOR $target
9
14
10
15
cd $log_dir
11
16
12
12
-
run-external $env.EDITOR $"($now | format date "%d").md"
17
17
+
jj describe -m $"Log update: ($now | format date '%F %T')"
18
18
+
jj bookmark set main -r @
19
19
+
jj git push -b main
13
20
14
14
-
job spawn {
15
15
-
do {
16
16
-
let msg = $"Log update: ($now | format date '%F %T')"
17
17
-
18
18
-
if (jj log --no-graph -r $"@- & files\('logs')" | is-not-empty) {
19
19
-
jj squash --ignore-immutable --message $msg
20
20
-
jj bookmark set main -r @-
21
21
-
jj git push -b main
22
22
-
} else {
23
23
-
jj describe -m $msg
24
24
-
jj bookmark set main -r @
25
25
-
jj git push -b main
26
26
-
}
27
27
-
28
28
-
notify-send "Log Synced" $"Updates pushed to git.\n($msg)"
29
29
-
} | complete
30
30
-
} | ignore
21
21
+
notify-send 'Log Synced' 'Updates pushed to git.'
31
22
}