From b109eda2d055746f94a306e38514d3e633f76384 Mon Sep 17 00:00:00 2001 From: Jo Date: Fri, 23 May 2025 00:23:55 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20(home/jo)=20Add=20youtube-music=20c?= =?UTF-8?q?onfiguration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flake.lock | 45 ++++++++++++++++++- flake.nix | 5 +++ .../apps/youtube-music/catppuccin-frappe.css | 6 +++ .../apps/youtube-music/catppuccin-latte.css | 6 +++ .../youtube-music/catppuccin-macchiato.css | 6 +++ .../apps/youtube-music/catppuccin-mocha.css | 6 +++ .../jo/apps/youtube-music/default.nix | 29 ++++++++++++ homes/x86_64-linux/jo/default.nix | 2 +- modules/nixos/users/default.nix | 8 +++- 9 files changed, 110 insertions(+), 3 deletions(-) create mode 100644 homes/x86_64-linux/jo/apps/youtube-music/catppuccin-frappe.css create mode 100644 homes/x86_64-linux/jo/apps/youtube-music/catppuccin-latte.css create mode 100644 homes/x86_64-linux/jo/apps/youtube-music/catppuccin-macchiato.css create mode 100644 homes/x86_64-linux/jo/apps/youtube-music/catppuccin-mocha.css create mode 100644 homes/x86_64-linux/jo/apps/youtube-music/default.nix diff --git a/flake.lock b/flake.lock index e4948eb..38d0787 100644 --- a/flake.lock +++ b/flake.lock @@ -89,6 +89,27 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "youtube-music", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747439237, + "narHash": "sha256-5rCGrnkglKKj4cav1U3HC+SIUNJh08pqOK4spQv9RjA=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "ae755329092c87369b9e9a1510a8cf1ce2b1c708", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "nixcord": { "inputs": { "flake-compat": "flake-compat", @@ -166,7 +187,8 @@ "home-manager": "home-manager", "nixcord": "nixcord", "nixpkgs": "nixpkgs_2", - "sops-nix": "sops-nix" + "sops-nix": "sops-nix", + "youtube-music": "youtube-music" } }, "sops-nix": { @@ -221,6 +243,27 @@ "repo": "treefmt-nix", "type": "github" } + }, + "youtube-music": { + "inputs": { + "home-manager": "home-manager_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747498370, + "narHash": "sha256-mJ7fLdL/A4cWHMm0n3/dcQ72Ijm+uTu/snl8iqgtbtc=", + "owner": "h-banii", + "repo": "youtube-music-nix", + "rev": "410071c47bb39a5abb672cd5c1a59bc5f853d908", + "type": "github" + }, + "original": { + "owner": "h-banii", + "repo": "youtube-music-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index ac16c09..9ec7a9f 100644 --- a/flake.nix +++ b/flake.nix @@ -39,6 +39,11 @@ nixcord = { url = "github:kaylorben/nixcord"; }; + + youtube-music = { + url = "github:h-banii/youtube-music-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = {flake-parts, ...} @ inputs: diff --git a/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-frappe.css b/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-frappe.css new file mode 100644 index 0000000..3d0d60d --- /dev/null +++ b/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-frappe.css @@ -0,0 +1,6 @@ +/* frappe */ +@import url("https://youtubemusic.catppuccin.com/src/frappe.css"); + +html:not(.style-scope) { + --ctp-accent: var(--ctp-blue) !important; +} diff --git a/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-latte.css b/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-latte.css new file mode 100644 index 0000000..af971c8 --- /dev/null +++ b/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-latte.css @@ -0,0 +1,6 @@ +/* latte */ +@import url("https://youtubemusic.catppuccin.com/src/latte.css"); + +html:not(.style-scope) { + --ctp-accent: var(--ctp-blue) !important; +} diff --git a/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-macchiato.css b/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-macchiato.css new file mode 100644 index 0000000..6979eab --- /dev/null +++ b/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-macchiato.css @@ -0,0 +1,6 @@ +/* macchiato */ +@import url("https://youtubemusic.catppuccin.com/src/macchiato.css"); + +html:not(.style-scope) { + --ctp-accent: var(--ctp-blue) !important; +} diff --git a/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-mocha.css b/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-mocha.css new file mode 100644 index 0000000..b95c627 --- /dev/null +++ b/homes/x86_64-linux/jo/apps/youtube-music/catppuccin-mocha.css @@ -0,0 +1,6 @@ +/* mocha */ +@import url("https://youtubemusic.catppuccin.com/src/mocha.css"); + +html:not(.style-scope) { + --ctp-accent: var(--ctp-blue) !important; +} diff --git a/homes/x86_64-linux/jo/apps/youtube-music/default.nix b/homes/x86_64-linux/jo/apps/youtube-music/default.nix new file mode 100644 index 0000000..0778d00 --- /dev/null +++ b/homes/x86_64-linux/jo/apps/youtube-music/default.nix @@ -0,0 +1,29 @@ +{ + lib, + config, + osConfig, + namespace, + ... +}: let + inherit (lib) mkIf; +in { + programs.youtube-music = { + enable = true; + options = { + tray = true; + trayClickPlayPause = true; + resumeOnStart = false; + + themes = [ + (mkIf config.catppuccin.enable ./catppuccin-${config.catppuccin.flavor}.css) + ]; + + language = osConfig.${namespace}.system.locale.keymap; + autoUpdates = false; + }; + + plugins = { + discord.enabled = true; + }; + }; +} diff --git a/homes/x86_64-linux/jo/default.nix b/homes/x86_64-linux/jo/default.nix index b042fde..a8ba242 100644 --- a/homes/x86_64-linux/jo/default.nix +++ b/homes/x86_64-linux/jo/default.nix @@ -5,6 +5,7 @@ }: { imports = [ ./apps/discord + ./apps/youtube-music ]; puzzlevision = { @@ -20,7 +21,6 @@ home.packages = with pkgs; [ ## GENERAL - youtube-music ghostty teams-for-linux enpass diff --git a/modules/nixos/users/default.nix b/modules/nixos/users/default.nix index 8d0113e..64829f8 100644 --- a/modules/nixos/users/default.nix +++ b/modules/nixos/users/default.nix @@ -69,7 +69,13 @@ in { mkIf (userConfig.enable && homeConfigExists username) ( {osConfig, ...}: { # Import user home configuration and general home modules - imports = [(getHomeConfigPath username) inputs.sops-nix.homeManagerModules.sops inputs.catppuccin.homeModules.default inputs.nixcord.homeModules.nixcord] ++ homeModules; + imports = [ + (getHomeConfigPath username) + inputs.sops-nix.homeManagerModules.sops + inputs.catppuccin.homeModules.default + inputs.nixcord.homeModules.nixcord + inputs.youtube-music.homeManagerModules.default + ] ++ homeModules; home.stateVersion = lib.mkDefault osConfig.system.stateVersion; }