diff --git a/configuration.nix b/configuration.nix index 531818e..dca8029 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,5 +1,5 @@ { - config, + inputs, pkgs, ... }: diff --git a/flake.lock b/flake.lock index dcc6199..47a23b0 100644 --- a/flake.lock +++ b/flake.lock @@ -472,6 +472,7 @@ "nixcord": "nixcord", "nixpkgs": "nixpkgs", "nixvim": "nixvim", + "spicetify-nix": "spicetify-nix", "stylix": "stylix" } }, @@ -496,6 +497,27 @@ "type": "github" } }, + "spicetify-nix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_2" + }, + "locked": { + "lastModified": 1785048222, + "narHash": "sha256-LjFVfwxensz76SjnvofF1Jsw+xTLd8Qp31W0J6nh2XI=", + "owner": "Gerg-L", + "repo": "spicetify-nix", + "rev": "17e524f330c282d31c32dfe076222d4a12277886", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "spicetify-nix", + "type": "github" + } + }, "stylix": { "inputs": { "base16": "base16", @@ -509,7 +531,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_2", + "systems": "systems_3", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", "tinted-tmux": "tinted-tmux", @@ -560,6 +582,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-kitty": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 94f9c2e..9a7db1f 100644 --- a/flake.nix +++ b/flake.nix @@ -26,6 +26,10 @@ url = "github:nix-community/lanzaboote/v1.1.0"; inputs.nixpkgs.follows = "nixpkgs"; }; + spicetify-nix = { + url = "github:Gerg-L/spicetify-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -79,6 +83,7 @@ ]; }; nixosConfigurations.nerv = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; modules = [ ./configuration.nix ./nixvim/nixvim.nix diff --git a/home/home.nix b/home/home.nix index 40bd548..6fa1c50 100644 --- a/home/home.nix +++ b/home/home.nix @@ -10,12 +10,16 @@ ./fastfetch.nix ./hyprland.nix inputs.nixcord.homeModules.nixcord + inputs.spicetify-nix.homeManagerModules.spicetify ]; + programs.spicetify = { + enable = true; + wayland = true; + }; # Home Manager needs a bit of information about you and the # paths it should manage. home.packages = with pkgs; [ xournalpp - spotify fastfetch hyfetch nemo @@ -25,18 +29,7 @@ home.pointerCursor.enable = true; home.username = "lucy"; home.homeDirectory = "/home/lucy"; - services.syncthing = { - enable = true; - settings = { - devices = { - cyberia = { - id = "OOJBAJU-AAIKLHO-BKMMHBU-2NXE75Z-HE64A6V-LET4ZXB-Q2FT2Y4-GZON3AD"; - autoAcceptFolders = true; - name = "cyberia"; - }; - }; - }; - }; + services.syncthing.enable = true; programs.git = { enable = true; settings = { diff --git a/home/stylix.nix b/home/stylix.nix index 68bfa4d..8259677 100644 --- a/home/stylix.nix +++ b/home/stylix.nix @@ -1,4 +1,36 @@ { + lib, + inputs, + ... +}: +let + keep = [ + "spicetify" + "neovim" + "qt" + "gtk" + "hyprland" + "hyprpaper" + "foot" + "fuzzel" + "discord" + "console" + ]; + dir = "${inputs.stylix}/modules"; + + drop = builtins.filter (n: !(builtins.elem n keep)) ( + builtins.attrNames (lib.filterAttrs (_: t: t == "directory") (builtins.readDir dir)) + ); + + disable = + platform: + map (n: "${dir}/${n}/${platform}.nix") ( + builtins.filter (n: builtins.pathExists "${dir}/${n}/${platform}.nix") drop + ); +in + +{ + disabledModules = disable "hm"; stylix = { enable = true; autoEnable = false; @@ -10,6 +42,7 @@ hyprland.hyprpaper.enable = false; fuzzel.enable = true; foot.enable = true; + spicetify.enable = true; }; }; } diff --git a/stylix.nix b/stylix.nix index 335295c..e39b5fc 100644 --- a/stylix.nix +++ b/stylix.nix @@ -1,10 +1,36 @@ { + inputs, config, pkgs, lib, ... }: +let + keep = [ + "neovim" + "qt" + "gtk" + "hyprland" + "foot" + "fuzzel" + "nixcord" + "console" + ]; + dir = "${inputs.stylix}/modules"; + + drop = builtins.filter (n: !(builtins.elem n keep)) ( + builtins.attrNames (lib.filterAttrs (_: t: t == "directory") (builtins.readDir dir)) + ); + + disable = + platform: + map (n: "${dir}/${n}/${platform}.nix") ( + builtins.filter (n: builtins.pathExists "${dir}/${n}/${platform}.nix") drop + ); +in { + disabledModules = disable "nixos"; + stylix.opacity = { terminal = 0.8; desktop = 1.0; @@ -24,7 +50,7 @@ stylix = { enable = true; autoEnable = false; - base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml"; polarity = "dark"; image = ./wallpaper.png; targets = {