Compare commits

...

3 Commits

9 changed files with 107 additions and 101 deletions

View File

@ -58,7 +58,7 @@
dependsOn = [ "qbittorrent" ]; dependsOn = [ "qbittorrent" ];
volumes = [ volumes = [
"/var/lib/qui:/config" "/var/lib/qui:/config"
"/mnt/library:/data/torrents" "/mnt/library:/downloads"
]; ];
ports = [ ports = [
"100.64.0.1:7476:7476" "100.64.0.1:7476:7476"
@ -84,4 +84,6 @@
]; ];
}; };
}; };
services.prowlarr.enable = true;
} }

View File

@ -1,21 +1,13 @@
{ pkgs, config, ... }: { pkgs, config, ... }:
{ {
# Jellyfin # Jellyfin
services.jellyfin = { services.jellyfin.enable = true;
enable = true;
openFirewall = true;
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
jellyfin jellyfin
jellyfin-web jellyfin-web
jellyfin-ffmpeg jellyfin-ffmpeg
]; ];
services.prowlarr = {
enable = true;
openFirewall = true;
};
sops.secrets.jellyfin-token = { sops.secrets.jellyfin-token = {
sopsFile = ../../secrets/jellyfin-exporter.env; sopsFile = ../../secrets/jellyfin-exporter.env;
format = "dotenv"; format = "dotenv";
@ -27,10 +19,23 @@
"127.0.0.1:9007:9594" "127.0.0.1:9007:9594"
]; ];
environmentFiles = [ config.sops.secrets.jellyfin-token.path ]; environmentFiles = [ config.sops.secrets.jellyfin-token.path ];
entrypoint = "/bin/sh";
cmd = [ cmd = [
"-c" "--jellyfin.address=http://127.0.0.1:8096"
"/bin/jellyfin_exporter --jellyfin.address=http://100.64.0.6:8096 --jellyfin.token=$JELLYFIN_TOKEN --collector.activity" "--collector.activity"
]; ];
}; };
services.nginx.virtualHosts."jellyfin.technogothic.net" = {
useACMEHost = "technogothic.net";
forceSSL = true;
locations."/".proxyPass = "http://localhost:8096";
locations."/socket" = {
proxyPass = "http://localhost:8096";
extraConfig = ''
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
'';
};
};
} }

View File

