nixos-config/system/desktop/home-manager/xmonad.nix
2019-10-24 02:24:33 +02:00

33 lines
1.6 KiB
Nix

{ pkgs, lib, config, ... }:
let
nixCommands = { height, width }: pkgs.writeText "NixCommands.hs" /* haskell */ ''
module NixCommands where
nixStartIrc = "${pkgs.rxvt_unicode}/bin/urxvt -e irc"
nixStartAudacious = "${pkgs.audacious}/bin/audacious"
nixStartFlameshot = "${pkgs.flameshot}/bin/flameshot gui -p /share/"
nixInvertColors = "${pkgs.xcalib}/bin/xcalib -invert -alter"
nixStartRedshift = "${pkgs.redshift}/bin/redshift -O 6100 -g 0.9:0.9:0.9 -b 0.9"
nixResetRedshift = "${pkgs.redshift}/bin/redshift -x"
nixSetCursorImage = "${pkgs.xorg.xsetroot}/bin/xsetroot -cursor_name left_ptr"
nixSetBackground = "${pkgs.haskellPackages.image-generator}/bin/image-generator --height ${toString height} --width ${toString width} --output /dev/shm/background.png && ${pkgs.feh}/bin/feh --bg-scale /dev/shm/background.png"
nixStartAlbert = "${pkgs.albert}/bin/albert"
nixStartCopyq = "${pkgs.copyq}/bin/copyq"
nixStartTerminal = "${pkgs.rxvt_unicode_with-plugins}/bin/urxvtc"
'';
in {
home-manager.users.mainUser = {
home.file.".xmonad/xmonad.hs".source = ./xmonad/Main.hs;
home.file.".xmonad/lib/NixCommands.hs".source = nixCommands {
height = config.configuration.desktop.height;
width = config.configuration.desktop.width;
};
home.file.".xmonad/lib/SolarizedLight.hs".source = ./xmonad/SolarizedLight.hs;
home.file.".xmonad/lib/SolarizedDark.hs".source = ./xmonad/SolarizedDark.hs;
home.file.".xmonad/lib/FloatKeys.hs".source = ./xmonad/FloatKeys.hs;
home.file.".xmonad/lib/TabbedFix.hs".source = ./xmonad/TabbedFix.hs;
};
}