diff --git a/configuration.nix b/configuration.nix index 6fbe30a..a2cbc05 100644 --- a/configuration.nix +++ b/configuration.nix @@ -10,6 +10,8 @@ ./hardware-configuration.nix ]; + programs.dconf.enable = true; + # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; diff --git a/features/i3.nix b/features/i3.nix deleted file mode 100644 index bdd1885..0000000 --- a/features/i3.nix +++ /dev/null @@ -1,36 +0,0 @@ -{pkgs, config, ... }: -{ - xsession.windowManager.i3.config = { - colors = with config.colorScheme.colors; { - background = "#${base00}"; - focused = { - background = "#${base09}"; - border = "#${base09}"; - childBorder = "#${base09}"; - indicator = "#${base09}"; - text = "#${base08}"; - }; - focusedInactive = { - background = "#285577"; - border = "#4c7899"; - childBorder = "#285577"; - indicator = "#2e9ef4"; - text = "#ffffff"; - }; - unfocused = { - background = "#285577"; - border = "#4c7899"; - childBorder = "#285577"; - indicator = "#2e9ef4"; - text = "#ffffff"; - }; - urgent = { - background = "#285577"; - border = "#4c7899"; - childBorder = "#285577"; - indicator = "#2e9ef4"; - text = "#ffffff"; - }; - }; - }; -} diff --git a/flake.lock b/flake.lock index c27017a..af8c10c 100644 --- a/flake.lock +++ b/flake.lock @@ -16,6 +16,21 @@ "type": "github" } }, + "catppuccin": { + "locked": { + "lastModified": 1721784420, + "narHash": "sha256-bgF6fN4Qgk7NErFKGuuqWXcLORsiykTYyqMUFRiAUBY=", + "owner": "catppuccin", + "repo": "nix", + "rev": "8bdb55cc1c13f572b6e4307a3c0d64f1ae286a4f", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -89,6 +104,7 @@ }, "root": { "inputs": { + "catppuccin": "catppuccin", "home-manager": "home-manager", "nix-colors": "nix-colors", "nixpkgs": "nixpkgs" diff --git a/flake.nix b/flake.nix index a9a50a0..98285c8 100644 --- a/flake.nix +++ b/flake.nix @@ -5,11 +5,11 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - nix-colors.url = "github:Misterio77/nix-colors"; + catppuccin.url = "github:catppuccin/nix"; + spicetify-nix.url = "github:the-argus/spicetify-nix"; }; - outputs = { self, nixpkgs, home-manager, ... }@inputs: - let + outputs = { nixpkgs, home-manager, catppuccin, spicetify-nix, ... } @ inputs: let lib = nixpkgs.lib; system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; @@ -23,8 +23,15 @@ homeConfigurations = { lorenz = home-manager.lib.homeManagerConfiguration { inherit pkgs; - extraSpecialArgs = { inherit inputs; }; - modules = [ ./home.nix ]; + extraSpecialArgs = { + inherit inputs; + inherit spicetify-nix; + }; + modules = [ + ./home.nix + ./spicetify.nix + catppuccin.homeManagerModules.catppuccin + ]; }; }; }; diff --git a/home.nix b/home.nix index 17df4a9..255228b 100644 --- a/home.nix +++ b/home.nix @@ -1,12 +1,29 @@ { config, pkgs, inputs, ... }: { - imports = [ - inputs.nix-colors.homeManagerModules.default - ./features/i3.nix - ]; + #themes + catppuccin.flavor = "macchiato"; + catppuccin.enable = true; - colorScheme = inputs.nix-colors.colorSchemes.gruvbox-dark-medium; + gtk.cursorTheme.package = pkgs.bibata-cursors; + gtk.cursorTheme.name = "Bibata-Modern-Ice"; + gtk = { + enable = true; + catppuccin = { + enable = true; + size = "standard"; + tweaks = [ "normal" ]; + }; + }; + +# gtk.theme.package = pkgs.catppuccin-gtk; +# gtk.theme.name = "adw-gtk3-dark"; + + qt = { + enable = true; + platformTheme.name = "kvantum"; + style.name = "kvantum"; + }; # Home Manager needs a bit of information about you and the paths it should # manage. @@ -43,6 +60,7 @@ pkgs.devdocs-desktop # docs pkgs.spotify pkgs.cargo + pkgs.spicetify-cli # # It is sometimes useful to fine-tune packages, for example, by applying # # overrides. You can do that directly here, just don't forget the diff --git a/spicetify.nix b/spicetify.nix new file mode 100644 index 0000000..921cb99 --- /dev/null +++ b/spicetify.nix @@ -0,0 +1,27 @@ +{ pkgs, lib, spicetify-nix, ... }: +let + spicePkgs = spicetify-nix.packages.${pkgs.system}.default; +in +{ + # allow spotify to be installed if you don't have unfree enabled already + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "spotify" + ]; + + # import the flake's module for your system + imports = [ spicetify-nix.homeManagerModule ]; + + # configure spicetify :) + programs.spicetify = + { + enable = true; + theme = spicePkgs.themes.catppuccin; + colorScheme = "mocha"; + + enabledExtensions = with spicePkgs.extensions; [ + fullAppDisplay + shuffle # shuffle+ (special characters are sanitized out of ext names) + hidePodcasts + ]; + }; +}