All Projects → coleifer → Dot Theme

coleifer / Dot Theme

Licence: mit
dotfile templating tools

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Dot Theme

Dotfiles
🔘 neovim, zsh, tmux, iTerm2, macOS dotfiles
Stars: ✭ 7 (-77.42%)
Mutual labels:  dotfiles
Cfgs
My personal configs
Stars: ✭ 14 (-54.84%)
Mutual labels:  dotfiles
Dotfiles
my hidden config files
Stars: ✭ 27 (-12.9%)
Mutual labels:  dotfiles
Dotfiles
👋 Dotfiles of My Coding Env..
Stars: ✭ 8 (-74.19%)
Mutual labels:  dotfiles
Dotfiles
🌸 Aesthetic OpenboxWM Environment (Completed Setup)
Stars: ✭ 873 (+2716.13%)
Mutual labels:  dotfiles
Dotfiles
Config files for bash, completions, atom, git, irb, rails, etc.
Stars: ✭ 14 (-54.84%)
Mutual labels:  dotfiles
Dotfiles
My dotfiles 💻 🔨
Stars: ✭ 25 (-19.35%)
Mutual labels:  dotfiles
My Favorite Things
Moved to: https://gitlab.com/brennovich/my-favorite-things
Stars: ✭ 30 (-3.23%)
Mutual labels:  dotfiles
Etc
~/.
Stars: ✭ 14 (-54.84%)
Mutual labels:  dotfiles
Dotconfig
Development environment setup
Stars: ✭ 27 (-12.9%)
Mutual labels:  dotfiles
Cider
Hassle-free bootstrapping with Homebrew.
Stars: ✭ 858 (+2667.74%)
Mutual labels:  dotfiles
Dotfiles
My dotfiles, mainly Ubuntu and OSX stuff
Stars: ✭ 12 (-61.29%)
Mutual labels:  dotfiles
Wincent
💾 Dot-files
Stars: ✭ 882 (+2745.16%)
Mutual labels:  dotfiles
Dotfiles
My dotfiles.Managed with dotbot
Stars: ✭ 8 (-74.19%)
Mutual labels:  dotfiles
Macos Config
Setup for macOS that I've built for personal use case.
Stars: ✭ 28 (-9.68%)
Mutual labels:  dotfiles
Charlesscripts
My awesome scripts for Arch Linux or Ubuntu Gnome latest LTS or MacBook.
Stars: ✭ 936 (+2919.35%)
Mutual labels:  dotfiles
Dotfiles
My bash, tmux, and vim configs
Stars: ✭ 14 (-54.84%)
Mutual labels:  dotfiles
Nixos Config
NixOS configurations for server and desktop systems, including user specific config. with Home Manager
Stars: ✭ 30 (-3.23%)
Mutual labels:  dotfiles
Dotfiles
Dotfiles from my Manjaro xfce + bspwm configuration.
Stars: ✭ 30 (-3.23%)
Mutual labels:  dotfiles
Dotfiles
`~/dotfiles` to setup my dev env on macOS based around `neovim` and `tmux`
Stars: ✭ 20 (-35.48%)
Mutual labels:  dotfiles

.theme

This repo contains the script I use to render my templated dotfiles, as well as a helper script for editing theme configurations.

The way it works is you have a base config (config.yaml), which contains some global settings and defaults. Each theme may override or add to the base config, specifying different colors for titlebars, different fonts, etc.

The ta script is used for manaaging themes, and te is used for editing theme configs.

Sample config.yaml

This is a sample global config file. Note that the list of templates to be rendered is included under the templates key, along with hooks to be run after the theme is set.

The values of these settings are then referenced by the templates, which use the values from the configuration to populate your dotfiles.

