Coder Social home page Coder Social logo

math0ne / dotfiles Goto Github PK

View Code? Open in Web Editor NEW
54.0 4.0 3.0 5.23 MB

:computer: Personal dotfiles orchestrated with GNU Stow and Ansible with a healthy splash of Docker

Emacs Lisp 44.00% Shell 45.83% Python 7.79% Lua 1.46% Batchfile 0.71% Dockerfile 0.21%
emacs dotfiles tmux tmux-configs zsh zsh-configuration ansible ansible-roles docker

dotfiles's Introduction

Dotfiles organized using Ansible and GNU stow with a healthy splash of Docker

screenshots

My config is based on Ansible roles that can be enabled or disabled based on the needs at hand. The roles contain application installation scripts and configuration data. The current included roles are:

  • core - git and stow
  • emacs - spacemacs configuration and custom theme with integrated nerd font powered features
  • htop - custom theme
  • irssi - custom theme and setup
  • ranger - custom theme
  • tmux - tmux-next installation with custom theme and nerd font integration
  • zsh - zsh terminal powered by the powerlevel9k framework with custom theme, awesome aliases, and prompt featuring nerd font symbols throughout
  • bin - fun binary command line games utilities and screensavers
  • docker - installation and helper utilies and application library
  • node.js - node development enviroment
  • ruby - ruby development setup and global bundler install

The configuration trys to provide common features through the supported roles:

  • unified color themes through applications using base16 variation
  • nerd font symbols everywhere
  • configuration symlinks powered by gnu stow
  • included putty / mintty configurations

Currently Supported Operating Systems:

  • Ubuntu 16

Installation Instructions

Warning: Must be run as a non root user, if necessary create and add a user

1. Install Ansible

sudo apt-get -y install ansible git

2. Clone the project and customise your Ansible roles

git clone https://github.com/math0ne/dotfiles.git ~/.dotfiles

Optional: Now you can disable any of the main roles you don't need by commenting them out in the .dotfiles/playbooks/main.yml file, eg:

  roles:
    - core
    # - tmux # tmux disabled

Optional: Additional Ansible Galaxy roles have to be added or removed from both the .dotfiles/playbooks/main.yml file:

  roles:
    # - nickjj.docker # docker disabled
    - your.role # added custom role

Optional: And the .dotfiles/playbooks/requirements.yml file:

# - src: nickjj.docker # docker disabled
- src: your.role # added custom role

3. Install the galaxy powered roles

sudo ansible-galaxy install --roles-path=~/.dotfiles/playbooks_galaxy/roles -r ~/.dotfiles/playbooks_galaxy/requirements.yml
sudo ansible-playbook -i ~/.dotfiles/.inventory -K ~/.dotfiles/playbooks_galaxy/main.yml -e "localuser=$USER"

4. Install the main project roles

sudo ansible-playbook -i ~/.dotfiles/.inventory -K ~/.dotfiles/playbooks/main.yml --e "localuser=$USER"

5. Close the ssh session and log back in

Credits

This config was inspired / built upon the work of:

TODO

  • powerlevel9k needs to move to stowed, updated have broken my theme

Upcoming roles:

  • node.js - development enviroment install
  • ruby - development enviroment install
  • ircserver - bitlbee powered local bnc setup

Upcoming features:

  • icdiff install
  • secret management
  • emacs org directory syncing

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.