.forgejo/workflows | ||
lib | ||
modules | ||
tests | ||
.clang-format | ||
.editorconfig | ||
flake.lock | ||
flake.nix | ||
README.md |
Declarative Jellyfin
This repository provides a nix flake that allows for declarative configuration of Users, Libraries, Plugins, Settings, etc.
Progress
-
Creating .xml files
-
Modifying databate
-
Test cases
- XML Generation
- Networking
- Encoding
- System
- Users
- Create users
- Delete users
- Insert users in middle (test InternalId)
- MustUpdatePassword test
- Libraries
- Connecting
- Fetching files
-
Users
- Hashed passwords
- Mutable users (override Users table with configured users table if false, like in nixpkgs user-groups.nix)
-
Libraries
-
Plugins
-
Settings
- Scheduled jobs
- Networking
- Nix options
- Encoding
- Nix options
- System settings
- Nix options
- Branding
- Nix options
Usage
Setup
Add the flake to your inputs
and import the nixosModule
in your configuration.
Example minimal flake.nix:
{
description = "An example using declarative-jellyfin flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
declarative-jellyfin.url = "gitlab:SpoodyTheOne/declarative-jellyfin";
# optional follow:
declarative-jellyfin.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = {
nixpkgs,
declarative-jellyfin,
...
}: {
nixosConfigurations."your-hostname" = nixpkgs.lib.nixosSystem {
modules = [
declarative-jellyfin.nixosModules.default # <- this imports the NixOS module that provides the options
./configuration.nix # <- your host entrypoint
];
};
};
}