add nixarr to h001

This commit is contained in:
RingOfStorms (Joshua Bell) 2025-06-20 17:43:15 -05:00
parent c53ab4f310
commit 1b02f9ea95
7 changed files with 37 additions and 127 deletions

View file

@ -1,4 +1,7 @@
{ common }: { inputs }:
let
common = inputs.common;
in
{ {
... ...
}: }:

8
hosts/h001/flake.lock generated
View file

@ -194,16 +194,16 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1745868005, "lastModified": 1750259320,
"narHash": "sha256-hZScOyQphT4RUmSEJX+2OxjIlGgLwSd8iW1LNtAWIOs=", "narHash": "sha256-H8J4H2XCIMEJ5g6fZ179QfQvsc2dUqhqfBjC8RAHNRY=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "330d0a4167924b43f31cc9406df363f71b768a02", "rev": "9ba04bda9249d5d5e5238303c9755de5a49a79c5",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-24.11", "ref": "nixos-25.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View file

@ -8,6 +8,8 @@
common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles"; common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles";
ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim"; ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim";
nixarr.url = "github:rasmus-kirk/nixarr";
}; };
outputs = outputs =
@ -15,8 +17,9 @@
nixpkgs, nixpkgs,
common, common,
ros_neovim, ros_neovim,
nixarr,
... ...
}: }@inputs:
let let
configuration_name = "h001"; configuration_name = "h001";
lib = nixpkgs.lib; lib = nixpkgs.lib;
@ -28,10 +31,11 @@
modules = [ modules = [
common.nixosModules.default common.nixosModules.default
ros_neovim.nixosModules.default ros_neovim.nixosModules.default
nixarr.nixosModules.default
./configuration.nix ./configuration.nix
./hardware-configuration.nix ./hardware-configuration.nix
./mods ./mods
(import ./containers { inherit common; }) (import ./containers { inherit inputs; })
( (
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {

View file

@ -4,5 +4,6 @@
{ {
imports = [ imports = [
./adguardhome.nix ./adguardhome.nix
./nixarr.nix
]; ];
} }

View file

@ -0,0 +1,22 @@
{
...
}:
{
config = {
nixarr = {
enable = true;
mediaDir = "/var/lib/nixarr/media";
stateDir = "/var/lib/nixarr/state";
jellyfin.enable = true; # jellyfinnnnnn!
sabnzbd.enable = true; # Usenet downloader
prowlarr.enable = true; # Index manager
sonarr.enable = true; # TV
radarr.enable = true; # Movies
bazarr.enable = true; # subtitles for sonarr and radarr
lidarr.enable = true; # music
readarr.enable = true; # books
jellyseerr.enable = true; # request manager for media
};
};
}

View file

@ -1,7 +1,6 @@
{ inputs }: { inputs }:
let let
common = inputs.common; common = inputs.common;
nixarr = inputs.nixarr;
in in
{ {
config, config,
@ -36,78 +35,6 @@ in
firewall.trustedInterfaces = [ "ve-*" ]; firewall.trustedInterfaces = [ "ve-*" ];
}; };
# containers.nixarr =
# let
# name = "nixarr";
# # hostDataDir = "/var/lib/${name}";
# hostAddress = "10.0.0.1";
# containerAddress = "10.0.0.3";
# hostAddress6 = "fc00::1";
# containerAddress6 = "fc00::3";
# in
# {
# ephemeral = true;
# autoStart = true;
# privateNetwork = true;
# hostAddress = hostAddress;
# localAddress = containerAddress;
# hostAddress6 = hostAddress6;
# localAddress6 = containerAddress6;
# config =
# { config, pkgs, ... }:
# {
# imports = [
# nixarr.nixosModules.default
# ];
# system.stateVersion = "25.05";
# nixpkgs.config.allowUnfree = true;
#
# nixarr = {
# enable = true;
# # These two values are also the default, but you can set them to whatever
# # else you want
# # WARNING: Do _not_ set them to `/home/user/whatever`, it will not work!
# mediaDir = "/var/lib/nixarr_test/media";
# stateDir = "/var/lib/nixarr_test/state";
#
# # vpn = {
# # enable = true;
# # # WARNING: This file must _not_ be in the config git directory
# # # You can usually get this wireguard file from your VPN provider
# # wgConf = "/data/.secret/wg.conf";
# # };
#
# jellyfin = {
# enable = true;
# # These options set up a nginx HTTPS reverse proxy, so you can access
# # Jellyfin on your domain with HTTPS
# # expose.https = {
# # enable = true;
# # domainName = "your.domain.com";
# # acmeMail = "your@email.com"; # Required for ACME-bot
# # };
# };
#
# # transmission = {
# # enable = true;
# # vpn.enable = true;
# # peerPort = 50000; # Set this to the port forwarded by your VPN
# # };
#
# # It is possible for this module to run the *Arrs through a VPN, but it
# # is generally not recommended, as it can cause rate-limiting issues.
# sabnzbd.enable = true; # Usenet downloader
# prowlarr.enable = true; # Index manager
# sonarr.enable = true; # TV
# radarr.enable = true; # Movies
# bazarr.enable = true; # subtitles for sonarr and radarr
# lidarr.enable = true; # music
# readarr.enable = true; # books
# jellyseerr.enable = true; # request manager for media
# };
# };
# };
# containers.wasabi = { # containers.wasabi = {
# ephemeral = true; # ephemeral = true;
# autoStart = true; # autoStart = true;

View file

@ -8,8 +8,6 @@
common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles"; common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles";
ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim"; ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim";
nixarr.url = "github:rasmus-kirk/nixarr";
}; };
outputs = outputs =
@ -32,57 +30,12 @@
modules = [ modules = [
common.nixosModules.default common.nixosModules.default
ros_neovim.nixosModules.default ros_neovim.nixosModules.default
nixarr.nixosModules.default
./configuration.nix ./configuration.nix
./hardware-configuration.nix ./hardware-configuration.nix
(import ./containers.nix { inherit inputs; }) (import ./containers.nix { inherit inputs; })
( (
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
# nixarr = {
# enable = true;
# # These two values are also the default, but you can set them to whatever
# # else you want
# # WARNING: Do _not_ set them to `/home/user/whatever`, it will not work!
# mediaDir = "/var/lib/nixarr_test/media";
# stateDir = "/var/lib/nixarr_test/state";
#
# # vpn = {
# # enable = true;
# # # WARNING: This file must _not_ be in the config git directory
# # # You can usually get this wireguard file from your VPN provider
# # wgConf = "/data/.secret/wg.conf";
# # };
#
# jellyfin = {
# enable = true;
# # These options set up a nginx HTTPS reverse proxy, so you can access
# # Jellyfin on your domain with HTTPS
# expose.https = {
# enable = true;
# domainName = "your.domain.com";
# acmeMail = "your@email.com"; # Required for ACME-bot
# };
# };
#
# # transmission = {
# # enable = true;
# # vpn.enable = true;
# # peerPort = 50000; # Set this to the port forwarded by your VPN
# # };
#
# # It is possible for this module to run the *Arrs through a VPN, but it
# # is generally not recommended, as it can cause rate-limiting issues.
# sabnzbd.enable = true; # Usenet downloader
# prowlarr.enable = true; # Index manager
# sonarr.enable = true; # TV
# radarr.enable = true; # Movies
# bazarr.enable = true; # subtitles for sonarr and radarr
# lidarr.enable = true; # music
# readarr.enable = true; # books
# jellyseerr.enable = true; # request manager for media
# };
programs = { programs = {
steam.enable = true; steam.enable = true;
}; };