task default: [:install] ConfigPath = (ENV["XDG_DATA_HOME"] or ENV["HOME"]+'/.config') desc "Copy files to .config" file "copy-config" => ["rc.lua"] do sh "mkdir -p #{ConfigPath}/awesome" ["libs","modules","themes","widgets","rc.lua","desktop.conf"].each { |x| cp_r "./#{x}" "#{ConfigPath}/awesome" } end desc "Compile and install luapam" file "build-luapam" => "#{ConfigPath}/libs/pam.so" do sh "sh ./extra/install_luapam.sh" end desc "Install config" task install: ["copy-config","build-luapam"] desc "Build documentation" task :doc do sh "ldoc ./.ldoc.lua" end desc "Install extras" task "install-extra" do if Process.euid != 0 raise Exception, "You need to be root to install extras" end cp "./extra/udev/backlight.rules" "/etc/udev/rules.d" mkdir "#{ConfigPath}/autostart" begin cp "/usr/share/applications/picom.desktop" "#{ConfigPath}/autostart/" rescue puts "picom not installed - ignoring" else cp "./extra/picom.conf" "#{ConfigPath}" end puts "Done! Reload awesome to complete installation" end desc "Uninstall from .config" task :clean do rm_rf "#{ConfigPath}/awesome" end desc "Wipe configuration and reinstall from scratch" task reinstall: [:clean,:install]