diff --git a/config/htop/htoprc b/config/htop/htoprc new file mode 100644 index 0000000..06329b4 --- /dev/null +++ b/config/htop/htoprc @@ -0,0 +1,39 @@ +# Beware! This file is rewritten by htop when settings are changed in the interface. +# The parser is also very primitive, and not human-friendly. +fields=0 48 17 18 38 39 40 2 46 47 49 1 +sort_key=47 +sort_direction=1 +tree_sort_key=47 +tree_sort_direction=1 +hide_kernel_threads=1 +hide_userland_threads=0 +shadow_other_users=0 +show_thread_names=0 +show_program_path=1 +highlight_base_name=1 +highlight_megabytes=1 +highlight_threads=1 +highlight_changes=0 +highlight_changes_delay_secs=5 +find_comm_in_cmdline=1 +strip_exe_from_cmdline=1 +show_merged_command=0 +tree_view=1 +tree_view_always_by_pid=0 +header_margin=1 +detailed_cpu_time=0 +cpu_count_from_one=1 +show_cpu_usage=1 +show_cpu_frequency=0 +show_cpu_temperature=0 +degree_fahrenheit=0 +update_process_names=0 +account_guest_in_cpu_meter=0 +color_scheme=0 +enable_mouse=1 +delay=15 +left_meters=LeftCPUs2 CPU Battery Blank Blank Blank Memory NetworkIO DiskIO +left_meter_modes=1 1 1 2 2 2 3 4 4 +right_meters=RightCPUs2 Memory Swap Blank Blank Blank LoadAverage Uptime Tasks +right_meter_modes=1 1 1 2 2 2 3 4 4 +hide_function_bar=0 diff --git a/config/i3/config b/config/i3/config new file mode 100644 index 0000000..827fce8 --- /dev/null +++ b/config/i3/config @@ -0,0 +1,271 @@ +set $mod Mod4 + +new_window pixel 1 +new_float normal + +hide_edge_borders none + +bindsym $mod+u border none +bindsym $mod+y border pixel 1 +bindsym $mod+n border normal + +font xft:URWGothic-Book 11 + +floating_modifier $mod + +bindsym $mod+Return exec i3-sensible-terminal + +# Window kill command +bindsym $mod+Shift+q kill + +# start program launcher +bindsym $mod+d exec /home/tyrel/.config/i3/rofi + +# change focus +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# workspace back and forth (with/without active container) +workspace_auto_back_and_forth yes +bindsym $mod+b workspace back_and_forth +bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth + +# split orientation +bindsym $mod+h split h;exec notify-send 'tile horizontally' +bindsym $mod+v split v;exec notify-send 'tile vertically' +bindsym $mod+q split toggle + +# toggle fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# toggle sticky +bindsym $mod+Shift+s sticky toggle + +# focus the parent container +bindsym $mod+a focus parent + +# move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show + +# navigate workspaces next / previous +bindsym $mod+Ctrl+Right workspace next +bindsym $mod+Ctrl+Left workspace prev + +# workspaces +set $ws1 1 +set $ws2 2 +set $ws3 3 +set $ws4 4 +set $ws5 5 +set $ws6 6 +set $ws7 7 +set $ws8 8 + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 + +# Move focused container to workspace +bindsym $mod+Ctrl+1 move container to workspace $ws1 +bindsym $mod+Ctrl+2 move container to workspace $ws2 +bindsym $mod+Ctrl+3 move container to workspace $ws3 +bindsym $mod+Ctrl+4 move container to workspace $ws4 +bindsym $mod+Ctrl+5 move container to workspace $ws5 +bindsym $mod+Ctrl+6 move container to workspace $ws6 +bindsym $mod+Ctrl+7 move container to workspace $ws7 +bindsym $mod+Ctrl+8 move container to workspace $ws8 + +# Move to workspace with focused container +bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 + +# Open specific applications in floating mode +for_window [title="alsamixer"] floating enable border pixel 1 +for_window [class="Calamares"] floating enable border normal +for_window [class="Clipgrab"] floating enable +for_window [title="File Transfer*"] floating enable +for_window [class="Galculator"] floating enable border pixel 1 +for_window [class="GParted"] floating enable border normal +for_window [title="i3_help"] floating enable sticky enable border normal +for_window [class="Lightdm-gtk-greeter-settings"] floating enable +for_window [class="Lxappearance"] floating enable sticky enable border normal +for_window [class="Manjaro-hello"] floating enable +for_window [class="Manjaro Settings Manager"] floating enable border normal +for_window [title="MuseScore: Play Panel"] floating enable +for_window [class="Nitrogen"] floating enable sticky enable border normal +for_window [class="Oblogout"] fullscreen enable +for_window [class="octopi"] floating enable +for_window [title="About Pale Moon"] floating enable +for_window [class="Pamac-manager"] floating enable +for_window [class="Pavucontrol"] floating enable +for_window [class="qt5ct"] floating enable sticky enable border normal +for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal +for_window [class="Simple-scan"] floating enable border normal +for_window [class="(?i)System-config-printer.py"] floating enable border normal +for_window [class="Skype"] floating enable border normal +for_window [class="Thus"] floating enable border normal +for_window [class="Timeset-gui"] floating enable border normal +for_window [class="(?i)virtualbox"] floating enable border normal +for_window [class="Xfburn"] floating enable + +# switch to workspace with urgent window automatically +for_window [urgent=latest] focus + +# reload the configuration file +bindsym $mod+Shift+c reload + +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart + +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" + +# Set shut down, restart and locking features +bindsym $mod+0 mode "$mode_system" +set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown +mode "$mode_system" { + bindsym l exec --no-startup-id i3exit lock, mode "default" + bindsym s exec --no-startup-id i3exit suspend, mode "default" + bindsym u exec --no-startup-id i3exit switch_user, mode "default" + bindsym e exec --no-startup-id i3exit logout, mode "default" + bindsym h exec --no-startup-id i3exit hibernate, mode "default" + bindsym r exec --no-startup-id i3exit reboot, mode "default" + bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" + + # exit system mode: "Enter" or "Escape" + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# Resize window (you can also use the mouse for that) +bindsym $mod+r mode "resize" +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 5 px or 5 ppt + bindsym k resize grow height 5 px or 5 ppt + bindsym l resize shrink height 5 px or 5 ppt + bindsym semicolon resize grow width 5 px or 5 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # exit resize mode: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# Autostart applications +exec --no-startup-id nitrogen --restore; sleep 1; compton -b +exec --no-startup-id nm-applet +exec --no-startup-id xfce4-power-manager +exec --no-startup-id pamac-tray +exec --no-startup-id clipit +exec_always --no-startup-id ff-theme-util +exec_always --no-startup-id fix_xcursor +exec_always --no-startup-id /$HOME/.config/polybar/i3wmthemer_bar_launch.sh + +# Theme colors +client.focused #bfbfbf #162025 #bfbfbf #39402e #39402e +client.focused_inactive #bfbfbf #162025 #bfbfbf #75404b #75404b +client.unfocused #bfbfbf #162025 #bfbfbf #75404b #75404b +client.urgent #bfbfbf #162025 #bfbfbf #75404b #75404b +client.placeholder #bfbfbf #162025 #bfbfbf #75404b #75404b + +client.background #162025 + +# Gaps +# smart_gaps on +# gaps inner 10 +# gaps outer -4 + + +# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces. +set $mode_gaps Gaps: (o) outer, (i) inner +set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) +set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) +bindsym $mod+Shift+g mode "$mode_gaps" + +mode "$mode_gaps" { + bindsym o mode "$mode_gaps_outer" + bindsym i mode "$mode_gaps_inner" + bindsym Return mode "default" + bindsym Escape mode "default" +} +mode "$mode_gaps_inner" { + bindsym plus gaps inner current plus 5 + bindsym minus gaps inner current minus 5 + bindsym 0 gaps inner current set 0 + + bindsym Shift+plus gaps inner all plus 5 + bindsym Shift+minus gaps inner all minus 5 + bindsym Shift+0 gaps inner all set 0 + + bindsym Return mode "default" + bindsym Escape mode "default" +} +mode "$mode_gaps_outer" { + bindsym plus gaps outer current plus 5 + bindsym minus gaps outer current minus 5 + bindsym 0 gaps outer current set 0 + + bindsym Shift+plus gaps outer all plus 5 + bindsym Shift+minus gaps outer all minus 5 + bindsym Shift+0 gaps outer all set 0 + + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound + + + +# Sreen brightness controls +bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness +bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness + +exec --no-startup-id volumeicon diff --git a/config/i3/rofi b/config/i3/rofi new file mode 100755 index 0000000..d91d891 --- /dev/null +++ b/config/i3/rofi @@ -0,0 +1,3 @@ +#!/bin/bash +#rofi -modi combi -show combi -combi-modi window,drun,ssh,run -no-levenshtein-sort +rofi -modi combi -show combi -combi-modi window,drun,ssh,run -no-levenshtein-sort -config /home/tyrel/.config/rofi/config.rasi diff --git a/config/i3/rofi_window b/config/i3/rofi_window new file mode 100755 index 0000000..d91d891 --- /dev/null +++ b/config/i3/rofi_window @@ -0,0 +1,3 @@ +#!/bin/bash +#rofi -modi combi -show combi -combi-modi window,drun,ssh,run -no-levenshtein-sort +rofi -modi combi -show combi -combi-modi window,drun,ssh,run -no-levenshtein-sort -config /home/tyrel/.config/rofi/config.rasi diff --git a/config/nvim/init.vim b/config/nvim/init.vim new file mode 100644 index 0000000..8ab210d --- /dev/null +++ b/config/nvim/init.vim @@ -0,0 +1,194 @@ +syntax enable +let mapleader = " " + +call plug#begin('~/.vim/plugged') + Plug 'robertmeta/nofrils' + Plug 'vim-test/vim-test' + Plug 'hashivim/vim-terraform' + Plug 'Yggdroot/indentLine' + Plug 'rmagatti/auto-session' + Plug 'rmagatti/session-lens' + Plug 'ludovicchabant/vim-gutentags' + Plug 'ervandew/supertab' + Plug 'preservim/nerdtree' + Plug 'liuchengxu/space-vim-dark' + Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } + Plug 'junegunn/fzf.vim' + Plug 'mhinz/vim-startify' + Plug 'jeetsukumaran/vim-buffergator' + Plug 'ap/vim-buftabline' + Plug 'airblade/vim-gitgutter' + Plug 'majutsushi/tagbar' + Plug 'vim-airline/vim-airline' + Plug 'enricobacis/vim-airline-clock' + Plug 'nvim-lua/plenary.nvim' + Plug 'nvim-telescope/telescope.nvim' + Plug 'thoughtbot/vim-rspec' + Plug 'voldikss/vim-floaterm' + Plug 'fatih/vim-go' + Plug 'folke/which-key.nvim' + Plug 'whatyouhide/vim-gotham' + Plug 'nanotech/jellybeans.vim' + Plug 'sickill/vim-monokai' + Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} + Plug 'flebel/vim-mypy', { 'for': 'python', 'branch': 'bugfix/fast_parser_is_default_and_only_parser' } + Plug 'tpope/vim-fugitive' + Plug 'tpope/vim-rhubarb' + Plug 'psf/black', { 'branch': 'stable' } + Plug 'gf3/peg.vim' +call plug#end() + +lua << EOF + require("which-key").setup { + } +EOF + +map :NERDTreeToggle +map v :WhichKey + + +set tabstop=2 +set shell=/bin/zsh +set shiftwidth=2 +set expandtab +set hidden +set background=dark +set autoindent +set preserveindent +set copyindent + +" Set Colors +if (has("termguicolors")) + set termguicolors +endif +colorscheme space-vim-dark +hi Comment cterm=italic + +" Relative numbers and when not in buffer set absolute numbers +set number relativenumber +augroup numbertoggle + autocmd! + autocmd BufEnter,FocusGained,InsertLeave * set relativenumber + autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber +augroup END + +" Disable EX Mode +map q: +" Disable EX Mode +nnoremap Q + +nnoremap :bnext +nnoremap :bprev +nmap bq :bp bd # + +" Airline +let g:airline#extensions#clock#format = '%I:%M:%S %X' + +" Find files using Telescope command-line sugar. +nnoremap ff Telescope find_files +nnoremap fg Telescope live_grep +nnoremap fb Telescope buffers +nnoremap fa Ag +" nnoremap ft Telescope help_tags +"lua << EOF +"require('telescope').setup{ +" file_ignore_patterns = {"node_modules","./venv/"}, +"} +"EOF + +" RSpec.vim mappings +map rt :call RunCurrentSpecFile() +map rs :call RunNearestSpec() +map rl :call RunLastSpec() +map ra :call RunAllSpecs() + +" let g:python_host_prog = '~/.nvim.pythonenv2/bin/python' +if exists("$VIRTUAL_ENV") + let g:python3_host_prog=substitute(system("which -a python3 | head -n2 | tail -n1"), "\n", '', 'g') +else + let g:python3_host_prog=substitute(system("which python3"), "\n", '', 'g') +endif + +" Floaterm +let g:floaterm_keymap_toggle = '' +let g:floaterm_width = 0.9 +let g:floaterm_height = 0.9 + + +" Line Numbers +set number relativenumber " Turn line numbering on at startup +noremap :set invnumber invrelativenumber + +"Tagbar +" +noremap :Tagbar +let g:tagbar_autofocus=1 + +" Session Lens +lua < :SearchSession + + +" Syntax Colors +function! SynStack () + for i1 in synstack(line("."), col(".")) + let i2 = synIDtrans(i1) + let n1 = synIDattr(i1, "name") + let n2 = synIDattr(i2, "name") + echo n1 "->" n2 + endfor +endfunction + + +" TreeSitter +lua <gb :.GBrowse + + +" vim-test +nmap t. :TestNearest +nmap tf :TestFile +nmap ts :TestSuite +let test#strategy = "neovim" + +" Mypy +nmap mp :Mypy diff --git a/config/polybar/battery-combined-shell.sh b/config/polybar/battery-combined-shell.sh new file mode 100755 index 0000000..9ded8cc --- /dev/null +++ b/config/polybar/battery-combined-shell.sh @@ -0,0 +1,61 @@ +#!/bin/sh + +path_ac="/sys/class/power_supply/AC" +path_battery_0="/sys/class/power_supply/BAT0" +path_battery_1="/sys/class/power_supply/BAT1" + +ac=0 +battery_level_0=0 +battery_level_1=0 +battery_max_0=0 +battery_max_1=0 + +if [ -f "$path_ac/online" ]; then + ac=$(cat "$path_ac/online") +fi + +if [ -f "$path_battery_0/energy_now" ]; then + battery_level_0=$(cat "$path_battery_0/energy_now") +fi + +if [ -f "$path_battery_0/energy_full" ]; then + battery_max_0=$(cat "$path_battery_0/energy_full") +fi + +if [ -f "$path_battery_1/energy_now" ]; then + battery_level_1=$(cat "$path_battery_1/energy_now") +fi + +if [ -f "$path_battery_1/energy_full" ]; then + battery_max_1=$(cat "$path_battery_1/energy_full") +fi + +battery_level=$(("$battery_level_0 + $battery_level_1")) +battery_max=$(("$battery_max_0 + $battery_max_1")) + +battery_percent=$(("$battery_level * 100")) +battery_percent=$(("$battery_percent / $battery_max")) + +if [ "$ac" -eq 1 ]; then + icon="#1" + + if [ "$battery_percent" -gt 97 ]; then + echo "$icon" + else + echo "$icon $battery_percent %" + fi +else + if [ "$battery_percent" -gt 85 ]; then + icon="#21" + elif [ "$battery_percent" -gt 60 ]; then + icon="#22" + elif [ "$battery_percent" -gt 35 ]; then + icon="#23" + elif [ "$battery_percent" -gt 10 ]; then + icon="#24" + else + icon="#25" + fi + + echo "$icon $battery_percent %" +fi diff --git a/config/polybar/config b/config/polybar/config new file mode 100644 index 0000000..9eb2cc0 --- /dev/null +++ b/config/polybar/config @@ -0,0 +1,162 @@ +[bar/i3wmthemer_bar] +width = 100% +height = 27 +radius = 0 +fixed-center = true + +background = #162025 +foreground = #bfbfbf + +line-size = 3 +line-color = + +border-size = 0 +border-color = + +padding-left = 0 +padding-right = 2 + +module-margin-left = 1 +module-margin-right = 2 + +font-0 = "Source Code Pro Semibold:size=10;1" +font-1 = "Font Awesome 5 Free:style=Solid:size=10;1" +font-2 = "Font Awesome 5 Brands:size=10;1" + +modules-left = i3 +modules-center = date +modules-right = custom-battery wlan powermenu + +tray-position = right +tray-padding = 10 + +cursor-click = pointer +cursor-scroll = ns-resize + +[module/i3] +type = internal/i3 +format = +index-sort = true +wrapping-scroll = false + +label-mode-padding = 2 +label-mode-foreground = #162025 +label-mode-background = #75404b + +label-focused = %index% +label-focused-background = #75404b +label-focused-foreground = #6b7443 +label-focused-padding = 2 + +label-unfocused = %index% +label-unfocused-background = #75404b +label-unfocused-foreground = #162025 +label-unfocused-padding = 2 + +label-visible = %index% +label-visible-background = #75404b +label-visible-foreground = #162025 +label-visible-padding = 2 + +label-urgent = %index% +label-urgent-background = #BA2922 +label-urgent-padding = 2 + +[module/wlan] +type = internal/network +interface = nwlp2s0 +interval = 3.0 + +format-connected = +format-connected-foreground = #162025 +format-connected-background = #39402e +format-connected-padding = 2 +label-connected = %essid% + +format-disconnected = + +ramp-signal-0 =  +ramp-signal-1 =  +ramp-signal-2 =  +ramp-signal-3 =  +ramp-signal-4 =  +ramp-signal-foreground = #162025 + +[module/eth] +type = internal/network +interface = enp0s3 +interval = 3.0 + +format-connected-padding = 2 +format-connected-foreground = #162025 +format-connected-background = #39402e +format-connected-prefix = " " +format-connected-prefix-foreground = #162025 +label-connected = %local_ip% + +format-disconnected = + +[module/date] +type = internal/date +interval = 5 + +date = +date-alt = " %Y-%m-%d" + +time = %H:%M +time-alt = %H:%M:%S + +format-prefix =  +format-foreground = #162025 +format-background = #4c584a +format-padding = 2 + +label = %date% %time% + +[module/powermenu] +type = custom/menu + +expand-right = true + +format-spacing = 1 + +label-open =  +label-open-foreground = #39402e +label-close =  cancel +label-close-foreground = #39402e +label-separator = | +label-separator-foreground = #39402e + +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = power off +menu-0-1-exec = menu-open-2 +menu-0-2 = log off +menu-0-2-exec = menu-open-3 + +menu-1-0 = cancel +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = reboot + +menu-2-0 = power off +menu-2-0-exec = poweroff +menu-2-1 = cancel +menu-2-1-exec = menu-open-0 + +menu-3-0 = log off +menu-3-0-exec = pkill -KILL -u $USER +menu-3-1 = cancel +menu-3-1-exec = menu-open-0 + +[settings] +screenchange-reload = true + +[global/wm] +margin-top = 0 +margin-bottom = 0 + +[module/custom-battery] +type = custom/script +exec = polybar-ab -polybar -thr 10 +tail = true \ No newline at end of file diff --git a/config/polybar/i3wmthemer_bar_launch.sh b/config/polybar/i3wmthemer_bar_launch.sh new file mode 100755 index 0000000..9a4928f --- /dev/null +++ b/config/polybar/i3wmthemer_bar_launch.sh @@ -0,0 +1,7 @@ +#!/bin/env sh + +pkill polybar + +sleep 1; + +polybar i3wmthemer_bar & diff --git a/config/tmuxinator/tidelift.yml b/config/tmuxinator/tidelift.yml new file mode 100644 index 0000000..efdd575 --- /dev/null +++ b/config/tmuxinator/tidelift.yml @@ -0,0 +1,85 @@ +# /home/tyrel/.config/tmuxinator/tidelift.yml + +name: tidelift +root: /code/tidelift + +# Optional tmux socket +# socket_name: foo + +# Note that the pre and post options have been deprecated and will be replaced by +# project hooks. + +# Project hooks + +# Runs on project start, always +# on_project_start: command + +# Run on project start, the first time +# on_project_first_start: command + +# Run on project start, after the first time +# on_project_restart: command + +# Run on project exit ( detaching from tmux session ) +# on_project_exit: command + +# Run on project stop +# on_project_stop: command + +# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions. +pre_window: rbenv shell 2.6.6 + +# Pass command line options to tmux. Useful for specifying a different tmux.conf. +# tmux_options: -f ~/.tmux.mac.conf + +# Change the command to call tmux. This can be used by derivatives/wrappers like byobu. +# tmux_command: byobu + +# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used. +# startup_window: editor + +# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used. +# startup_pane: 2 + +# Controls whether the tmux session should be attached to automatically. Defaults to true. +# attach: false + +windows: + - frontend: + layout: tiled + panes: + - dev: + - cd frontend + - yarn install + - yarn run dev + - git: + - cd frontend + - dependencyci: + layout: tiled + panes: + - puma: + - cd dependencyci + - bundle exec puma -w 1 + - sidekiq: + - cd dependencyci + - bundle exec sidekiq -C config/sidekiq.yml + - git: + - cd dependencyci + - servers: + layout: tiled + panes: + - auth-service: + - cd auth-service + - rbenv shell 2.6.3 + - ruby app.rb + - octo-goggles: + - cd octo-goggles + - rbenv shell 2.6.3 + - ruby app.rb + - subscriber-api: + - cd auth-service + - rbenv shell 2.6.3 + - bundle exec puma config.ru + - artifactory-plugin: + - cd artifactory-plugin + - docker-compose up