@ -5,7 +5,10 @@
... ...
}: }:
{ {
imports = [ ../../common/home_manager/helix.nix ]; imports = [
../../common/home_manager/helix.nix
../../common/home_manager/vcs.nix
];
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.users.agatha = { home-manager.users.agatha = {
@ -27,77 +30,6 @@
programs = { programs = {
home-manager.enable = true; home-manager.enable = true;
git = {
enable = true;
signing.signByDefault = true;
signing.format = "ssh";
settings = {
user.name = "Agatha V. Lovelace";
user.email = "agatha@technogothic.net";
gpg.ssh.allowedSignersFile = "~/.gitallowedsigners";
alias = {
plog = "log --graph --pretty=format:'%h -%d %s -%an %n' --abbrev-commit --date=relative --branches";
pfusch = "push --force-with-lease";
stat = "diff --compact-summary";
undo = "reset --soft HEAD~";
unstage = "restore --staged";
};
init = {
defaultBranch = "mistress";
};
core = {
editor = "hx";
};
merge.conflictStyle = "zdiff3";
rebase.autosquash = true;
pull.rebase = true;
};
};
jujutsu = {
enable = true;
settings = {
inherit (config.home-manager.users.agatha.programs.git.settings) user;
signing = {
backend = "ssh";
behavior = "own";
backends.ssh.allowed-signers = "~/.gitallowedsigners";
};
git.sign-on-push = true;
ui.default-command = "log";
ui.diff-editor = ":builtin";
template-aliases = {
"format_short_signature(signature)" = "signature.name()";
};
revset-aliases = {
"closest_pushable(to)" =
"heads(::to & mutable() & ~description(exact:\"\") & (~empty() | merges()))";
};
aliases.tug = [
"bookmark"
"move"
"--from"
"heads(::@ & bookmarks())"
"--to"
"closest_pushable(@)"
];
};
};
delta = {
enable = true;
enableGitIntegration = true;
enableJujutsuIntegration = true;
options = {
blame-format = "{timestamp:<15} {author:<18.18} {commit:<8}";
file-modified-label = "modified:";
hunk-header-decoration-style = "blue ul ol";
line-numbers = true;
navigate = true;
navigate-regex = "^(commit|added:|removed:|renamed:|modified:)";
};
};
starship = { starship = {
enable = true; enable = true;

View File

@ -0,0 +1,4 @@
--when.repositories = ["~/Projects/work"]
[templates]
commit_trailers = "format_signed_off_by_trailer(self)"

View File

@ -0,0 +1,77 @@
{ config, ... }:
{
home-manager.users.agatha = {
programs.git = {
enable = true;
signing.signByDefault = true;
signing.format = "ssh";
settings = {
user.name = "Agatha V. Lovelace";
user.email = "agatha@technogothic.net";
gpg.ssh.allowedSignersFile = "~/.gitallowedsigners";
alias = {
plog = "log --graph --pretty=format:'%h -%d %s -%an %n' --abbrev-commit --date=relative --branches";
pfusch = "push --force-with-lease";
stat = "diff --compact-summary";
undo = "reset --soft HEAD~";
unstage = "restore --staged";
};
init = {
defaultBranch = "mistress";
};
core = {
editor = "hx";
};
merge.conflictStyle = "zdiff3";
rebase.autosquash = true;
pull.rebase = true;
};
};
programs.jujutsu = {
enable = true;
settings = {
inherit (config.home-manager.users.agatha.programs.git.settings) user;
signing = {
backend = "ssh";
behavior = "own";
backends.ssh.allowed-signers = "~/.gitallowedsigners";
};
git.sign-on-push = true;
ui.default-command = "log";
ui.diff-editor = ":builtin";
template-aliases = {
"format_short_signature(signature)" = "signature.name()";
};
revset-aliases = {
"closest_pushable(to)" =
"heads(::to & mutable() & ~description(exact:\"\") & (~empty() | merges()))";
};
aliases.tug = [
"bookmark"
"move"
"--from"
"heads(::@ & bookmarks())"
"--to"
"closest_pushable(@)"
];
};
};
xdg.configFile."jj/conf.d/work.toml".source = ./jj/work.toml;
programs.delta = {
enable = true;
enableGitIntegration = true;
enableJujutsuIntegration = true;
options = {
blame-format = "{timestamp:<15} {author:<18.18} {commit:<8}";
file-modified-label = "modified:";
hunk-header-decoration-style = "blue ul ol";
line-numbers = true;
navigate = true;
navigate-regex = "^(commit|added:|removed:|renamed:|modified:)";
};
};
};
}

View File

@ -20,6 +20,7 @@
../../common/fragments/storage.nix ../../common/fragments/storage.nix
../../common/fragments/vsftpd.nix ../../common/fragments/vsftpd.nix
../../common/home_manager/common.nix ../../common/home_manager/common.nix
../../common/fragments/media.nix
]; ];
networking.hostName = "synchronicity-ii"; networking.hostName = "synchronicity-ii";

View File

@ -12,6 +12,7 @@
[ [
(input "telegraf" "localhost${config.services.telegraf.extraConfig.outputs.prometheus_client.listen}") (input "telegraf" "localhost${config.services.telegraf.extraConfig.outputs.prometheus_client.listen}")
(input "qbittorrent" "localhost:9006") (input "qbittorrent" "localhost:9006")
(input "jellyfin" "localhost:9007")
]; ];
services.telegraf = { services.telegraf = {

View File

@ -1,10 +1,8 @@
{ {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./monitoring.nix
../../common ../../common
../../common/fragments/home-assistant.nix ../../common/fragments/home-assistant.nix
../../common/fragments/media.nix
../../common/fragments/prometheus.nix ../../common/fragments/prometheus.nix
../../common/fragments/sops.nix ../../common/fragments/sops.nix
../../common/fragments/sponsorblock.nix ../../common/fragments/sponsorblock.nix

View File

@ -1,14 +0,0 @@
{
services.prometheus.scrapeConfigs =
let
input = job_name: host: {
inherit job_name;
static_configs = [
{ targets = [ host ]; }
];
};
in
[
(input "jellyfin" "localhost:9007")
];
}