commit 70c515d9a78584a08ea9de4ec6d127009fb79ce0
parent 9fbb26274325009246de0921db7e16509edbe4d5
Author: William Casarin <jb55@jb55.com>
Date: Fri, 17 Nov 2023 06:21:37 -0800
Merge remote-tracking branch 'origin/master'
Diffstat:
21 files changed, 219 insertions(+), 83 deletions(-)
diff --git a/bin/btc-balance b/bin/btc-balance
@@ -1,8 +1,14 @@
#!/usr/bin/env bash
#btc coins | awk '{print $3}' | xargs printf '%.8f * 100000000\n' | bc -l | xargs printf '%.0f\n' | paste -sd+ | bc -l | xargs printf '%s sats to btc\n' | bcalc -n
-bcli -rpcwallet=personal getbalance
-bcli -rpcwallet=vanessa getbalance
+for wallet in personal vanessa multisig bare clightning
+do
+ echo -n "$wallet "
+ bcli -rpcwallet="$wallet" getbalance
+done
+
+echo -n "cln-availout "
+lcli summary | grep avail_out | cut -d= -f2 | cut -d" " -f1 | xargs printf '%s to btc\n' | bcalc -n
#if [ -n "$1" ]; then
# FIAT=$(printf '%s sats to fiat\n' "$SATS" | bcalc --price "$1")
diff --git a/bin/fuzz-notmuch-am b/bin/fuzz-notmuch-am
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
set -eou pipefail
-echo notmuch am query:patches
+echo notmuch am -s --am -f ${1:-query:patches}
diff --git a/bin/fuzz-reader b/bin/fuzz-reader
@@ -13,7 +13,7 @@ document=$(find "$BOOKS_DIR" \( -iname '*.txt' -o -iname '*.epub' -o -iname '*.p
name="$(basename "$document")"
noext="${name%.*}"
-wname "$noext"
+#wname "$noext"
ext="$(extname "$document")"
if [ "$ext" == ".txt" ] || [ "$ext" == ".md" ] || [ "$ext" == ".mediawiki" ]; then
echo lessr "$document"
diff --git a/bin/mail-prlink b/bin/mail-prlink
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+tac |
+grep -E '^https://github\.com.*pull/' |
+head -n1 |
+sed -En 's,^(.*github.com/[^/]+/[^/]+/pull/[0-9]+).*,\1,p'
diff --git a/bin/mail-prpatch b/bin/mail-prpatch
@@ -2,11 +2,6 @@
set -eou pipefail
-args=$(
-tac |
-grep -E 'github\.com.*pull/' |
-head -n1 |
-sed -En 's,.*github.com/([^/]+)/([^/]+)/pull/([0-9]+).*,\3 \1/\2,p'
-)
+args=$(mail-prlink | sed -En 's,.*github.com/([^/]+)/([^/]+)/pull/([0-9]+).*,\3 \1/\2,p')
prpatch $args
diff --git a/bin/mail-prpatch-insert b/bin/mail-prpatch-insert
@@ -0,0 +1,78 @@
+#!/usr/bin/env bash
+
+set -e
+
+function new_msgid() {
+ echo "<$(sha256sum "$1" | awk '{ print $1 }')-$(date +%s)>"
+}
+
+TO="jb55@jb55.com"
+PRPATCH="$HOME/var/prpatch"
+MBOX="$PRPATCH/out.mbox"
+PATCHES="$PRPATCH/out"
+
+function build_coverletter() {
+ <"$1" awk '/^$/ {exit} {print}' > "$PRPATCH"/header
+ <"$PRPATCH/mail" awk 'BEGIN {print_it=0;} skip > 0 {skip -= 1; next;} /^----==_mimepart/ {print_it=!print_it;skip=3;next;} print_it==1 {print;}' |
+ cat "$PRPATCH/header" - |
+ sed -E 's,(PATCH[^1]+)1,\10,' > "$PATCHES/0000"
+}
+
+rm -rf "$PRPATCH"
+mkdir -p "$PATCHES"
+mail="$(cat -)"
+prlink="$(mail-prlink <<<"$mail")"
+#threadid=$(<<<"$mail" grep -i '^message-id:' | cut -d: -f2-)
+pr="$(<<<"$prlink" sed -En 's,.*github.com/([^/]+)/([^/]+)/pull/([0-9]+).*,\3,p')"
+target="$(<<<"$prlink" sed -En 's,.*github.com/([^/]+)/([^/]+)/pull/([0-9]+).*,\2,p')"
+replyto="$(grep -i '^reply-to:' <<<"$mail" | cut -d":" -f2- | tr -d '\n' || :)"
+echo "$mail" > "$PRPATCH/mail"
+<<<"$mail" mail-prpatch > "$MBOX"
+
+# pull out the cover letter
+
+git mailsplit -o"$PATCHES" "$MBOX"
+
+$(build_coverletter "$PATCHES/0001")
+
+file="$PATCHES"/0000
+msgid=$(new_msgid "$file")
+threadid=$msgid
+for file in "$PATCHES/"*
+do
+ # mailsplit introduces linebreaks from some reason
+ awk '
+ /^Subject:/ { subj = 1; printf "%s", $0; next }
+ subj && !/^$/ { printf " %s", $0; next }
+ /^$/ && subj { subj = 0; print ""; next }
+ { print }
+ ' < "$file" > "$file".2
+ mv "$file".2 "$file"
+
+ if [ -n "$replyto" ]; then
+ sed -i"" "1 a Cc: $replyto" "$file"
+ fi
+
+ if [ -n "$prlink" ]; then
+ sed -i"" "0,/^---/{s@^---@\nCloses: $prlink\n---@}" "$file"
+ fi
+
+ if [ -n "$target" ]; then
+ sed -i"" "s,\[PATCH,\[PATCH $target," "$file"
+ fi
+
+ if [[ "$prlink" =~ "damus-io" ]]; then
+ TO="patches@damus.io"
+ fi
+
+ sed -i"" "1 a To: $TO" "$file"
+ sed -i"" "1 a Message-ID: $msgid" "$file"
+
+ # build thread
+ sed -i"" "1 a In-Reply-To: $threadid" "$file"
+ sed -i"" "1 a References: $threadid" "$file"
+
+ notmuch insert +inbox < "$file"
+
+ msgid=$(new_msgid "$file")
+done
diff --git a/bin/mutt-local-date b/bin/mutt-local-date
@@ -0,0 +1,14 @@
+#!/usr/bin/perl -n
+
+use Date::Parse;
+use POSIX;
+use strict;
+
+if (/^Date: (.*)$/) {
+ my $datestr = $1;
+ my $date = strftime ("%a, %d %b %Y %H:%M:%S",
+ localtime (str2time ($datestr)));
+ print "Local-Date: $date\n";
+}
+
+print;
diff --git a/bin/nix-build-cache b/bin/nix-build-cache
@@ -5,6 +5,8 @@ printf "building cache of haskellPackages\n" >&2
nix-env -f $NIXPKGS -qaPA haskellPackages > /tmp/search2 &
printf "building cache of perlPackages\n" >&2
nix-env -f $NIXPKGS -qaPA perlPackages > /tmp/search3 &
+printf "building cache of linuxPackages\n" >&2
+nix-env -f $NIXPKGS -qaPA linuxPackages > /tmp/search4 &
wait
-cat /tmp/search{1,2,3} | sort > ~/.nixenv.cache
-rm -f /tmp/search1 /tmp/search2
+cat /tmp/search{1,2,3,4} | sort > ~/.nixenv.cache
+rm -f /tmp/search{1,2,3,4}
diff --git a/dotfiles/.bashrc b/dotfiles/.bashrc
@@ -16,8 +16,13 @@ export NIX_PATH="dotfiles=$HOME/dotfiles:$NIX_PATH"
#[ -z "$PS1" ] && return
export HOST=$(hostname)
+export IGNORE_WINDOW_CHECK=1
export LONG_RUNNING_COMMAND_TIMEOUT=3
-export PS1='$(printf "\x01\033[30;1m\x02%3.*s\x01\033[0m\x02 %s> \x01\033[33m\x02" $? $? $HOST)'
+IN_NIX=""
+if [ -n "$IN_NIX_SHELL" ]; then
+ IN_NIX="-nix"
+fi
+export PS1='$(printf "\x01\033[30;1m\x02%3.*s\x01\033[0m\x02 %s%s> \x01\033[33m\x02" $? $? $HOST $IN_NIX)'
export PS0='\033[0m'
#export PS1='$(printf "\x01\033[30;1m\x02%3.*s\x01\033[0m\x02> " $? $?)'
diff --git a/dotfiles/.config/neomutt/neomuttrc b/dotfiles/.config/neomutt/neomuttrc
@@ -8,6 +8,7 @@ set wait_key=no
set pager_stop=yes
set from="jb55@jb55.com"
set pipe_decode=yes
+set sig_dashes=no
set pipe_split=no
set envelope_from=yes
set mime_forward=yes
@@ -28,14 +29,13 @@ set sort = reverse-last-date-received
virtual-mailboxes \
"INBOX" "notmuch://?query=query:inbox" \
- "damus-prs" "notmuch://?query=query:damusp" \
- "damus-issues" "notmuch://?query=query:damusi" \
- "damus-all-issues" "notmuch://?query=query:damus-all-issues" \
- "damus-all-issues-no-elsat" "notmuch://?query=query:damus-all-issues-no-elsat" \
"patches" "notmuch://?query=query:patches" \
- "damus-issues-no-elsat" "notmuch://?query=query:damusinoelsat"
+ "today" "notmuch://?query=date:today" \
+ "damus-prs" "notmuch://?query=query:damusp" \
+ "damus-issues" "notmuch://?query=query:damusi"
macro index,pager a "<modify-labels>-unread -inbox<enter>
+macro index,pager i "<modify-labels>+inbox<enter>
macro index,pager A "<create-alias>" "Create alias"
macro index,pager F "<modify-labels>+filed" "File message"
macro index,pager + "<modify-labels>+"
@@ -49,7 +49,8 @@ macro pager u "<previous-page>"
macro pager t "|collapse|less<enter>"
macro attach h "|w3m -dump -T text/html | less<enter>" "View text/html with w3m"
#macro pager P "|grep patch$ | xargs curl -sL | delta --paging always<enter>"
-macro pager P "| mail-prpatch | delta --paging always"
+macro pager P ":set pipe_decode=no<enter> | mail-prpatch | delta --paging always"
+macro pager G ":set pipe_decode=no<enter> | mail-prpatch-insert"
my_hdr Bcc: William Casarin <jb55@jb55.com>
@@ -70,5 +71,6 @@ color header brightcyan default '^Subject:'
folder-hook . "push \eV"
set collapse_unread=yes
set uncollapse_jump=yes
+set display_filter=~/bin/mutt-local-date
source ~/.mail_aliases
diff --git a/dotfiles/.config/qutebrowser/config.py b/dotfiles/.config/qutebrowser/config.py
@@ -75,6 +75,13 @@ config.bind('e', 'open-editor')
config.bind('co', 'tab-only')
config.bind('gl', 'tab-move +')
config.bind('gh', 'tab-move -')
+
+# Remove fixed, sticky elements from pages.
+# This is useful to recover full page scrolling
+#config.bind(',s', 'jseval javascript:(function(){x=document.querySelectorAll(`*`);for(i=0;i<x.length;i++){elementStyle=getComputedStyle(x[i]);if(elementStyle.position.startsWith("fixed")||elementStyle.position.startsWith("sticky")){x[i].style.position=`absolute`;}}}())')
+
+config.bind(',s', "jseval javascript:(function(){var elements=document.querySelectorAll(`*`);Array.from(elements).forEach(function(element){var style=getComputedStyle(element);if(style.position.startsWith(`fixed`)||style.position.startsWith(`sticky`)){element.style.cssText+=`position: absolute !important;`;}});})()")
+
config.bind('gF', 'hint all tab-bg')
config.unbind('D')
config.bind('Do', 'download-open')
diff --git a/dotfiles/.gitconfig b/dotfiles/.gitconfig
@@ -111,3 +111,8 @@
defaultBranch = master
[nostr]
relays = wss://relay.damus.io wss://nos.lol wss://nostr.wine
+[filter "lfs"]
+ clean = git-lfs clean -- %f
+ smudge = git-lfs smudge -- %f
+ process = git-lfs filter-process
+ required = true
diff --git a/dotfiles/.notmuch-config b/dotfiles/.notmuch-config
@@ -113,11 +113,6 @@ inbox=tag:inbox and not tag:filed
lightning=tag:inbox and tag:lightning
list=tag:list and not tag:github and tag:inbox and not tag:busy
notmuch=tag:notmuch and tag:inbox
-today=date:today and tag:inbox
-work=tag:inbox and tag:work
-patches=subject:PATCH and tag:inbox and (to:jb55@jb55.com or to:patches@damus.io)
+patches=subject:PATCH and tag:inbox
damusp=(subject:PR or subject:PATCH) and subject:damus and tag:inbox
damusi=subject:Issue and subject:damus-io and tag:inbox
-damus-all-issues=subject:Issue and subject:damus-io
-damus-all-issues-no-elsat=subject:Issue and subject:damus-io and not from:alltheseas
-damusinoelsat=subject:Issue and subject:damus-io and tag:inbox and not from:alltheseas
diff --git a/dotfiles/.screenrc b/dotfiles/.screenrc
@@ -15,3 +15,4 @@ hardstatus string '%{= 9b}[ %{B}%H %{b}][%= %{= 9w}%?%-Lw%?%{=b 9R}(%{W}%n*%f %t
maptimeout 0
+truecolor on
diff --git a/dotfiles/.tmux.conf b/dotfiles/.tmux.conf
@@ -19,9 +19,9 @@ bind C-X swap-pane
setw -g mode-keys vi
# Make mouse useful in copy mode
-setw -g mode-mouse on
+#setw -g mode-mouse on
setw -g escape-time 0
-setw -g mouse-resize-pane on
+#setw -g mouse-resize-pane on
# More straight forward key bindings for splitting
unbind %
@@ -57,8 +57,8 @@ setw -g window-status-current-format '#I:#W#F'
setw -g automatic-rename off
# Status Bar
-set -g status-bg colour233
-set -g status-fg colour239
+set -g status-bg colour0
+set -g status-fg colour2
#set -g status-interval 1
#set -g status-left '#[fg=colour118]#H#[default]'
#set -g status-right '#[fg=colour238]#(cut -d " " -f 1-4 /proc/loadavg)#[default] #[fg=colour242]%Y-%m-%d %H:%M:%S#[default]'
@@ -71,14 +71,14 @@ set -g visual-activity off
set -g visual-bell off
# Highlighting the active window in status bar
-setw -g window-status-current-bg colour233
-setw -g window-status-current-fg colour154
+#setw -g window-status-current-bg colour233
+#setw -g window-status-current-fg colour154
-set -g pane-border-bg black
-set -g pane-border-fg colour238
+#set -g pane-border-bg black
+#set -g pane-border-fg colour238
-set -g pane-active-border-bg black
-set -g pane-active-border-fg colour112
+#set -g pane-active-border-bg black
+#set -g pane-active-border-fg colour112
# Clock
setw -g clock-mode-colour green
@@ -87,12 +87,11 @@ setw -g clock-mode-style 24
# Title
# powerline
-set-option -g status on
-set-option -g status-interval 2
-set-option -g status-utf8 on
-set-option -g status-justify "centre"
-set-option -g status-left-length 60
-set-option -g status-right-length 90
-set-option -g status-left "#(~/dev/tmux-powerline/status-left.sh)"
-set-option -g status-right "#(~/dev/tmux-powerline/status-right.sh)"
-
+#set-option -g status on
+#set-option -g status-interval 2
+#set-option -g status-utf8 on
+#set-option -g status-justify "centre"
+#set-option -g status-left-length 60
+#set-option -g status-right-length 90
+#set-option -g status-left "#(~/dev/tmux-powerline/status-left.sh)"
+#set-option -g status-right "#(~/dev/tmux-powerline/status-right.sh)"
diff --git a/dotfiles/commands b/dotfiles/commands
@@ -37,6 +37,7 @@ eG edit gemmarks echo edit ~/dotfiles/gemmarks
elf edit last files fuzz-last-files edit
eM edit mimi echo edit ~/.config/mimi/mime.conf
em edit mutt config echo edit ~/.config/neomutt/neomuttrc
+ea edit mail aliases echo edit ~/.mail_aliases
et edit todo echo edit ~/docs/todo/todo.txt
ff create file echo fuzz-create-file
gb git branches echo git bvr
@@ -57,9 +58,6 @@ m mutt echo neomutt
mP mutt prs echo neomutt -f damus-prs
mp mutt patches echo neomutt -f patches
mi mutt issues echo neomutt -f damus-issues
-min mutt issues noelsat echo neomutt -f damus-issues-no-elsat
-mai mutt all issues echo neomutt -f damus-all-issues
-main mutt all issues noelsat echo neomutt -f damus-all-issues-no-elsat
Nc new command echo make-script
ni notmuch inbox fuzz-notmuch-inbox
nT email today echo f nt query:today
@@ -68,6 +66,7 @@ of open file fuzz-open-file
olf open last files fuzz-last-files open
pr cd project root echo cd \"$(project-root)\"
pc cat project file fuzz-cat-file
+pr cd project root echo cd $(project-root)
pf edit project file fuzz-edit-file
ps edit project skeletons fuzz-edit-file --dir ~/dotfiles/skeletons
rf recent files fuzz-recent-files
diff --git a/nix-config/environment/default.nix b/nix-config/environment/default.nix
@@ -70,7 +70,7 @@ let jb55pkgs = import <jb55pkgs> { inherit pkgs; };
linuxPackages.bpftrace
linuxPackages.perf
lsof
- mailutils
+ #mailutils
man-pages
mdcat
minisign
diff --git a/nix-config/environment/desktop/default.nix b/nix-config/environment/desktop/default.nix
@@ -118,7 +118,7 @@ in {
VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"; # radv
};
- programs.steam.enable = false;
+ programs.steam.enable = true;
environment.systemPackages = if extra.is-minimal then (with pkgs; [
#steam
diff --git a/nix-config/machines/monad/bitcoin/default.nix b/nix-config/machines/monad/bitcoin/default.nix
@@ -9,11 +9,11 @@ let
nix-bitcoin = import (pkgs.fetchFromGitHub {
owner = "fort-nix";
repo = "nix-bitcoin";
- rev = "v0.0.44";
- sha256 = "08qn597r3xnqg9s7bnkssf4xcxvm0lf6xmisr86nkp2gammazc42";
+ rev = "v0.0.89";
+ sha256 = "sha256-SMJW+QZt3iRuoezjE12sopBsdLHDihXe/RerLfRpqoI=";
}) { inherit pkgs; };
- plugins = ["summary" "rebalance"];
+ plugins = ["summary"];
mkPluginCfg = name:
"plugin=${builtins.getAttr name (nix-bitcoin.clightning-plugins)}/${name}.py";
@@ -91,25 +91,25 @@ in
};
};
- services.clightning.networks = {
- mainnet = {
- dataDir = "/home/jb55/.lightning-bitcoin";
-
- config = ''
- bitcoin-rpcuser=rpcuser
- bitcoin-rpcpassword=rpcpass
- bitcoin-rpcconnect=127.0.0.1
- bitcoin-rpcport=8332
- fee-per-satoshi=900
- bind-addr=0.0.0.0:9735
- announce-addr=24.84.152.187:9735
- network=bitcoin
- alias=jb55.com
- rgb=ff0000
- proxy=127.0.0.1:9050
- experimental-offers
- ${lib.concatStringsSep "\n" (map mkPluginCfg plugins)}
- '';
- };
- };
+ #services.clightning.networks = {
+ # mainnet = {
+ # dataDir = "/home/jb55/.lightning-bitcoin";
+
+ # config = ''
+ # bitcoin-rpcuser=rpcuser
+ # bitcoin-rpcpassword=rpcpass
+ # bitcoin-rpcconnect=127.0.0.1
+ # bitcoin-rpcport=8332
+ # fee-per-satoshi=900
+ # bind-addr=0.0.0.0:9735
+ # announce-addr=24.84.152.187:9735
+ # network=bitcoin
+ # alias=jb55.com
+ # rgb=ff0000
+ # proxy=127.0.0.1:9050
+ # experimental-offers
+ # ${lib.concatStringsSep "\n" (map mkPluginCfg plugins)}
+ # '';
+ # };
+ #};
}
diff --git a/nix-config/machines/monad/default.nix b/nix-config/machines/monad/default.nix
@@ -107,14 +107,9 @@ in
services.dnsmasq.resolveLocalQueries = true;
#services.dnsmasq.servers = ["127.0.0.1#43"];
# services.dnsmasq.servers = ["127.0.0.1#43" "1.1.1.1" "8.8.8.8"];
- services.dnsmasq.servers = ["8.8.8.8" "8.8.4.4" ];
- services.dnsmasq.extraConfig = ''
- cache-size=10000
- addn-hosts=/var/hosts
- conf-file=/var/dnsmasq-hosts
- conf-file=/var/distracting-hosts
- '';
-
+ services.dnsmasq.settings.server = ["8.8.8.8" "8.8.4.4" ];
+ services.dnsmasq.settings.conf-file = "/var/dnsmasq-hosts";
+ services.dnsmasq.settings.addn-hosts = "/var/hosts";
services.bitlbee.plugins = with pkgs; [
bitlbee-mastodon
@@ -141,7 +136,7 @@ in
};
systemd.user.services.bitcoin-contacts = {
- enable = if extra.is-minimal then false else true;
+ enable = false;
description = "Email bitcoin PR patches that have me as a git-contact";
wantedBy = [ "graphical-session.target" ];
@@ -322,6 +317,20 @@ in
systemd.services.nginx.serviceConfig.ReadWritePaths = [ "/var/www" ];
services.nginx.httpConfig = ''
server {
+ listen 80 default_server;
+ listen ${extra.machine.ztip}:80 default_server;
+ listen 192.168.87.26 default_server;
+
+ server_name monad.jb55.com;
+
+ location / {
+ root /var/www/public;
+ autoindex on;
+ index index.html;
+ }
+ }
+
+ server {
listen 80;
listen ${extra.machine.ztip}:80;
listen 192.168.87.26;
@@ -377,7 +386,7 @@ in
serviceConfig.Type = "oneshot";
serviceConfig.ExecStart = util.writeBash "disable-c6-state" ''
${pkgs.kmod}/bin/modprobe msr
- ${pkgs.python2}/bin/python ${zenstates}/zenstates.py --c6-disable --list
+ ${pkgs.python3}/bin/python ${zenstates}/zenstates.py --c6-disable --list
'';
};
diff --git a/nix-config/machines/monad/networking/default.nix b/nix-config/machines/monad/networking/default.nix
@@ -46,6 +46,8 @@ let
"nixos-fw -s 10.100.0.0/24,192.168.87.1/24 -p tcp --dport 5442 -j nixos-fw-accept"
"nixos-fw -s 10.100.0.0/24 -p tcp --dport 80 -j nixos-fw-accept"
"nixos-fw -s 10.100.0.0/24 -p tcp --dport 3000 -j nixos-fw-accept"
+ "nixos-fw -s 10.100.0.0/24 -p tcp --dport 25565 -j nixos-fw-accept"
+ "nixos-fw -s 10.100.0.0/24 -p tcp --dport 25575 -j nixos-fw-accept"
"nixos-fw -s 10.100.0.2/32 -p tcp --dport ${toString ports.lntun} -j nixos-fw-accept"
"nixos-fw -s 10.100.0.0/24 -p tcp --dport ${toString ports.weechat} -j nixos-fw-accept"
"nixos-fw -s 10.100.0.0/24,192.168.87.1/24 -p tcp --dport 8333 -j nixos-fw-accept" # bitcoin
@@ -118,6 +120,12 @@ in
{ publicKey = "oYTNuXPl5GQsz53cL55MO9MfI61DyZBrBDy9ZFBpDWU="; # cross (air)
allowedIPs = [ "10.100.0.8/32" ];
}
+ { publicKey = "kBTRfnUGBwbTlyazK1J67VVpzNg/wLjgmSfI9+1J6S4="; # ipad-air
+ allowedIPs = [ "10.100.0.12/32" ];
+ }
+ { publicKey = "fj35gCObJ+uP/8tDpYsAD+b2XuSpa82umL/8LscIHwQ="; # pixel6-android
+ allowedIPs = [ "10.100.0.9/32" ];
+ }
];
};
@@ -187,6 +195,10 @@ in
# any requests that come in that match any these names will use the proxy.
server_name plex.jb55.com plez.jb55.com media.home plex.home;
+ location = / {
+ return 302 http://plex.jb55.com/web/index.html;
+ }
+
# this is where everything cool happens (you probably don't need to change anything here):
location / {
# if a request to / comes in, 301 redirect to the main plex page.
@@ -273,6 +285,7 @@ in
}
'';
+ systemd.services.transmission.enable = false;
systemd.services.transmission.requires = [ "openvpn-pia.service" ];
systemd.services.transmission.after = [ "openvpn-pia.service" ];
systemd.services.transmission.serviceConfig.User = lib.mkForce "root";