home-lab/modules/desktop/common.nix
Geir O. Jerstad 251222037d feat(emacs): robust Nix-based Emacs setup with daemon service, improved elisp dev, and full package documentation
- Emacs daemon runs as a systemd service via Nix
- Modular Emacs config with Nix-managed packages (elisp-slime-nav, aggressive-indent, highlight-defined, etc.)
- Keybinding fixes and error handling improvements
- New EMACS_README.md explains ecosystem and troubleshooting
- Nix config: GUI sudo askpass, podman, and desktop tweaks
- All errors from missing packages and keybindings resolved
2025-07-03 20:39:07 +02:00

39 lines
937 B
Nix

{
config,
pkgs,
...
}: {
imports = [
../sound/pipewire.nix
];
# Common desktop configuration shared across all environments
# XDG Portal configuration for Wayland/X11 compatibility
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = [pkgs.xdg-desktop-portal-gtk];
};
# Display manager and session management
services.dbus.enable = true;
# Enable XWayland for X11 app compatibility (Steam, etc.)
programs.xwayland.enable = true;
# Common desktop packages
environment.systemPackages = with pkgs; [
firefox
];
# GUI sudo askpass helper for desktop environments
programs.ssh.askPassword = "${pkgs.libsForQt5.ksshaskpass}/bin/ksshaskpass";
security.sudo.extraConfig = ''
Defaults env_keep += "SSH_ASKPASS"
'';
environment.variables.SUDO_ASKPASS = "${pkgs.libsForQt5.ksshaskpass}/bin/ksshaskpass";
# Flatpak support
services.flatpak.enable = true;
}