# HG changeset patch # User zegervdv # Date 1397574315 -7200 # Node ID a761f06dbaa88e42ec6d156e0050d6c1f93dc535 # Parent 01da408673001d361f527c982dca708e2781200e Add Maid rules diff -r 01da40867300 -r a761f06dbaa8 maid/com.github.maid.plist --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/maid/com.github.maid.plist Tue Apr 15 17:05:15 2014 +0200 @@ -0,0 +1,32 @@ + + + + + Label + com.github.maid + StartCalendarInterval + + + Hour + 12 + Day + 1 + + + Hour + 12 + Day + 14 + + + ProgramArguments + + /Users/zegervdv/.rbenv/shims/maid + clean + -r + /Users/zegervdv/.maid/general.rb + + ServiceDescription + Maid + + diff -r 01da40867300 -r a761f06dbaa8 maid/general.rb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/maid/general.rb Tue Apr 15 17:05:15 2014 +0200 @@ -0,0 +1,31 @@ +Maid.rules do + rule 'Remove old TV-show downloads' do + dir('~/Downloads/**/*.mkv').each do |mkv| + trash(mkv) if 2.weeks.since?(accessed_at(mkv)) + end + end + + rule 'Remove old converted TV-shows' do + trash(dir('~/Downloads/**/*.mp4')) + trash(dir('~/Downloads/**/*.m4v')) + end + + rule 'Remove old apps' do + trash(dir('~/Downloads/*.dmg')) + trash(dir('~/Downloads/*.pkg')) + trash(dir('~/Downloads/*.zip')) + trash(dir('~/Downloads/*.iso')) + trash(dir('~/Downloads/*.tar')) + trash(dir('~/Downloads/*.tar.*')) + end + + rule 'Remove empty folders' do + trash(dir('~/Downloads/**/*').select { |path| File.directory?(path) && File.stat(path).size < 1.megabyte }) + end + + rule 'Remove old files' do + dir('~/Downloads/**/*').each do |file| + trash(file) if 4.weeks.since?(accessed_at(file)) + end + end +end