From 1b09e32625a60ffc8e3c0a165a9712c0e8388d94 Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Tue, 13 Aug 2024 14:35:09 -0500 Subject: [PATCH] Setup audiobookshelf --- nixos/beefcake.nix | 12 ++++++- nixos/dragon.nix | 2 +- nixos/router.nix | 1 + templates/gleam/flake.nix | 73 ++++++++------------------------------- 4 files changed, 27 insertions(+), 61 deletions(-) diff --git a/nixos/beefcake.nix b/nixos/beefcake.nix index ce68b54..9d25c96 100644 --- a/nixos/beefcake.nix +++ b/nixos/beefcake.nix @@ -1145,7 +1145,7 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00 }; users.users."${user}-unixd" = { group = "${group}-unixd"; - description = "kanidm PAM daemon"; + description = lib.mkForce "kanidm PAM daemon"; isSystemUser = true; }; @@ -1308,6 +1308,16 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00 }; }; }) + { + services.audiobookshelf = { + enable = true; + # dataDir = "/storage/audiobookshelf"; + port = 8523; + }; + services.caddy.virtualHosts."audio.lyte.dev" = { + extraConfig = ''reverse_proxy :8523''; + }; + } ]; # TODO: non-root processes and services that access secrets need to be part of diff --git a/nixos/dragon.nix b/nixos/dragon.nix index 80c59ef..ebea823 100644 --- a/nixos/dragon.nix +++ b/nixos/dragon.nix @@ -21,7 +21,7 @@ ]; boot = { - kernelPackages = pkgs.linuxPackages_zen; + # kernelPackages = pkgs.linuxPackages_zen; loader.efi.canTouchEfiVariables = true; loader.systemd-boot.enable = true; initrd.availableKernelModules = ["xhci_pci" "nvme" "ahci" "usbhid"]; diff --git a/nixos/router.nix b/nixos/router.nix index f1c7cd1..9bf164c 100644 --- a/nixos/router.nix +++ b/nixos/router.nix @@ -49,6 +49,7 @@ "idm.h.lyte.dev" "git.lyte.dev" "video.lyte.dev" + "audio.lyte.dev" "a.lyte.dev" "bw.lyte.dev" "files.lyte.dev" diff --git a/templates/gleam/flake.nix b/templates/gleam/flake.nix index 9a36a1a..5367c9f 100644 --- a/templates/gleam/flake.nix +++ b/templates/gleam/flake.nix @@ -1,18 +1,20 @@ { - # inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; - inputs.nixpkgs.url = "github:nixos/nixpkgs?rev=ae34cb9560a578b6354655538e98fb69e8bc8d39"; - outputs = inputs: let - supportedSystems = ["aarch64-linux" "x86_64-linux" "x86_64-darwin" "aarch64-darwin"]; - forAllSystems = inputs.nixpkgs.lib.genAttrs supportedSystems; - overlay = final: prev: { - erlangPackages = prev.beam.packagesWith prev.erlang_26; + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + outputs = { + self, + nixpkgs, + ... + }: let + systems = ["aarch64-linux" "x86_64-linux" "x86_64-darwin" "aarch64-darwin"]; + forSystems = nixpkgs.lib.genAttrs systems; + pkgsFor = system: (import nixpkgs {inherit system;}).extend self.outputs.overlays.default; + genPkgs = func: (forSystems (system: func (pkgsFor system))); + in { + overlays.default = final: prev: { + erlangPackages = prev.beam.packagesWith prev.erlang_27; erlang = final.erlangPackages.erlang; }; - nixpkgsFor = system: ((import inputs.nixpkgs {inherit system;}).extend overlay); - in { - devShells = forAllSystems (system: let - pkgs = nixpkgsFor system; - in { + devShells = genPkgs (pkgs: { default = pkgs.mkShell { buildInputs = with pkgs; [ erlang @@ -23,50 +25,3 @@ }); }; } -/* - -# a useful overlay for setting packages to certain versions - -overlay = final: prev: { - # erlangPackages = prev.beam.packagesWith prev.erlang_26; - # erlang = final.erlangPackages.erlang; - # elixir = final.erlangPackages.elixir_1_16; - - # mixRelease = final.erlangPackages.mixRelease.override { - # elixir = final.elixir; - # }; - # fetchMixDeps = final.erlangPackages.fetchMixDeps.override { - # elixir = final.elixir; - # }; - - # elixir-ls = prev.elixir-ls.override {elixir = final.elixir;}; -}; - -# have a package - -packages = forAllSystems (system: let - pkgs = nixpkgsFor system; - - # inherit (pkgs) beamPackages; - # inherit (beamPackages) mixRelease fetchMixDeps; - - version = "0.1.0"; - src = ./.; - pname = "gleam-project"; -in { - # this-package = mixRelease { - # inherit pname version src; - # mixFodDeps = fetchMixDeps { - # inherit version src; - # pname = "mix-deps-${pname}"; - # hash = pkgs.lib.fakeSha256; - # }; - # buildInputs = with pkgs; [sqlite]; - # HOME = "$(pwd)"; - # MIX_XDG = "$HOME"; - # }; - - # default = outputs.packages.${system}.this-package; -}); -*/ -