diff --git a/common/spotify/default.nix b/common/spotify/default.nix new file mode 100644 index 0000000..60d2465 --- /dev/null +++ b/common/spotify/default.nix @@ -0,0 +1,38 @@ +{ + inputs, + pkgs, + lib, + config, + ... +}: let + cfg = config.my.spotify; +in { + imports = + if pkgs.stdenv.isDarwin + then [ + inputs.spicetify.darwinModules.spicetify + ] + else [ + inputs.spicetify.nixosModules.spicetify + ]; + + options.my.spotify = { + enable = lib.mkEnableOption "spotify"; + }; + + config = lib.mkIf cfg.enable ( + let + spicePkgs = inputs.spicetify.legacyPackages.${pkgs.stdenv.system}; + in { + programs.spicetify = { + enable = true; + enabledExtensions = with spicePkgs.extensions; [ + adblockify + keyboardShortcut + ]; + theme = spicePkgs.themes.text; + colorScheme = "gruvbox"; + }; + } + ); +} diff --git a/flake.lock b/flake.lock index c2a8c59..8ac7243 100644 --- a/flake.lock +++ b/flake.lock @@ -26,18 +26,21 @@ "ags": { "inputs": { "astal": "astal", - "nixpkgs": "nixpkgs" + "nixpkgs": [ + "hyprpanel", + "nixpkgs" + ] }, "locked": { - "lastModified": 1744557573, - "narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=", - "owner": "Aylur", + "lastModified": 1736090999, + "narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=", + "owner": "aylur", "repo": "ags", - "rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6", + "rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c", "type": "github" }, "original": { - "owner": "Aylur", + "owner": "aylur", "repo": "ags", "type": "github" } @@ -45,16 +48,17 @@ "astal": { "inputs": { "nixpkgs": [ + "hyprpanel", "ags", "nixpkgs" ] }, "locked": { - "lastModified": 1742571008, - "narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=", + "lastModified": 1735172721, + "narHash": "sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=", "owner": "aylur", "repo": "astal", - "rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e", + "rev": "6c84b64efc736e039a8a10774a4a1bf772c37aa2", "type": "github" }, "original": { @@ -260,6 +264,27 @@ "type": "github" } }, + "hyprpanel": { + "inputs": { + "ags": "ags", + "nixpkgs": [ + "unstable" + ] + }, + "locked": { + "lastModified": 1745885816, + "narHash": "sha256-yuIb6/gGcII+2YgtTLcYdga0pcL63B18xQ/oitOhg7k=", + "owner": "jas-singhfsu", + "repo": "hyprpanel", + "rev": "0c82ce9704c8063be8d8f60443071c91943eb68c", + "type": "github" + }, + "original": { + "owner": "jas-singhfsu", + "repo": "hyprpanel", + "type": "github" + } + }, "ixx": { "inputs": { "flake-utils": [ @@ -306,7 +331,7 @@ "nix-vscode-extensions": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs" }, "locked": { "lastModified": 1746755975, @@ -325,7 +350,7 @@ "nixos-wsl": { "inputs": { "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1746453552, @@ -344,17 +369,17 @@ }, "nixpkgs": { "locked": { - "lastModified": 1743583204, - "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", - "owner": "nixos", + "lastModified": 1744868846, + "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", "repo": "nixpkgs", + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", "type": "github" } }, @@ -374,22 +399,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1744868846, - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1742937945, "narHash": "sha256-lWc+79eZRyvHp/SqMhHTMzZVhpxkRvthsP1Qx6UCq0E=", @@ -405,7 +414,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1746557022, "narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=", @@ -420,7 +429,7 @@ "type": "indirect" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { "lastModified": 1746663147, "narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=", @@ -436,7 +445,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { "lastModified": 1744536153, "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", @@ -452,7 +461,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_6": { "locked": { "lastModified": 1745377448, "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", @@ -493,7 +502,7 @@ "nur": { "inputs": { "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_4", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -536,17 +545,18 @@ "root": { "inputs": { "agenix": "agenix", - "ags": "ags", "darwin": "darwin_2", "flake-parts": "flake-parts", "home-manager": "home-manager_2", + "hyprpanel": "hyprpanel", "master": "master", "nix-vscode-extensions": "nix-vscode-extensions", "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "nixvim": "nixvim", "nur": "nur", "rust-overlay": "rust-overlay", + "spicetify": "spicetify", "treefmt-nix": "treefmt-nix_2", "unstable": "unstable", "utils": "utils", @@ -555,7 +565,7 @@ }, "rust-overlay": { "inputs": { - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1746758179, @@ -571,6 +581,28 @@ "type": "github" } }, + "spicetify": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_4" + }, + "locked": { + "lastModified": 1743595372, + "narHash": "sha256-e3x1mhpPpYgyyin9j/VbrBpOT5PFpEfx2hkxVZuJZhg=", + "owner": "Gerg-L", + "repo": "spicetify-nix", + "rev": "543f12dd14c62ddee79ab79fbfd8726f312b89ff", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "ref": "24.11", + "repo": "spicetify-nix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -631,6 +663,21 @@ "type": "github" } }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -654,7 +701,7 @@ }, "treefmt-nix_2": { "inputs": { - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1746216483, @@ -687,7 +734,7 @@ }, "utils": { "inputs": { - "systems": "systems_4" + "systems": "systems_5" }, "locked": { "lastModified": 1731533236, diff --git a/flake.nix b/flake.nix index d55d477..d077bae 100644 --- a/flake.nix +++ b/flake.nix @@ -26,6 +26,10 @@ url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "unstable"; }; + spicetify = { + url = "github:Gerg-L/spicetify-nix/24.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; zen-browser = { url = "github:youwen5/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/machines/terra/configuration.nix b/machines/terra/configuration.nix index 9357afe..a42b5b2 100644 --- a/machines/terra/configuration.nix +++ b/machines/terra/configuration.nix @@ -69,10 +69,14 @@ programs.zsh.enable = true; environment.variables.EDITOR = "nvim"; - my.hyprland.enable = true; - my.libreoffice.enable = true; - my.steam.enable = true; - my.utilities.enable = true; + my = { + hyprland.enable = true; + libreoffice.enable = true; + steam.enable = true; + spotify.enable = true; + utilities.enable = true; + zed.enable = true; + }; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.michael = {