Compare commits
3 Commits
276de57e38
...
8fcd2f893c
| Author | SHA1 | Date |
|---|---|---|
|
|
8fcd2f893c | |
|
|
b608307c90 | |
|
|
be5d713e31 |
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
--when.repositories = ["~/Projects/work"]
|
||||||
|
|
||||||
|
[templates]
|
||||||
|
commit_trailers = "format_signed_off_by_trailer(self)"
|
||||||
|
|
@ -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:)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
{
|
|
||||||
services.prometheus.scrapeConfigs =
|
|
||||||
let
|
|
||||||
input = job_name: host: {
|
|
||||||
inherit job_name;
|
|
||||||
static_configs = [
|
|
||||||
{ targets = [ host ]; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in
|
|
||||||
[
|
|
||||||
(input "jellyfin" "localhost:9007")
|
|
||||||
];
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue