{ pkgs, lib, config, ... }: let background-repo = pkgs.fetchgit { url = "https://git.ingolf-wagner.de/palo/image-generator-lib"; rev = "95bc53de0b73917c5571a061a6702c71c9bf173e"; sha256 = "1x14pknv0v38x0g5sf6k25g9w7r7j0mndazq5ixjvybwdynk25kw"; }; nixCommands = { height, width }: pkgs.writeText "NixCommands.hs" # haskell '' module NixCommands where nixStartChat = "${pkgs.element-desktop}/bin/element-desktop" 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.polygon-art.polygon-art}/bin/rings --height ${ toString height } --width ${ toString width } /dev/shm/background.png && ${pkgs.feh}/bin/feh --bg-scale /dev/shm/background.png" nixStartAlbert = "${pkgs.albert}/bin/albert" nixStartCopyq = "${pkgs.copyq}/bin/copyq" nixShowCopyq = "${pkgs.copyq}/bin/copyq show" nixStartTerminal = "${pkgs.rxvt_unicode}/bin/urxvtc" nixAlsaRaiseVolume = "${pkgs.alsaUtils}/bin/amixer set Master 5%+" nixAlsaLowerVolume = "${pkgs.alsaUtils}/bin/amixer set Master 5%-" nixAlsaMute = "${pkgs.alsaUtils}/bin/amixer set Master toggle" nixNotifySend = "${pkgs.libnotify}/bin/notify-send" ''; 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; home.file.".xmonad/lib/BoringWindows.hs".source = ./xmonad/BoringWindows.hs; home.file.".xmonad/lib/Memo.hs".source = ./xmonad/Memo.hs; home.file.".xmonad/lib/SubLayouts.hs".source = ./xmonad/SubLayouts.hs; home.file.".xmonad/xmonad.cabal".source = ./xmonad/palos-xmonad.cabal; home.file.".xmonad/Main.hs".source = ./xmonad/Main.hs; }; }