From 5255de35f46c38cc23dfd8817671e44605b53980 Mon Sep 17 00:00:00 2001 From: zackartz Date: Thu, 4 Apr 2024 17:14:31 -0400 Subject: [PATCH] 320 current 2024-04-04 17:14:22 24.05.20240403.d9b45d7 6.8.2-zen2 * --- hosts/earth/configuration.nix | 28 ++++++++--------- modules/home-manager/default.nix | 1 + modules/home-manager/gerbera.nix | 47 ++++++++++++++++++++++++++++ modules/home-manager/vim/default.nix | 1 + 4 files changed, 63 insertions(+), 14 deletions(-) create mode 100644 modules/home-manager/gerbera.nix diff --git a/hosts/earth/configuration.nix b/hosts/earth/configuration.nix index 1f6007b..1630ce3 100644 --- a/hosts/earth/configuration.nix +++ b/hosts/earth/configuration.nix @@ -38,20 +38,20 @@ # Load nvidia driver for Xorg and Wayland services.xserver.videoDrivers = ["nvidia"]; # or "nvidiaLegacy470 etc. - services.minidlna = { - enable = true; - openFirewall = true; - settings = { - notify_interval = 60; - friendly_name = "ZACKPC"; - media_dir = ["A,/home/zack/Music"]; - inotify = "yes"; - }; - }; - - users.users.minidlna = { - extraGroups = ["users"]; - }; + # services.minidlna = { + # enable = true; + # openFirewall = true; + # settings = { + # notify_interval = 60; + # friendly_name = "ZACKPC"; + # media_dir = ["A,/home/zack/Music"]; + # inotify = "yes"; + # }; + # }; + # + # users.users.minidlna = { + # extraGroups = ["users"]; + # }; # services.openssh = { # enable = true; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 276f680..830e74b 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -103,6 +103,7 @@ pkgs.parsec-bin pkgs.filezilla pkgs.steam + pkgs.gerbera pkgs.devenv pkgs.ghidra diff --git a/modules/home-manager/gerbera.nix b/modules/home-manager/gerbera.nix new file mode 100644 index 0000000..3f5a38c --- /dev/null +++ b/modules/home-manager/gerbera.nix @@ -0,0 +1,47 @@ +{ + config, + lib, + pkgs, + ... +}: let + # Custom function to create the Gerbera service + mkGerberaService = name: cfg: { + Unit = { + Description = "Gerbera Media Server"; + After = ["network.target"]; + Wants = ["network.target"]; + }; + Install = { + WantedBy = ["default.target"]; + }; + Service = { + User = cfg.user; + Group = cfg.group; + ExecStart = "${pkgs.gerbera}/bin/gerbera -c ${cfg.configFile}"; + Restart = "on-failure"; + }; + }; +in { + # Define the systemd service for Gerbera + systemd.user.services.gerbera = mkGerberaService "gerbera" { + user = "zack"; # Run the service as user Zack + group = "users"; # Assuming 'users' is the desired group + configFile = "/home/zack/.config/gerbera/config.xml"; # Path to Gerbera's configuration file + }; + + xdg.configFile."gerbera/config.xml" = { + text = '' + + + + + + + + + ''; + }; + + # Enable the service to start automatically + systemd.user.startServices = true; +} diff --git a/modules/home-manager/vim/default.nix b/modules/home-manager/vim/default.nix index d09dc84..d09b375 100644 --- a/modules/home-manager/vim/default.nix +++ b/modules/home-manager/vim/default.nix @@ -37,6 +37,7 @@ in { nodejs fswatch # File watcher utility, replacing libuv.fs_event for neovim 10.0 sqlite + gerbera vscode-extensions.vadimcn.vscode-lldb.adapter ]; plugins = [