Compare commits

...

3 Commits

Author SHA1 Message Date
Harsh Shandilya 84bcbe7418 ryzenbox: enable logseq 2024-05-05 00:59:14 +05:30
Harsh Shandilya 85729d5b59 modules: add logseq 2024-05-05 00:59:14 +05:30
Harsh Shandilya 78f6d40a79 wailord: set up Grafana and Prometheus
Fixes PP-58
2024-05-04 22:14:44 +05:30
5 changed files with 90 additions and 1 deletions

View File

@ -4,6 +4,7 @@ _: {
name = "msfjarvis";
};
profiles.logseq.enable = true;
profiles.mpv.enable = true;
profiles.pass.enable = true;
profiles.spotify.enable = true;

View File

@ -0,0 +1,25 @@
{
config,
pkgs,
lib,
...
}: let
cfg = config.profiles.logseq;
in {
options.profiles.logseq = with lib; {
enable = mkEnableOption "Install logseq and configure git synchronization";
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [logseq];
services.git-sync = {
enable = true;
repositories = {
logseq = {
path = "${config.home.homeDirectory}/logseq";
uri = "git+ssh://msfjarvis@github.com:msfjarvis/logseq-backup.git";
interval = 600;
};
};
};
};
}

View File

@ -26,7 +26,7 @@ in {
};
services.git-sync = {
enable = true;
repositories = lib.mkDefault {
repositories = {
password-store = {
path = config.programs.password-store.settings.PASSWORD_STORE_DIR;
uri = "git+ssh://msfjarvis@github.com:msfjarvis/pass-store.git";

View File

@ -5,6 +5,14 @@
jdk_headless = prev.openjdk22_headless;
jre = prev.openjdk22;
jre_headless = prev.openjdk22_headless;
logseq = prev.logseq.overrideAttrs (old: {
# Remove NIXOS_OZONE_WL compat which breaks the app entirely
postFixup = ''
makeWrapper ${prev.electron_27}/bin/electron $out/bin/${old.pname} \
--set "LOCAL_GIT_DIRECTORY" ${prev.git} \
--add-flags $out/share/${old.pname}/resources/app
'';
});
# Silence warnings about existing files
megatools = prev.megatools.overrideAttrs (_: {
patches = [./megatools.patch];

View File

@ -91,6 +91,11 @@
services.caddy = {
enable = true;
globalConfig = ''
servers {
metrics
}
'';
virtualHosts = {
"https://cache.msfjarvis.dev" = {
extraConfig = ''
@ -102,6 +107,11 @@
reverse_proxy :${toString config.services.gitea.settings.server.HTTP_PORT}
'';
};
"https://${config.services.grafana.domain}" = {
extraConfig = ''
reverse_proxy ${config.services.grafana.addr}:${toString config.services.grafana.port}
'';
};
"https://read.msfjarvis.dev" = {
extraConfig = ''
reverse_proxy ${toString config.services.miniflux.config.LISTEN_ADDR}
@ -134,6 +144,13 @@
};
};
services.grafana = {
enable = true;
domain = "news.msfjarvis.dev";
port = 2342;
addr = "127.0.0.1";
};
sops.secrets.feed-auth = {
owner = config.users.users.miniflux.name;
sopsFile = ../../../secrets/feed-auth.env;
@ -159,6 +176,44 @@
adminCredentialsFile = config.sops.secrets.feed-auth.path;
};
services.prometheus = {
enable = true;
port = 9001;
exporters = {
node = {
enable = true;
enabledCollectors = ["systemd"];
port = 9002;
};
};
scrapeConfigs = [
{
job_name = "wailord";
static_configs = [
{
targets = ["127.0.0.1:${toString config.services.prometheus.exporters.node.port}"];
}
];
}
{
job_name = "caddy";
static_configs = [
{
targets = ["127.0.0.1:2019"];
}
];
}
{
job_name = "miniflux";
static_configs = [
{
targets = [config.services.miniflux.config.LISTEN_ADDR];
}
];
}
];
};
system.stateVersion = "23.11";
# virtualisation.oci-containers.containers = {