93 lines
No EOL
2.2 KiB
Markdown
93 lines
No EOL
2.2 KiB
Markdown
# common.nix
|
|
|
|
Nix modules i use on my servers
|
|
|
|
# Usage
|
|
```nix
|
|
# flake.nix
|
|
inputs = {
|
|
common-modules.url = "git+https://forge.catnip.ee/batteredbunny/common.nix";
|
|
};
|
|
```
|
|
```nix
|
|
# configuration.nix
|
|
# import any modules you want to use
|
|
imports = [
|
|
inputs.common-modules.nixosModules.nixos-upgrade
|
|
inputs.common-modules.nixosModules.qbittorrent-nox
|
|
inputs.common-modules.nixosModules.unpackerr
|
|
];
|
|
```
|
|
|
|
|
|
# Modules
|
|
|
|
## Auto upgrade
|
|
Adds a few new options to ``system.autoUpgrade``
|
|
|
|
``updateFlake`` pulls in new changes from git repo of your flake and updates the lock file. Make sure your flake parameter is a directory not a flake url, otherwise it wont work.
|
|
|
|
``failureNotification`` sends a notification to a ntfy topic on an auto upgrade failure
|
|
|
|
``extraCommands`` extra commands to run during auto upgrade
|
|
|
|
```nix
|
|
system.autoUpgrade = {
|
|
enable = true;
|
|
allowReboot = true;
|
|
flake = "/etc/nixos";
|
|
|
|
# New options
|
|
updateFlake = true;
|
|
failureNotification = {
|
|
enable = true;
|
|
|
|
# NTFY_URL=https://ntfy.example.com/topic
|
|
ntfyUrlFile = "/etc/secrets/failureNotification.env";
|
|
};
|
|
};
|
|
```
|
|
|
|
## Unpackerr
|
|
```nix
|
|
services.unpackerr = {
|
|
enable = true;
|
|
|
|
# Stores your api keys and other sensitive things you dont want to include in nix config, example: UN_SONARR_0_API_KEY,UN_RADARR_0_API_KEY
|
|
environmentFile = "/etc/secrets/unpackerr.env";
|
|
|
|
# Defaults to unpackerr:unpackerr, so make sure the user has right file permissions
|
|
# user = "";
|
|
# group = "";
|
|
|
|
# Look up default unpackerr config, its in toml format
|
|
settings = {
|
|
sonarr = [{
|
|
url = "http://localhost:8989";
|
|
protocols = "torrent";
|
|
timeout = "100s";
|
|
delete_delay = "10m";
|
|
}];
|
|
|
|
radarr = [{
|
|
url = "http://localhost:7878";
|
|
protocols = "torrent";
|
|
timeout = "100s";
|
|
delete_delay = "10m";
|
|
}];
|
|
};
|
|
};
|
|
```
|
|
|
|
|
|
## Qbittorrent
|
|
Becuase nixos doesnt have one yet, mostly [the one from PR](https://github.com/NixOS/nixpkgs/pull/287923) but slightly modified.
|
|
|
|
```nix
|
|
services.qbittorrent-nox = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
webuiPort = 8080;
|
|
torrentingPort = 345677;
|
|
};
|
|
``` |