settings:
  active: $red
  highlight: $cyan
  inactive: $alt_black
  transparency: 95
  window_border: $black
  window_title: $alt_black
  font:
    fallbacks:
      - "-*-icons-medium-*-*-*-15-*-*-*-*-*-*-*"
    bar: Roboto:style=Light
    bar_size: 10
    default: Roboto Light
    size: 10
    term: xft:Tamsyn:pixelsize=15
    term_b: xft:Tamsyn:pixelsize=15
    term_i: xft:Tamsyn:pixelsize=15
  i3:
    bar:
      bg: $panel
      cmd: i3status
      enabled: true
      fg: $text
      font:
        name: "Terminus, Icons"
        size: "12px"
      height: $bar_height
      mode: dock
      position: top
      separator: $wall
      separator_symbol: null
      tray_padding: 4
      ws:
        bg: $wall
        border: $active
        fg: $active
      ws_focus:
        bg: $active
        border: $active
        fg: $wall
    border: $active
    border_transparency: false
    border_unfocused: $title
    font: $font.term
    gaps:
      inner: 20
      outer: 5
    new_float: "pixel 4"
    new_window: "pixel 2"
  openbox:
    active:
      border: $border
      button: $red
      button_brightness: 0
      title: $title
      label: $text
      separator: $active
      label_brightness: 0
    border: 1
    client:
      color: $panel
      padding:
        h: 0
        w: 0
    desktops:
      - web
      - code
      - etc
    font:
      name: $font.default
      size: $font.size
    gap_size: 24
    gap_size_outer: 36
    inactive:
      border: $border
      button: $red
      button_brightness: 0
      title: $title
      label: $text
      separator: $inactive
      label_brightness: 0
    justify: right
    margin_multiplier: 2
    monitor: 1
    padding:
      h: 9
      w: 13
    panel_items: LC
  screen:
    h: 1080
    w: 1920
  terminal:
    border:
      external: 0
      internal: 24
    highlightColor: $highlight
    highlightTextColor: $white
    letter_space: 0
    line_space: 3
  vim:
    colors:
      - miromiro
templates:
  i3.tpl: i3.conf
  openbox-rc.xml: rc.xml
  openbox-themerc: themerc
  shell_colors: shell_colors
  xresources.tpl: Xresources
hooks:
  set:
    - xrdb -merge ~/.Xresources
    - echo "reload your window-manager here!"
  add: []

Sample theme

An individual theme's configuration consists of a subset of the settings defined in the global config.yaml. Themes can only override settings underneath the settings key of the config file (and thus cannot override things like hooks or template lists).

active: $cyan
alt_black: '#4b4e6d'
alt_blue: $blue
alt_cyan: $cyan
alt_green: $green
alt_magenta: $magenta
alt_red: $red
alt_white: '#fefffe'
alt_yellow: '#c9cebd'
background: '#222222'
bar_height: 26
black: '#222222'
blue: '#b0d0d3'
border: '#292929'
cyan: '#1c6b7c'
foreground: '#fefffe'
green: '#84dcc6'
magenta: '#696d99'
panel: $alt_black
red: '#c08497'
white: '#95a3b3'
yellow: '#b2bcaa'
font:
  bar: Work Sans
  default: Work Sans Light
  term: xft:Iosevka Term:size=10
  term_b: xft:Iosevka Term:size=10
  term_i: xft:Iosevka Term:size=10:style=Italic
i3:
  bar:
    font:
      name: Roboto, Icons
    ws:
      bg: $i3.bar.bg
      border: $white
      fg: $white
    ws_focus:
      bg: $i3.bar.bg
      border: $text
      fg: $text
  border: $active
  border_unfocused: $title
openbox:
  active:
    separator: $text
    title: $cyan
  font:
    size: 8
  gap_size: 40
  gap_size_outer: -20
  inactive:
    separator: $text
  padding:
    h: 10
  panel_items: ''

Typical usage

To create a new theme from an .Xresources file containing color defintions, you can run:

$ ta add my-new-theme ~/path/to/cool-colors.xresources

To set the theme to the new theme:

$ ta set my-new-theme

To list themes:

$ ta ls

To edit the theme's config:

$ te

To edit the global config:

$ te -g

Dependencies

Requires Python 2.x, jinja2, pyyaml, and pillow (python imaging library).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].