mattjmorrison / dotfiles

Dotfiles and an install script for easy set up
236 stars 36 forks source link

Game Change Time #39

Open mattjmorrison opened 7 years ago

mattjmorrison commented 7 years ago

I had a thought and I wanted to run it by you...

What would you think about creating a github organization with some adorable startup sounding name (like kudly or sporf) and putting the dotfiles in that organization - then ripping all of the python specific stuff out of the dotfiles and putting it in a different repo under that same organization that can be pulled into the custom-configs directory, and rip out all of the javascript stuff and rip out all of the... whatever, elm?

I have some other thoughts too... but they're a big more... grandiose... but here they are anyway... currently, the setup process (on a mac) for a new machine is something like

  1. install homebrew
  2. install git
  3. clone the dotfiles into the home directory
  4. run the install script
  5. run the symlink script

What if it could be something like:

  1. install homebrew
  2. brew install sporf
  3. sporf setup zsh python javascript haskell

That would pull down the core dotfiles, setup the symlinks, grab all of the custom-config repos needed for the additional stuff specified and set those up as well.

See, grandiose.

JarrodCTaylor commented 7 years ago

I have in the past contemplated something similar. What is the motivation for creating an organization?

What's involved with the more grandiose plan? Homebrew == Ruby correct? (gross :p) At first glance that sounds like potentially a lot of work for rather minimal cost/effort savings on something that we do once every 18 - 24 months. Share your vision

mattjmorrison commented 7 years ago

The organization - let's be honest having your name attached to the dotfiles isn't doing it any PR favors. 😄 In all seriousness, that was just a thought that I had that I thought could help with having other maintainers for the canonical python configs, javascript configs, clojure configs, homebrew install thing, utility command, etc and not have it all fall on you (if you don't want it to). I thought it would be kind of nice to have everything in one place (the organization) but not require you personally to have to be 100% up-to-date on whatever different things might be out there...

I don't have any actual experience making something homebrew installable, but from the docs:

from brew.sh

class Wget < Formula
  homepage "https://www.gnu.org/software/wget/"
  url "https://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz"
  sha256 "52126be8cf1bddd7536886e74c053ad7d0ed2aa89b4b630f76785bac21695fcd"

  def install
    system "./configure", "--prefix=#{prefix}"
    system "make", "install"
  end
end

Yes, it is ruby, but it looks like it is essentially a ruby class wrapped around some shell commands.

My reasoning for adding the brew install is because it is done so rarely. I just set up a new mac yesterday and I cloned the repo into ~/Projects and realized that I had to move it to ~ for the create-symlinks.sh to work correctly. If I had some utility command I wouldn't have to remember anything just install and run the command. This utility command (konkle or whatever) would also make it possible to support having custom-configs define their own install-packages.sh and create-symlinks.sh - so if you're using the dotfiles and the clojure-custom-config but not the python-custom-config then you don't need to have flake8 and jedi installed but you probably do want leiningen installed - using the konkle command could clone the correct repo (from the organization or wherever) into the correct directory, run the install-packages.sh and the create-symlinks.sh.

JarrodCTaylor commented 7 years ago

The org must have a solid name. Beyond that it sounds like a fine and ambitious :tm: idea. I am willing to collaborate to help it happen but I don't know that I am currently up for spearheading the effort.

prsWelcome

mattjmorrison commented 7 years ago

I've been playing around with this some more recently... my first step was to figure out is it possible to have some python code that I can brew install? I have an answer, it is yes. And it is also surprisingly simple. I tested this out on my machine and it works great. The next thing was the solid name... I thought that taylormaid would be a good play on words from your Taylor Made logo but Maid instead since it does all of the work... that name is taking on github though... so what do you think about tailor maid... (I grabbed that one - and that is where I put my simple proof of concept code) - I was pretty happy with it... Tailor since it is so customizable... Maid since it is a utility tool...

https://github.com/tailormaid/tailormaid

I also took the liberty of drafting a quick logo....

tailormaid

JarrodCTaylor commented 7 years ago

Sounds intriguing, and the logo concept is an amusing amalgamation of relevant parts.

mattjmorrison commented 7 years ago

I think the really nice touches are the partial and not-matching water marks