{ pkgs, lib, inputs', ... }: { home.file.".xmonad/build".executable = true; home.file.".xmonad/build".text = '' #!/usr/bin/env bash cd ~/dotfiles/home-manager/modules/xmonad eval "$(direnv export bash)" stack build rm "$1" cp "$(stack path --local-install-root)/bin/xmonad-exe" "$1" ''; home.file.".xmonad/buildenv".source = pkgs.buildEnv { name = "xmonad-buildenv"; ignoreCollisions = true; paths = inputs'.self.devShells.${pkgs.stdenv.system}.default.nativeBuildInputs; }; home.file.".xmonad/runenv".source = let polybar-mm = pkgs.writeShellScriptBin "polybar-mm" (builtins.readFile ./scripts/polybar-mm.sh); reload = pkgs.writeShellScriptBin "xmonad-reload" (builtins.readFile ./scripts/polybar-mm.sh); toggle-touchpad = pkgs.writeShellScriptBin "toggle-touchpad" (builtins.readFile ./scripts/toggle-touchpad.sh); auxmenu = pkgs.writeShellScriptBin "auxmenu" (builtins.readFile ./scripts/auxmenu.sh); emacs-vterm = pkgs.writeShellScriptBin "emacs-vterm" (builtins.readFile ./scripts/emacs-vterm.sh); in pkgs.buildEnv { name = "xmonad-runenv"; paths = with pkgs; [ brightnessctl playerctl dmenu polybar-mm polybarFull reload toggle-touchpad auxmenu emacs-vterm libnotify x11_ssh_askpass ]; }; }