Compare commits

...

5 Commits

Author SHA1 Message Date
c42e09e972 [i3] Add compositor 2025-10-27 19:03:54 -07:00
4d986c0b48 [home] Add wallpaper 2025-10-27 19:03:46 -07:00
4e3fdd78d2 Fix KDE systemsettings default applications menu issue
KDE applications in i3 were showing only "Other..." in default
applications due to missing applications.menu file. Plasma 6 renamed
applications.menu to plasma-applications.menu but KDE components
still look for the old name.

This creates a symlink from the new location to the expected location
using XDG config file management.

Fixes kmail and systemsettings not detecting installed applications.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 19:02:26 -07:00
d3703fc5a9 Add XDG desktop portal configuration for i3 + KDE integration
Enables proper desktop integration services when using KDE applications
in i3 window manager, including file dialogs, theme integration, and
screen sharing capabilities.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 19:01:57 -07:00
35c2ebb592 [zix790prors] Set correct refresh rate for x11 2025-10-27 16:51:19 -07:00
6 changed files with 120 additions and 4 deletions

View File

@@ -128,7 +128,7 @@ in {
} }
# Picom compositor for smooth rendering and no tearing (important for Nvidia) # Picom compositor for smooth rendering and no tearing (important for Nvidia)
{ {
command = "picom -b"; command = "picom --backend glx -b";
always = false; always = false;
notification = false; notification = false;
} }
@@ -138,6 +138,12 @@ in {
always = false; always = false;
notification = false; notification = false;
} }
# Set wallpaper with feh
{
command = "feh --bg-scale ${../../wallpapers/metroid-samus-returns-kz-3440x1440.jpg}";
always = false;
notification = false;
}
]; ];
}; };
in { in {
@@ -163,6 +169,11 @@ in {
dwt = "enabled"; dwt = "enabled";
}; };
}; };
output = {
"*" = {
bg = "${../../wallpapers/metroid-samus-returns-kz-3440x1440.jpg} fill";
};
};
}; };
in { in {
enable = true; enable = true;

View File

@@ -167,6 +167,12 @@
AutoRaiseInterval = 750; # Delay in ms before auto-raise (if enabled) AutoRaiseInterval = 750; # Delay in ms before auto-raise (if enabled)
DelayFocusInterval = 0; # Delay in ms before focus follows mouse DelayFocusInterval = 0; # Delay in ms before focus follows mouse
}; };
# Desktop wallpaper configuration
plasma-localerc.Formats.LANG = "en_US.UTF-8";
# Set wallpaper for all desktops
plasmarc.Wallpapers.usersWallpapers = "${../../wallpapers/metroid-samus-returns-kz-3440x1440.jpg}";
}; };
}; };
} }

View File

@@ -19,9 +19,11 @@ in
kitty kitty
# Desktop utilities # Desktop utilities
feh # Image viewer and wallpaper setter for X11
solaar # Logitech management software solaar # Logitech management software
waybar waybar
wofi wofi
xdg-utils # XDG utilities for opening files/URLs with default applications
# System utilities with GUI components # System utilities with GUI components
(snapcast.override { pulseaudioSupport = true; }) (snapcast.override { pulseaudioSupport = true; })
@@ -37,6 +39,14 @@ in
kdePackages.kaddressbook kdePackages.kaddressbook
kdePackages.kontact kdePackages.kontact
# KDE System components needed for proper integration
kdePackages.kded
kdePackages.systemsettings
kdePackages.kmenuedit
# Desktop menu support
kdePackages.plasma-desktop # Contains applications.menu
# KDE Online Accounts support # KDE Online Accounts support
kdePackages.kaccounts-integration kdePackages.kaccounts-integration
kdePackages.kaccounts-providers kdePackages.kaccounts-providers
@@ -70,7 +80,79 @@ in
enable = true; enable = true;
}; };
xdg.enable = true; # KDE environment variables for proper integration
home.sessionVariables = {
QT_QPA_PLATFORMTHEME = "kde";
KDE_SESSION_VERSION = "6";
};
xdg = {
enable = true;
# Ensure desktop files are made available for discovery
desktopEntries = {}; # This creates the desktop files directory structure
mimeApps = {
enable = true;
associations.added = {
# Ensure associations are properly registered
"text/html" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
};
defaultApplications = {
# Web browsers
"text/html" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
# Documents
"application/pdf" = "okular.desktop";
"text/plain" = "kate.desktop";
"text/x-tex" = "kate.desktop";
"text/x-c" = "kate.desktop";
"text/x-python" = "kate.desktop";
"application/x-shellscript" = "kate.desktop";
# Images
"image/png" = "gwenview.desktop";
"image/jpeg" = "gwenview.desktop";
"image/jpg" = "gwenview.desktop";
"image/gif" = "gwenview.desktop";
"image/bmp" = "gwenview.desktop";
"image/tiff" = "gwenview.desktop";
"image/webp" = "gwenview.desktop";
# Archives
"application/zip" = "ark.desktop";
"application/x-tar" = "ark.desktop";
"application/x-compressed-tar" = "ark.desktop";
"application/x-7z-compressed" = "ark.desktop";
"application/x-rar" = "ark.desktop";
# Audio
"audio/mpeg" = "elisa.desktop";
"audio/mp4" = "elisa.desktop";
"audio/flac" = "elisa.desktop";
"audio/ogg" = "elisa.desktop";
"audio/wav" = "elisa.desktop";
# Email
"message/rfc822" = "kmail.desktop";
"x-scheme-handler/mailto" = "kmail.desktop";
# Calendar
"text/calendar" = "korganizer.desktop";
"application/x-vnd.akonadi.calendar.event" = "korganizer.desktop";
};
};
};
# Fix for KDE applications.menu file issue on Plasma 6
# KDE still looks for applications.menu but Plasma 6 renamed it to plasma-applications.menu
xdg.configFile."menus/applications.menu".source = "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu";
# Note: modules must be imported at top-level home config # Note: modules must be imported at top-level home config
}; };

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

View File

@@ -52,9 +52,9 @@ with lib;
hardware.graphics.enable = true; hardware.graphics.enable = true;
hardware.graphics.enable32Bit = true; hardware.graphics.enable32Bit = true;
# Set DP-0 as primary display for system tray and multi-monitor setup # Set DP-0 as primary display with 164.90Hz refresh rate
services.xserver.displayManager.sessionCommands = '' services.xserver.displayManager.sessionCommands = ''
${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --primary ${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --mode 3440x1440 --rate 164.90 --primary
''; '';
hardware.nvidia = { hardware.nvidia = {

View File

@@ -16,5 +16,22 @@ in
programs.dconf.enable = true; programs.dconf.enable = true;
services.gnome.gnome-keyring.enable = true; services.gnome.gnome-keyring.enable = true;
programs.kdeconnect.enable = true; programs.kdeconnect.enable = true;
# XDG Desktop Portal for default application handling in non-KDE environments
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
kdePackages.xdg-desktop-portal-kde # For KDE application integration
xdg-desktop-portal-gtk # Fallback for GTK applications
];
config = {
common = {
default = "kde";
};
i3 = {
default = ["kde" "gtk"];
};
};
};
}; };
} }