| { lib, pkgs, home, config, utils, ... }: { |
| home.packages = with pkgs; [ xob pamixer ]; |
| enableContribAndExtras = true; |
| config = utils.interpolateFile ./xmonad/xmonad.hs; |
| libFiles = lib.pipe ./xmonad [ |
| (builtins.filter (name: name != "xmonad.hs")) |
| value = utils.interpolateFile "${./xmonad}/${name}"; |
| extraPackages = haskellPackages: with haskellPackages; [ |
| programs.zsh.profileExtra = '' |
| if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then |
| exec ${pkgs.systemd}/bin/systemd-cat -t xmonad ${pkgs.xorg.xinit}/bin/startx |
| home.file.".config/prelaunch/desktop-portals.sh".text = '' |
| export XDG_DESKTOP_PORTAL_DIR=${pkgs.xdg-desktop-portal-gnome}/share/xdg-desktop-portal/portals |
| ${pkgs.xdg-desktop-portal-gnome}/libexec/xdg-desktop-portal-gnome & |
| ${pkgs.xdg-desktop-portal}/libexec/xdg-desktop-portal & |
| home.file.".config/prelaunch/desktop-portals.sh".executable = true; |
| home.file.".xinitrc".text = '' |
| for file in ~/.config/prelaunch/*; do |
| ${home.xsession.windowManager.command} |
| config.services.xserver = { |
| displayManager.startx.enable = true; |