380b428d9a
- Added configuration for media stack on r5500, including paths for Jellyfin, Sonarr, Radarr, and other media services. - Integrated NFS client for accessing Jellyfin libraries from nixdesk. - Established Docker services for Dispatcharr and Organizr, including necessary user and group setups. - Created systemd services for managing media directories and ensuring proper permissions.
86 lines
2.1 KiB
Nix
86 lines
2.1 KiB
Nix
{ self, inputs, ... }: {
|
|
flake.nixosModules.r5500Configuration =
|
|
{
|
|
self,
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
self.nixosModules.systemDeployBuilder
|
|
self.nixosModules.r5500Hardware
|
|
inputs.sops-nix.nixosModules.sops
|
|
self.nixosModules.system
|
|
self.nixosModules.users
|
|
./_private/media-disk.nix
|
|
./_private/media-paths.nix
|
|
./_services/docker-media.nix
|
|
./_services/nixdesk-nfs-client.nix
|
|
./_services/jellyfin.nix
|
|
./_services/sonarr.nix
|
|
./_services/radarr.nix
|
|
./_services/prowlarr.nix
|
|
./_services/flaresolverr.nix
|
|
./_services/seerr.nix
|
|
./_services/qbittorrent.nix
|
|
./_services/dispatcharr.nix
|
|
./_services/organizr.nix
|
|
];
|
|
|
|
boot.loader.grub = {
|
|
enable = true;
|
|
efiSupport = false;
|
|
device = "/dev/sda";
|
|
};
|
|
|
|
services.openssh = {
|
|
enable = true;
|
|
settings = {
|
|
PasswordAuthentication = true;
|
|
KbdInteractiveAuthentication = false;
|
|
PermitRootLogin = "no";
|
|
UseDns = false;
|
|
};
|
|
};
|
|
|
|
sops = {
|
|
defaultSopsFile = ../../../secrets/secrets.yaml;
|
|
defaultSopsFormat = "yaml";
|
|
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
};
|
|
|
|
sops.secrets."users/server/hashedPassword".neededForUsers = true;
|
|
|
|
security.sudo.wheelNeedsPassword = true;
|
|
|
|
nix.settings = {
|
|
experimental-features = [ "nix-command" "flakes" ];
|
|
trusted-users = [ "root" "@wheel" ];
|
|
allowed-users = [ "root" "@wheel" ];
|
|
};
|
|
|
|
chiasson.system = {
|
|
networking = {
|
|
hostName = "r5500";
|
|
networkManager.enable = true;
|
|
};
|
|
extraPackages = with pkgs; [ btop git ];
|
|
};
|
|
|
|
chiasson.system.deploy.builder.enable = true;
|
|
|
|
chiasson.users = {
|
|
enabled = [ "server" ];
|
|
hostOverrides.server = {
|
|
hashedPasswordFile = config.sops.secrets."users/server/hashedPassword".path;
|
|
};
|
|
};
|
|
|
|
services.xserver.enable = lib.mkDefault false;
|
|
|
|
system.stateVersion = "25.11";
|
|
};
|
|
}
|