Compare commits
5 Commits
d8b61a42f3
...
37078353c9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37078353c9 | ||
|
|
b3ae7e4c07 | ||
|
|
adc6e4ed57 | ||
|
|
fd7fccd9ae | ||
|
|
d182b515d8 |
60
flake.lock
generated
60
flake.lock
generated
@@ -169,6 +169,24 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -615,13 +633,35 @@
|
|||||||
"url": "ssh://gitea@git.ppp.pm:1122/alex/komga-comictracker.git"
|
"url": "ssh://gitea@git.ppp.pm:1122/alex/komga-comictracker.git"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"naviterm": {
|
"komga-reading-stats": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1774185820,
|
||||||
|
"narHash": "sha256-ASExCDbdujwneZ/tZeNXxzKPbUFLroBnmPBJ5jEniCI=",
|
||||||
|
"ref": "main",
|
||||||
|
"rev": "769bd540e8975050b2778025fdebc6fdd5c5e2b5",
|
||||||
|
"revCount": 42,
|
||||||
|
"type": "git",
|
||||||
|
"url": "ssh://gitea@git.ppp.pm:1122/alex/komga-reading-stats.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"ref": "main",
|
||||||
|
"type": "git",
|
||||||
|
"url": "ssh://gitea@git.ppp.pm:1122/alex/komga-reading-stats.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"naviterm": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773476909,
|
"lastModified": 1773476909,
|
||||||
"narHash": "sha256-hSg/7xFO+3G3wWFq1480OecREqTY+fu06L06rM2UBmQ=",
|
"narHash": "sha256-hSg/7xFO+3G3wWFq1480OecREqTY+fu06L06rM2UBmQ=",
|
||||||
@@ -676,7 +716,7 @@
|
|||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems_4"
|
"systems": "systems_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773491467,
|
"lastModified": 1773491467,
|
||||||
@@ -810,6 +850,7 @@
|
|||||||
"hyprland-contrib": "hyprland-contrib",
|
"hyprland-contrib": "hyprland-contrib",
|
||||||
"komga-bookmanager": "komga-bookmanager",
|
"komga-bookmanager": "komga-bookmanager",
|
||||||
"komga-comictracker": "komga-comictracker",
|
"komga-comictracker": "komga-comictracker",
|
||||||
|
"komga-reading-stats": "komga-reading-stats",
|
||||||
"naviterm": "naviterm",
|
"naviterm": "naviterm",
|
||||||
"nh": "nh",
|
"nh": "nh",
|
||||||
"nix-gc-env": "nix-gc-env",
|
"nix-gc-env": "nix-gc-env",
|
||||||
@@ -881,6 +922,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"whib-backend": {
|
"whib-backend": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|||||||
@@ -77,7 +77,13 @@
|
|||||||
|
|
||||||
komga-bookmanager = {
|
komga-bookmanager = {
|
||||||
url = "git+ssh://gitea@git.ppp.pm:1122/alex/komga-bookmanager.git?ref=main";
|
url = "git+ssh://gitea@git.ppp.pm:1122/alex/komga-bookmanager.git?ref=main";
|
||||||
# url = "path:/home/alex/code/own/komga-comictracker";
|
# url = "path:/home/alex/code/own/komga-bookmanager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
komga-reading-stats = {
|
||||||
|
url = "git+ssh://gitea@git.ppp.pm:1122/alex/komga-reading-stats.git?ref=main";
|
||||||
|
# url = "path:/home/alex/code/own/komga-reading-stats";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -38,6 +38,11 @@ in
|
|||||||
port = 8686;
|
port = 8686;
|
||||||
description = "Book manager";
|
description = "Book manager";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "Komga Reading Stats";
|
||||||
|
port = 8787;
|
||||||
|
description = "Reading stats";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
users.users.komga = {
|
users.users.komga = {
|
||||||
@@ -108,6 +113,20 @@ in
|
|||||||
libraryId = "0PNE1NEPY6995";
|
libraryId = "0PNE1NEPY6995";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.komga-reading-stats = {
|
||||||
|
enable = true;
|
||||||
|
host = "0.0.0.0";
|
||||||
|
port = 8787;
|
||||||
|
origin = "http://manatee:8787";
|
||||||
|
|
||||||
|
anthropicApiKeyFile = config.age.secrets.komga-reading-stats-claude-api-key.path;
|
||||||
|
claudeModel = "claude-sonnet-4-6";
|
||||||
|
komga = {
|
||||||
|
url = "http://127.0.0.1:8002";
|
||||||
|
apiKeyFile = config.age.secrets.komga-reading-stats-komga-api-key.path;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
age.secrets = {
|
age.secrets = {
|
||||||
"komga-comicbooktracker-credentials" = {
|
"komga-comicbooktracker-credentials" = {
|
||||||
file = ../../../../secrets/manatee/komga-comicbooktracker-credentials.age;
|
file = ../../../../secrets/manatee/komga-comicbooktracker-credentials.age;
|
||||||
@@ -120,6 +139,14 @@ in
|
|||||||
owner = "alex";
|
owner = "alex";
|
||||||
group = "users";
|
group = "users";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"komga-reading-stats-claude-api-key" = {
|
||||||
|
file = ../../../../secrets/manatee/komga-reading-stats-claude-api-key.age;
|
||||||
|
};
|
||||||
|
|
||||||
|
"komga-reading-stats-komga-api-key" = {
|
||||||
|
file = ../../../../secrets/manatee/komga-reading-stats-claude-api-key.age;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,22 @@ in
|
|||||||
precmd_functions+=(_ensure_bash_interactive)
|
precmd_functions+=(_ensure_bash_interactive)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Configure IntelliJ to exclude .direnv from indexing
|
||||||
|
home.activation.intellijIgnoreDirenv = ''
|
||||||
|
for idea_config in $HOME/.config/JetBrains/IntelliJIdea*; do
|
||||||
|
if [ -d "$idea_config" ]; then
|
||||||
|
$DRY_RUN_CMD mkdir -p "$idea_config/options"
|
||||||
|
$DRY_RUN_CMD tee "$idea_config/options/filetypes.xml" > /dev/null <<'EOF'
|
||||||
|
<application>
|
||||||
|
<component name="FileTypeManager" version="18">
|
||||||
|
<ignoreFiles list="*.pyc;*.pyo;*.rbc;*.yarb;*~;.DS_Store;.git;.hg;.svn;CVS;__pycache__;_svn;vssver.scc;vssver2.scc;.direnv" />
|
||||||
|
</component>
|
||||||
|
</application>
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
GITHUB_ACTOR = "Alexander Heldt";
|
GITHUB_ACTOR = "Alexander Heldt";
|
||||||
GITHUB_TOKEN = "$(${pkgs.coreutils}/bin/cat ${config.age.secrets.work-github-token.path})";
|
GITHUB_TOKEN = "$(${pkgs.coreutils}/bin/cat ${config.age.secrets.work-github-token.path})";
|
||||||
@@ -48,6 +64,8 @@ in
|
|||||||
pkgs.postman
|
pkgs.postman
|
||||||
pkgs.grpcurl
|
pkgs.grpcurl
|
||||||
|
|
||||||
|
pkgs.slack
|
||||||
|
|
||||||
# for `radio`
|
# for `radio`
|
||||||
pkgs.go-mockery
|
pkgs.go-mockery
|
||||||
pkgs.golangci-lint
|
pkgs.golangci-lint
|
||||||
|
|||||||
7
secrets/manatee/komga-reading-stats-claude-api-key.age
Normal file
7
secrets/manatee/komga-reading-stats-claude-api-key.age
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 wkRvNA 5bEWAlzS34w3tMqMCTRqFoni4MKyQCcaBdEQ96BccVk
|
||||||
|
85rIfjpzL/cNx5SlpKeOUzsMl0rwvCdPgrZ0jlXE1nQ
|
||||||
|
-> ssh-ed25519 +oNaHQ d2ZZ/XQ5fgT8FMwhyfWHB5FESXM0Y9tlE1KcWwQV7HY
|
||||||
|
bCj5fLqN2zfPBcnXaJAYJYA+PXTPAdLZVy2FinZvUTM
|
||||||
|
--- vxopGi8/YrgI/VceX807yk7edWrdYgjmGYG9Zp/cuQA
|
||||||
|
žFc˜ÖÂ|ª67Ñ~uðáúÉ€Wê–ÿ’eïó‰ÍVMj5‹ÜG?³JâË_pîcf57^ƒŒ¥r@g&<26>?„¬4ŠþÎðˆÉ‘@ƒN…œsjZ¡Šé^-âyB{\ºÔñ3«ˆýT)³ž¯uÝ\Wa\àìB)@d ™vrì8q.kÚ™˜
|
||||||
7
secrets/manatee/komga-reading-stats-komga-api-key.age
Normal file
7
secrets/manatee/komga-reading-stats-komga-api-key.age
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 wkRvNA ykXbxHlehL+AucBCiS7NKNOWjHm51ZTbfgM7fPU+QDo
|
||||||
|
FtPBWg91yWq90n4PkzdwpIq+DnwL+nwUNzH3mQP4lgg
|
||||||
|
-> ssh-ed25519 +oNaHQ fCNig/NdBmbZqicNhSnYKz7Rmc7S2JpN+sQ50o+QFg0
|
||||||
|
AQiKSjZMsjuJGsnZWjSNePrbXBQ/f1zhNCXLznbZk1w
|
||||||
|
--- zjW49MAgjerHuHqMrSSDpgkWLD40eMSr+ZkKZ0Y9pJo
|
||||||
|
•؇¯O¹Þ°<>}Œ/¨ïd°°
|
||||||
@@ -37,6 +37,8 @@ in {
|
|||||||
"manatee/hetzner-dns.age".publicKeys = [ manatee alex ];
|
"manatee/hetzner-dns.age".publicKeys = [ manatee alex ];
|
||||||
"manatee/komga-comicbooktracker-credentials.age".publicKeys = [ manatee alex];
|
"manatee/komga-comicbooktracker-credentials.age".publicKeys = [ manatee alex];
|
||||||
"manatee/komga-bookmanager-credentials.age".publicKeys = [ manatee alex];
|
"manatee/komga-bookmanager-credentials.age".publicKeys = [ manatee alex];
|
||||||
|
"manatee/komga-reading-stats-claude-api-key.age".publicKeys = [ manatee alex];
|
||||||
|
"manatee/komga-reading-stats-komga-api-key.age".publicKeys = [ manatee alex];
|
||||||
|
|
||||||
"backwards/root.backwards.age".publicKeys = [ backwards alex ];
|
"backwards/root.backwards.age".publicKeys = [ backwards alex ];
|
||||||
"backwards/root.backwards.pub.age".publicKeys = [ backwards alex ];
|
"backwards/root.backwards.pub.age".publicKeys = [ backwards alex ];
|
||||||
|
|||||||
Reference in New Issue
Block a user