aboutsummaryrefslogtreecommitdiff
path: root/modules/users/media
diff options
context:
space:
mode:
authorLeander Scherer <leander@schererleander.de>2026-01-08 02:48:11 +0100
committerLeander Scherer <leander@schererleander.de>2026-01-08 19:08:12 +0100
commit6174f3650cf42aaf008012e828d5a1f8e2ce037f (patch)
tree9bbbd99680cd5adb56596a14734d4896bc6af733 /modules/users/media
parentc582c4d0675aada46fa196b7af1941ed753d055f (diff)
refactor(modules): separate nixos/home-manager modules, use standard option conventions
Diffstat (limited to 'modules/users/media')
-rw-r--r--modules/users/media/default.nix7
-rw-r--r--modules/users/media/nixcord/default.nix42
-rw-r--r--modules/users/media/spicetify/default.nix45
3 files changed, 94 insertions, 0 deletions
diff --git a/modules/users/media/default.nix b/modules/users/media/default.nix
new file mode 100644
index 0000000..89daaba
--- /dev/null
+++ b/modules/users/media/default.nix
@@ -0,0 +1,7 @@
+{ ... }:
+{
+ imports = [
+ ./nixcord
+ ./spicetify
+ ];
+}
diff --git a/modules/users/media/nixcord/default.nix b/modules/users/media/nixcord/default.nix
new file mode 100644
index 0000000..329fa18
--- /dev/null
+++ b/modules/users/media/nixcord/default.nix
@@ -0,0 +1,42 @@
+{
+ config,
+ lib,
+ inputs,
+ ...
+}:
+let
+ cfg = config.nx.media.nixcord;
+ inherit (lib) mkOption types mkIf;
+in
+{
+ imports = [ inputs.nixcord.homeModules.nixcord ];
+ options.nx.media.nixcord = {
+ enable = lib.mkOption {
+ description = "Enable nixcord and setup";
+ type = types.bool;
+ default = false;
+ };
+ frameless = mkOption {
+ description = "Make discord frameless";
+ type = types.bool;
+ default = true;
+ };
+ };
+ config = mkIf cfg.enable {
+ programs.nixcord = {
+ enable = true;
+ config = {
+ themeLinks = [
+ "https://refact0r.github.io/system24/theme/system24.theme.css"
+ ];
+ frameless = cfg.frameless;
+ plugins = {
+ alwaysAnimate.enable = false;
+ imageLink.enable = true;
+ imageZoom.enable = true;
+ translate.enable = true;
+ };
+ };
+ };
+ };
+}
diff --git a/modules/users/media/spicetify/default.nix b/modules/users/media/spicetify/default.nix
new file mode 100644
index 0000000..239f80f
--- /dev/null
+++ b/modules/users/media/spicetify/default.nix
@@ -0,0 +1,45 @@
+{
+ config,
+ lib,
+ pkgs,
+ inputs,
+ ...
+}:
+
+let
+ spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.system};
+ cfg = config.nx.media.spicetify;
+ inherit (lib) mkOption types mkIf;
+in
+{
+ imports = [ inputs.spicetify-nix.homeManagerModules.spicetify ];
+
+ options.nx.media.spicetify = {
+ enable = mkOption {
+ description = "Command-line tool to customize the official Spotify client";
+ type = types.bool;
+ default = false;
+ };
+ };
+
+ config = mkIf cfg.enable {
+ nixpkgs.config.allowUnfree = true;
+ programs.spicetify = {
+ enable = true;
+ enabledSnippets = with spicePkgs.snippets; [
+ pointer
+ sonicDancing
+ modernScrollbar
+ nyanCatProgressBar
+ declutterNowPlayingBar
+ ];
+
+ enabledExtensions = with spicePkgs.extensions; [
+ keyboardShortcut
+ ];
+
+ theme = spicePkgs.themes.sleek;
+ colorScheme = "Coral";
+ };
+ };
+}