diff --git a/modules/i3-xfce.nix b/modules/i3-xfce.nix index 7f88ec8..6f8a169 100644 --- a/modules/i3-xfce.nix +++ b/modules/i3-xfce.nix @@ -33,7 +33,7 @@ in { export XDG_DATA_DIRS="${pkgs.gsettings-desktop-schemas}/share:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}:${pkgs.tokyonight-gtk-theme}/share:${customPkgs.vivid-icons}/share:$XDG_DATA_DIRS" ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface gtk-theme "Tokyonight-Dark" || echo "Failed to set GTK theme" > /tmp/theme-debug.log - ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface icon-theme "Vivid-Icons-Dark" || ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface icon-theme "Papirus-Dark" || echo "Failed to set icon theme" > /tmp/theme-debug.log + ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface icon-theme "Vivid-Magna-Glassy-Dark-Icons" || ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface icon-theme "Papirus-Dark" || echo "Failed to set icon theme" > /tmp/theme-debug.log ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface cursor-theme "capitaine-cursors" || echo "Failed to set cursor theme" > /tmp/theme-debug.log ''; }; @@ -55,7 +55,7 @@ in { }; iconTheme = { package = customPkgs.vivid-icons; - name = "Vivid-Icons-Dark"; + name = "Vivid-Magna-Glassy-Dark-Icons"; }; cursorTheme = { package = pkgs.capitaine-cursors; @@ -83,7 +83,7 @@ in { environment.etc = { "gtk-2.0/gtkrc".text = '' gtk-theme-name="Tokyonight-Dark" - gtk-icon-theme-name="Vivid-Icons-Dark" + gtk-icon-theme-name="Vivid-Magna-Glassy-Dark-Icons" gtk-font-name="Clear Sans 10" gtk-cursor-theme-name="capitaine-cursors" gtk-cursor-theme-size=24 @@ -92,25 +92,25 @@ in { [Settings] gtk-application-prefer-dark-theme=1 gtk-theme-name=Tokyonight-Dark - gtk-icon-theme-name=Vivid-Icons-Dark + gtk-icon-theme-name="Vivid-Magna-Glassy-Dark-Icons" gtk-font-name=Clear Sans 10 - gtk-cursor-theme-name=capitaine-cursors + gtk-cursor-theme-name="capitaine-cursors" gtk-cursor-theme-size=24 ''; "gtk-4.0/settings.ini".text = '' [Settings] gtk-application-prefer-dark-theme=1 gtk-theme-name=Tokyonight-Dark - gtk-icon-theme-name=Vivid-Icons-Dark + gtk-icon-theme-name="Vivid-Magna-Glassy-Dark-Icons" gtk-font-name=Clear Sans 10 - gtk-cursor-theme-name=capitaine-cursors + gtk-cursor-theme-name="capitaine-cursors" gtk-cursor-theme-size=24 ''; }; environment.variables = { GTK_THEME = "Tokyonight-Dark"; - ICON_THEME = "Vivid-Icons-Dark"; + ICON_THEME = "Vivid-Magna-Glassy-Dark-Icons"; XCURSOR_THEME = "capitaine-cursors"; XCURSOR_SIZE = "24"; }; @@ -148,7 +148,7 @@ in { programs.dconf.profiles.user.databases = [{ settings = { "org/gnome/desktop/interface" = { - icon-theme = "Vivid-Icons-Dark"; + icon-theme = "Vivid-Magna-Glassy-Dark-Icons"; gtk-theme = "Tokyonight-Dark"; cursor-theme = "capitaine-cursors"; }; diff --git a/pkgs/vivid-icons/default.nix b/pkgs/vivid-icons/default.nix index a1393d0..f54d530 100644 --- a/pkgs/vivid-icons/default.nix +++ b/pkgs/vivid-icons/default.nix @@ -2,9 +2,8 @@ lib, stdenv, fetchFromGitHub, - hicolor-icon-theme, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "vivid-icons"; version = "unstable-${builtins.substring 0 7 "fe8b8f1bdd3784dc838c125bb9e1b2d713f40e67"}"; src = fetchFromGitHub { @@ -13,42 +12,64 @@ stdenv.mkDerivation rec { rev = "fe8b8f1bdd3784dc838c125bb9e1b2d713f40e67"; sha256 = "UlZkxeWb2n5TexaQymeyEqAjKwDfonTXO2OYjICHl+U="; }; - buildInputs = [hicolor-icon-theme]; + buildInputs = [ ]; installPhase = '' - mkdir -p $out/share/icons - for dir in Vivid-Icons-*; do - if [ -d "$dir" ]; then - theme_name=$(basename "$dir") - dest_dir="$out/share/icons/$theme_name" - cp -r "$dir" "$dest_dir" - echo "[Icon Theme]" > "$dest_dir/index.theme" - echo "Name=$theme_name" >> "$dest_dir/index.theme" - echo "Comment=$theme_name icons" >> "$dest_dir/index.theme" - echo "Inherits=hicolor" >> "$dest_dir/index.theme" - directories="" - for size_dir in "$dest_dir"/*; do - if [ -d "$size_dir" ]; then - size=$(basename "$size_dir") - if [[ "$size" =~ ^[0-9]+x[0-9]+$ ]]; then - directories="$directories''${directories:+,}$size" - echo "[$size]" >> "$dest_dir/index.theme" - echo "Size=''${size%%x*}" >> "$dest_dir/index.theme" - echo "Context=Actions" >> "$dest_dir/index.theme" - echo "Type=Fixed" >> "$dest_dir/index.theme" - fi + echo "Source contents at root:" + ls -la . + mkdir -p $out/share/icons + cd "Vivid Icons Themes" + echo "Contents of Vivid Icons Themes:" + ls -la . + for dir in Vivid-Dark-Icons Vivid-Glassy-Dark-Icons Vivid-Magna-Glassy-Dark-Icons; do + if [ -d "$dir" ]; then + echo "Processing: $dir" + theme_name="$dir" + dest_dir="$out/share/icons/$theme_name" + mkdir -p "$dest_dir" + find "$dir" -type d -regex ".*/[0-9]+" | while read -r size_dir; do + size=$(basename "$size_dir") + category=$(basename "$(dirname "$size_dir")") + target_dir="$dest_dir/''${size}x''${size}/$category" + mkdir -p "$target_dir" + cp -rv "$size_dir"/* "$target_dir/" + done + echo "[Icon Theme]" > "$dest_dir/index.theme" + echo "Name=$theme_name" >> "$dest_dir/index.theme" + echo "Comment=$theme_name icons" >> "$dest_dir/index.theme" + directories="" + for size_dir in "$dest_dir"/*; do + if [ -d "$size_dir" ]; then + size=$(basename "$size_dir") # e.g., "22x22" + if [[ "$size" =~ ^[0-9]+x[0-9]+$ ]]; then + directories="$directories''${directories:+,}$size" + echo "[$size]" >> "$dest_dir/index.theme" + echo "Size=''${size%%x*}" >> "$dest_dir/index.theme" + echo "Context=Actions" >> "$dest_dir/index.theme" + echo "Type=Fixed" >> "$dest_dir/index.theme" fi - done - echo "Directories=$directories" >> "$dest_dir/index.theme" + fi + done + if [ -z "$directories" ]; then + echo "No size dirs found for $theme_name, adding fallback" + directories="scalable" + echo "[scalable]" >> "$dest_dir/index.theme" + echo "Size=48" >> "$dest_dir/index.theme" + echo "Context=Actions" >> "$dest_dir/index.theme" + echo "Type=Scalable" >> "$dest_dir/index.theme" fi - done - echo "Installed themes:" - ls -la $out/share/icons/ - ''; + echo "Directories=$directories" >> "$dest_dir/index.theme" + else + echo "Warning: $dir not found in Vivid Icons Themes" + fi + done + echo "Installed themes:" + ls -la $out/share/icons/ +''; meta = with lib; { description = "Vivid Icons Theme"; homepage = "https://github.com/L4ki/Vivid-Plasma-Themes"; license = licenses.gpl3; platforms = platforms.all; - maintainers = with maintainers; ["Cobray"]; + maintainers = with maintainers; [ "Cobray" ]; }; }