dotfiles/home-manager/modules/xmonad/default.nix

55 lines
1.5 KiB
Nix
Raw Normal View History

{ 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
];
};
}