tangled
alpha
login
or
join now
karitham.dev
/
dotfiles
0
fork
atom
nix all the things
0
fork
atom
overview
issues
pulls
pipelines
rename log script to ll, move it to standalone file
karitham.dev
3 weeks ago
6ee14995
985276f0
verified
This commit was signed with the committer's
known signature
.
karitham.dev
SSH Key Fingerprint:
SHA256:ODeRMGYuG7M/0G+fRF6IfwUk7r5AgG5MYdFTN+uvimc=
+46
-33
4 changed files
expand all
collapse all
unified
split
modules
dev
shell
nushell.nix
tools
default.nix
scripts
ll.nu
opencode
default.nix
-29
modules/dev/shell/nushell.nix
···
19
19
20
20
source-env (if ("~/.profile.nu" | path exists) { "~/.profile.nu" } else null)
21
21
22
22
-
def log [] {
23
23
-
let now = date now
24
24
-
let log_dir = $"($env.HOME)/notes/logs/($now | format date "%Y/%m")"
25
25
-
26
26
-
if not ($log_dir | path exists) { mkdir $log_dir }
27
27
-
28
28
-
cd $log_dir
29
29
-
30
30
-
run-external $env.EDITOR $"($now | format date "%d").md"
31
31
-
32
32
-
job spawn {
33
33
-
do {
34
34
-
let msg = $"Log update: ($now | format date '%F %T')"
35
35
-
36
36
-
if (jj log --no-graph -r $"@- & files\('logs')" | is-not-empty) {
37
37
-
jj squash --ignore-immutable --message $msg
38
38
-
jj bookmark set main -r @-
39
39
-
jj git push -b main
40
40
-
} else {
41
41
-
jj describe -m $msg
42
42
-
jj bookmark set main -r @
43
43
-
jj git push -b main
44
44
-
}
45
45
-
46
46
-
${lib.getExe' pkgs.libnotify "notify-send"} "Log Synced" $"Updates pushed to git.\n($msg)"
47
47
-
} | complete
48
48
-
} | ignore
49
49
-
}
50
50
-
51
22
${lib.getExe pkgs.pokego} -l french
52
23
'';
53
24
+14
-4
modules/dev/tools/default.nix
···
4
4
pkgs,
5
5
...
6
6
}:
7
7
+
let
8
8
+
scripts = lib.pipe ./scripts [
9
9
+
builtins.readDir
10
10
+
(lib.mapAttrsToList (
11
11
+
name: type: {
12
12
+
name = "bin/${lib.removeSuffix ".nu" name}";
13
13
+
path = ./scripts + "/${name}";
14
14
+
}
15
15
+
))
16
16
+
(pkgs.linkFarm "dev-tools-scripts")
17
17
+
];
18
18
+
in
7
19
{
8
20
config = lib.mkIf config.dev.tools.enable {
9
21
home.packages = [
10
22
pkgs.sd
11
23
pkgs.fd
12
24
pkgs.uutils-coreutils-noprefix
25
25
+
scripts
13
26
];
14
27
15
28
programs = {
16
29
zoxide.enable = true;
17
30
carapace.enable = true;
18
18
-
19
31
ripgrep.enable = true;
20
32
bat.enable = true;
21
33
less = {
···
28
40
};
29
41
};
30
42
31
31
-
imports = [
32
32
-
./direnv.nix
33
33
-
];
43
43
+
imports = [ ./direnv.nix ];
34
44
}
+31
modules/dev/tools/scripts/ll.nu
···
1
1
+
#!/usr/bin/env nix-shell
2
2
+
#!nix-shell -i nu -p nushell jujutsu libnotify
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")"
7
7
+
8
8
+
if not ($log_dir | path exists) { mkdir $log_dir }
9
9
+
10
10
+
cd $log_dir
11
11
+
12
12
+
run-external $env.EDITOR $"($now | format date "%d").md"
13
13
+
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
31
31
+
}
+1
modules/opencode/default.nix
···
38
38
permission = {
39
39
todoread = "deny";
40
40
todowrite = "deny";
41
41
+
external_directory = lib.genAttrs [ "~/go/pkg/mod/**" ] (_: "allow");
41
42
};
42
43
mcp = lib.mkIf cfg.enableMcp {
43
44
gopls = {