Giter Site home page Giter Site logo

dotfiles's Introduction

Hi ๐Ÿ‘‹

I'm a software engineer, architect, public speaker, and book author.

Italy ๐Ÿ‡ฎ๐Ÿ‡น is my home country (even though I have red hair ๐Ÿ‘จโ€๐Ÿฆฐ), and I currently live there.

Open Source

I'm super-duper active in the open-source world, especially in the @elixir-lang community.

I love the OSS community. If you want to stop by and say hi, need anything, or if I can be of help in any way, head over to andrealeopardi.com to find out how to reach me.

Jobbing

I'm a principal engineer at Veeps.

Selfie of myself at a conference

dotfiles's People

Contributors

whatyouhide avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dotfiles's Issues

Fix the ,rp and ,rn vim mappings

They're supposed to run the current file in the [p]revious or [n]ext pane, but there are some problems:

  • There has to be a previous/next pane; it should open one if there aren't any
  • Even if there is another pane, it has to be cd'd into the directory where the edited file is

A solution could be to open a new pane on the right or use one if it's already there, cd that pane and execute the file.

Another solution could be to use only ,r and execute the current file in the other pane (the window should have exactly 2 panes and an error should occur if there are more panes). In case of just one pane, it should open the other one by itself.

.colorschemes

As of now, colorschemes (the one copied from colorschemes.example) sits in the $DOTFILES directory, which isn't good since I want to be able to clone just the zsh configuration and have colorschemes sourced anyways.

I should make it a symlink in ~/.colorschemes.

Move some stuff to non version controlled files

The most prominent example is what I just (like, 2 minutes ago) did in 11dfea7 (which is adding the PHP executable shipped with MAMP to the PATH).

I mostly use OSX and often install MAMP when I need to develop a PHP/MySQL/both website. Still, I'm cluttering the path.zsh file and (even more) the config-utils.zsh file, whose functions remain in the main scope and hence are available in the shell after all the sourceable has been sourced.
I can see the appeal of leaving the is-osx/is-linux functions hanging around, but functions like mamp-latest-php-bin-dir really are of no use outside their scope.

(side note: this is an entirely different matter, since I'm thinking of creating a "teardown" script which undefines all the functions defined in config-utils.zsh in order to stuff everything I like in there without worrying of leaving functions around)

This cluttering could be avoided by simply adding the PHP executable path to the PATH in zsh/extra, which is not version controlled. This way, if/when I need MAMP's PHP in my path I can just add it there.

Brewfile is bad, bad, bad

setup/Brewfile is a majestic example of how to do things badly. Follows a short list of why it sucks:

  • A commands breaks? Sorry ๐Ÿ˜ง you have to rerun everything
  • You would be right if you wanted to install only apps that aren't already installed. Well, sorry again, Brewfile thinks it's better to <app-here> is already installed all the way
  • Hey, let's echo some useful infos! Nope, the Brewfile is composed of brew commands, nothing else

A simple bash/Ruby script should fix things up.

vim default theme

Vim should have a default theme for when environment variables (like $DOTFILES_VIM_DARK_COLORSCHEME) are not defined.

The most common case when this happens is when using sudo commands on Linux.

Add KeyRemap4MacBook's private.xml to the dotfiles

It's located somewhere inside ~/Library/Application Support.
I have to store it inside the dotfiles, and add a custom link in order to symlink it when doing rake install (or however that task is called).

Important note that ~/Library/* is only available on Macs, so for the sake of a bare minumum Linux support I should ensure that custom links defined in config.yml don't fail when the destination directory doesn't exists. They should raise a warning in such a scenario.

SCSS '@extend' syntax

As of now, when I @extend %a-class, the syntax highlighting in %a-class is completely off track. For example, if the placeholder class is called %user-form, form will be highlighted as a selector.

Rake should consider environments

rake dosomething env=server should link only strictly necessary dotfiles. It should skip all language-specific configuration files, .gvimrc and so on.

Vim and tmux colorschemes

As of now, vim colorschemes are set inside global variables in vim/vimrc, while tmux colorschemes are set in tmux/themes/* and then sourced (in a bad and confusing way, actually) from tmux/tmux.conf.

This is not bad, but all these files are version controlled and that means:

  1. All the computers have the same colors, which is generally not desiderable.
  2. Every time I change colors, I have to commit & push, but those are useless informations at best.

I have to put all the colorschemes choosing files (not the actual themes) out of version control, and source those files from vimrc and tmux.conf.

The prority for those files is simplicity: they won't be version controlled, so they must not do any damage if they get lost. Also, they have to be easy to write and edit when I want to change themes.

Edit

Hey, why not do this for the zsh theme too? For the exact same reasons.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.