mirror of
https://github.com/meineerde/dotfiles.git
synced 2025-10-17 19:41:01 +00:00
39 lines
1.0 KiB
Ruby
39 lines
1.0 KiB
Ruby
require 'fileutils'
|
|
|
|
task :update => "update:submodules"
|
|
namespace :update do
|
|
desc "Update all submodules"
|
|
task :submodules do
|
|
sh "git submodule update --init"
|
|
end
|
|
end
|
|
|
|
desc "Install everything"
|
|
task :install => "update"
|
|
task :install => "install:all"
|
|
namespace :install do
|
|
def files(name, *files)
|
|
desc "Install #{name} configuration"
|
|
task(name) do
|
|
Dir[*files].collect do |file|
|
|
full = File.join File.dirname(__FILE__), file.sub(/\.dotfile$/,'')
|
|
Dir.chdir ENV["HOME"] do
|
|
mkdir_p File.dirname(file)
|
|
File.delete(file) if (File.exist? file and File.directory? full)
|
|
sh "ln -sf #{full} #{file}"
|
|
end
|
|
end
|
|
end
|
|
task :all => name
|
|
end
|
|
|
|
files :ruby, ".irbrc", ".config/irb/*.rb", ".config/solargraph/*.yml"
|
|
|
|
dot_files = %w[bin]
|
|
dot_files += %w[.bash_profile .bashrc .gemrc .gitignore_global .ackrc .rvmrc.dotfile]
|
|
dot_files += %w[.gitconfig .gitconfig_holgerjust.de .gitconfig_plan.io]
|
|
files :dot, *dot_files
|
|
|
|
files :vim, *%w[.vim .vimrc]
|
|
end
|