From 1098c4f174485996d2503e46c85119c6355ab761 Mon Sep 17 00:00:00 2001 From: drymer Date: Sat, 21 Aug 2021 00:11:16 +0200 Subject: [PATCH] feat: use aconfmgr, brew and stow --- .gitignore | 22 +- .yamllint | 4 - README.md | 59 +- dotfiles/alacritty/.alacritty.yml | 37 + dotfiles/git/.gitconfig | 36 + dotfiles/i3/.compton.conf | 3 + dotfiles/i3/.config/dunst/dunstrc | 49 ++ dotfiles/i3/.config/i3status.conf | 13 + dotfiles/i3/.config/rofi/config | 2 + dotfiles/i3/.i3/config | 247 ++++++ dotfiles/i3/.i3/scripts/autolock.sh | 3 + dotfiles/i3/.i3/scripts/battery | 102 +++ dotfiles/i3/.i3/scripts/date | 13 + dotfiles/i3/.i3/scripts/lock | 34 + dotfiles/i3/.i3/scripts/sensors | 69 ++ dotfiles/i3/.i3/scripts/volume-pulseaudio | 175 ++++ dotfiles/i3/.i3blocks.conf | 45 + dotfiles/shells/.Xmodmap | 260 ++++++ dotfiles/shells/.aliases | 53 ++ dotfiles/shells/.bashrc | 96 +++ dotfiles/shells/.functions | 211 +++++ dotfiles/shells/.zshrc | 94 +++ dotfiles/starship/.config/starship.toml | 38 + .../etc/backup.d/90.rdiff | 33 + .../system-configuration/etc/backupninja.conf | 91 ++ dotfiles/system-configuration/etc/pacman.conf | 98 +++ manage.sh | 72 ++ packages/arch/1-ignore.sh | 18 + packages/arch/10-base.sh | 255 ++++++ packages/arch/15-utils.sh | 60 ++ packages/arch/30-gui.sh | 0 packages/arch/50-media.sh | 0 packages/arch/70-development.sh | 61 ++ packages/arch/90-misc.sh | 32 + packages/brew/Brewfile | 43 + packages/brew/Brewfile.lock.json | 786 ++++++++++++++++++ 36 files changed, 3145 insertions(+), 69 deletions(-) delete mode 100644 .yamllint create mode 100644 dotfiles/alacritty/.alacritty.yml create mode 100644 dotfiles/git/.gitconfig create mode 100644 dotfiles/i3/.compton.conf create mode 100644 dotfiles/i3/.config/dunst/dunstrc create mode 100644 dotfiles/i3/.config/i3status.conf create mode 100644 dotfiles/i3/.config/rofi/config create mode 100644 dotfiles/i3/.i3/config create mode 100755 dotfiles/i3/.i3/scripts/autolock.sh create mode 100755 dotfiles/i3/.i3/scripts/battery create mode 100755 dotfiles/i3/.i3/scripts/date create mode 100755 dotfiles/i3/.i3/scripts/lock create mode 100755 dotfiles/i3/.i3/scripts/sensors create mode 100755 dotfiles/i3/.i3/scripts/volume-pulseaudio create mode 100644 dotfiles/i3/.i3blocks.conf create mode 100644 dotfiles/shells/.Xmodmap create mode 100644 dotfiles/shells/.aliases create mode 100644 dotfiles/shells/.bashrc create mode 100644 dotfiles/shells/.functions create mode 100644 dotfiles/shells/.zshrc create mode 100644 dotfiles/starship/.config/starship.toml create mode 100644 dotfiles/system-configuration/etc/backup.d/90.rdiff create mode 100644 dotfiles/system-configuration/etc/backupninja.conf create mode 100644 dotfiles/system-configuration/etc/pacman.conf create mode 100755 manage.sh create mode 100644 packages/arch/1-ignore.sh create mode 100644 packages/arch/10-base.sh create mode 100644 packages/arch/15-utils.sh create mode 100644 packages/arch/30-gui.sh create mode 100644 packages/arch/50-media.sh create mode 100644 packages/arch/70-development.sh create mode 100644 packages/arch/90-misc.sh create mode 100644 packages/brew/Brewfile create mode 100644 packages/brew/Brewfile.lock.json diff --git a/.gitignore b/.gitignore index bd46cef..f6a456c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,20 +1,2 @@ -.pyc -*cache* -roles/*/molecule/default/.molecule -roles/docker -roles/emacs -roles/emacs-dotfiles -roles/fonts -roles/i3blocks-gaps -roles/i3-gaps -roles/qutebrowser -roles/slim -roles/syncthing -roles/syncthing-inotify -roles/termite -roles/virtualbox -roles/virtualenvwrapper -roles/vte-ng -install-all.retry -molecule/default/.molecule/ -roles/qutebrowser-dotfiles/files/hosts \ No newline at end of file +dotfiles/git/.compartido/Proyectos/*/.gitconfig +dotfiles/git/.compartido/Trabajo/.gitconfig diff --git a/.yamllint b/.yamllint deleted file mode 100644 index 5872a31..0000000 --- a/.yamllint +++ /dev/null @@ -1,4 +0,0 @@ -extends: relaxed -truthy: disable -rules: {line-length: {max: 130}} - diff --git a/README.md b/README.md index e2c5c4b..0a8b161 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,20 @@ -# Proveedor de entorno +# Dotfiles -Este playbook instala lo siguiente: +## TL;DR -- Docker +Script automatizado: -- Emacs +``` sh +# Hacer dump de los paquetes actuales +bash manage.sh packages-bundle +# Actualizar el SO +bash manage.sh packages-update +# Sincronizar los dotfiles +bash manage.sh dotfiles +``` -- Fuentes +## Resumen -- Paquetes de Debian que uso +Mediante aconfmgr, se hace un dump de los paquetes instalados de arch (tanto pacman como yay) para poder gestionar los paquetes de forma declarativa -- i3blocks-gaps - -- i3-gaps - -- Paquetes de Pip que uso - -- Qutebrowser - -- SLim - -- Syncthing - -- Termite - -- Virtualbox - -- Virtualenvwrapper - -Además, también instala mis ficheros de configuración de emacs, i3-wm, qutebrowser y zsh. Básicamente instala todo lo que necesito en un ordenador. - -Para poder usarlo, antes hay que instalar algunas dependencias: - - sudo apt install sudo python-pip git - sudo pip install ansible - -Luego copiamos el repositorio: - - git clone https://git.daemons.it/drymer/dotfiles - -Instalamos los roles que tiene como dependencias: - - cd dotfiles - ansible-galaxy install -r requirements.yml -p roles - -Y solo queda ejecutar el playbook: - - ansible-playbook install-all.yml -K - -Se pueden usar los tags `configuration` o `packages` para instalar solo configuración o paquetes, respectivamente. +Además, se gestionan los dotfiles con stow. diff --git a/dotfiles/alacritty/.alacritty.yml b/dotfiles/alacritty/.alacritty.yml new file mode 100644 index 0000000..096ab22 --- /dev/null +++ b/dotfiles/alacritty/.alacritty.yml @@ -0,0 +1,37 @@ +--- +font: + normal: + family: DejaVu Sans Mono for Powerline + style: Regular + size: 12 + +key_bindings: + - { key: Return, mods: Control|Shift, action: SpawnNewInstance } + +# Colors (Molokai Dark) +colors: + # Default colors + primary: + background: '#1B1D1E' + foreground: '#F8F8F2' + bright: + black: '#666666' + red: '#F92672' + green: '#A6E22E' + yellow: '#E2E22E' + blue: '#819AFF' + magenta: '#AE81FF' + cyan: '#66D9EF' + white: '#F8F8F2' + +scrolling: + history: 10000 + +cursor: + style: + blinking: Always + blink_interval: 100 + shape: Underline + unfocused_hollow: false + +background_opacity: 0.9 diff --git a/dotfiles/git/.gitconfig b/dotfiles/git/.gitconfig new file mode 100644 index 0000000..f379335 --- /dev/null +++ b/dotfiles/git/.gitconfig @@ -0,0 +1,36 @@ +[core] + pager = diff-so-fancy | less --tabs=4 -RFX +[color] + ui = auto +[color "diff-highlight"] + oldNormal = red bold + oldHighlight = red bold 52 + newNormal = green bold + newHighlight = green bold 22 +[color "diff"] + meta = yellow + frag = magenta bold + commit = yellow bold + old = red bold + new = green bold + whitespace = red reverse +[diff-so-fancy] + markEmptyLines = false + changeHunkIndicators = false + stripLeadingSymbols = false + useUnicodeRuler = true +[rerere] + enabled = true +[pull] + rebase = false + +# Esto permite tener un usuario y correo diferente para el trabajo, +# proyectos con mi nombre real y proyectos bajo mi alias +[includeIf "gitdir:~/Trabajo/"] + path = ~/Trabajo/.gitconfig +[includeIf "gitdir:~/.compartido/Trabajo/"] + path = ~/Trabajo/.gitconfig +[includeIf "gitdir:~/.Proyectos/real/"] + path = ~/Proyectos/real/.gitconfig +[includeIf "gitdir:~/.Proyectos/alias/"] + path = ~/Personal/alias/.gitconfig diff --git a/dotfiles/i3/.compton.conf b/dotfiles/i3/.compton.conf new file mode 100644 index 0000000..5ee8223 --- /dev/null +++ b/dotfiles/i3/.compton.conf @@ -0,0 +1,3 @@ +opacity-rule = [ + "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" +]; diff --git a/dotfiles/i3/.config/dunst/dunstrc b/dotfiles/i3/.config/dunst/dunstrc new file mode 100644 index 0000000..37c4577 --- /dev/null +++ b/dotfiles/i3/.config/dunst/dunstrc @@ -0,0 +1,49 @@ +[global] + font = Hack 10 + markup = yes + format = "%s\n%b" + sort = yes + indicate_hidden = yes + alignment = left + bounce_freq = 0 + show_age_threshold = 60 + word_wrap = yes + ignore_newline = no + geometry = "300x5-30+20" + shrink = no + transparency = 0 + idle_threshold = 120 + monitor = 0 + follow = mouse + sticky_history = yes + history_length = 20 + show_indicators = yes + line_height = 0 + separator_height = 2 + padding = 8 + horizontal_padding = 8 + separator_color = frame + startup_notification = false + dmenu = /usr/bin/dmenu -p dunst: + browser = /usr/bin/firefox -new-tab + icon_position = off + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + frame_width = 4 + frame_color = "#98C379" +[shortcuts] + close = ctrl+space + close_all = ctrl+shift+space + history = ctrl+period + context = ctrl+shift+period +[urgency_low] + background = "#282c34" + foreground = "#bbc2cf" + timeout = 10 +[urgency_normal] + background = "#282c34" + foreground = "#bbc2cf" + timeout = 20 +[urgency_critical] + background = "#2B0000" + foreground = "#bbc2cf" + timeout = 0 diff --git a/dotfiles/i3/.config/i3status.conf b/dotfiles/i3/.config/i3status.conf new file mode 100644 index 0000000..c1fb2f2 --- /dev/null +++ b/dotfiles/i3/.config/i3status.conf @@ -0,0 +1,13 @@ +general { + interval = 5 + output_format = none +} + +order += "battery all" + +battery all { + format = "%status %percentage %remaining" + integer_battery_capacity = true + last_full_capacity = true +} + diff --git a/dotfiles/i3/.config/rofi/config b/dotfiles/i3/.config/rofi/config new file mode 100644 index 0000000..dfdbb23 --- /dev/null +++ b/dotfiles/i3/.config/rofi/config @@ -0,0 +1,2 @@ + +rofi.theme: /usr/share/rofi/themes/Monokai.rasi diff --git a/dotfiles/i3/.i3/config b/dotfiles/i3/.i3/config new file mode 100644 index 0000000..b5f6199 --- /dev/null +++ b/dotfiles/i3/.i3/config @@ -0,0 +1,247 @@ +# -*- mode: i3wm-config -*- + +set $color_bad = #CC0000 +set $color_degraded = #EDD400 +set $color_good = #73D216 +set $mod Mod4 + +# Fuente para títulos de ventanas +font pango:DejaVu Sans Mono 10 + +# Usar Ratón+$mod para mover las ventanas flotantes +floating_modifier $mod + +# Display +set $display1 eDP-1 +set $display2 DP-1 + +# volver a la misma ventana que estaba apretando el mismo worskpace +workspace_auto_back_and_forth yes + +# abrir una terminal +bindsym $mod+Return exec alacritty + +# cerrar ventana +bindsym $mod+Shift+Q kill + +# Reinicia i3 +bindsym $mod+Shift+r restart + +# Cambiar foco +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +# Cambiar foco con las flechas +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# Mover de workspace +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right + +# Mover de workspace usando las flechas +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# Cambiar la orientación en horizontal +bindsym $mod+b split h + +# Cambiar la orientación en vertical +bindsym $mod+v split v + +# Fullscreen +bindsym $mod+f fullscreen + +# Cambiar layout +bindsym $mod+y layout stacking +bindsym $mod+a layout default +bindsym $mod+s layout tabbed + +# Cambiar entre tiling / floating +bindsym $mod+Shift+space floating toggle + +# Cambiar foco entre tiling / floating windows +bindsym $mod+space focus mode_toggle + +# Definir 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 +set $ws9 9 +set $ws10 10 + +# Cambiar a 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 +bindsym $mod+9 workspace $ws9 +bindsym $mod+0 workspace $ws10 + +# Mover a workspace +bindsym $mod+Shift+1 move container to workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9 +bindsym $mod+Shift+0 move container to workspace $ws10 + +# Workspace a monitores +workspace $ws1 output $display2 +workspace $ws2 output $display2 +workspace $ws3 output $display1 +workspace $ws4 output $display2 +workspace $ws5 output $display2 +workspace $ws6 output $display2 +workspace $ws7 output $display1 +workspace $ws8 output $display1 +workspace $ws9 output $display1 +workspace $ws10 output $display1 + +# Cambiar tamaño de ventana +mode "Resize" { + # These bindings trigger as soon as you enter the resize mode + bindsym h resize shrink width 2 px or 2 ppt + bindsym j resize grow height 2 px or 2 ppt + bindsym k resize shrink height 2 px or 2 ppt + bindsym l resize grow width 2 px or 2 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 + + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym $mod+r mode "Resize" + +# Barra principal +bar { + font pango:Dyuthi3, Awesome, Icons 10, DejaVu Sans Mono for Powerline 10 + status_command /usr/bin/i3blocks + position top + strip_workspace_numbers yes + i3bar_command i3bar -t + + colors { + background #000000 + separator #000000 + + ###XXX: Details border backgr. text + focused_workspace #990099 #222222 #729FCF + inactive_workspace #222222 #222222 #729FCF + active_workspace #222222 #222222 #729FCF + urgent_workspace #FF0000 #222222 #FF0000 + } +} + +# Bloquear pantalla +bindsym $mod+Control+l exec --no-startup-id ~/.i3/scripts/lock, mode "default" + +# Seleccionar padre +bindsym $mod+i focus parent + +# Seleccionar hijo +bindsym $mod+o focus child + +# evitar titulos feos +new_window pixel + +# Colors de las ventanas +# class border backgr text indicator +client.focused #990099 #222222 #ffffff #729FCF +client.focused_inactive #222222 #222222 #ffffff #729FCF +client.unfocused #222222 #222222 #ffffff #729FCF +client.urgent #FF0000 #8C5665 #ffffff #FF0000 + +# Wallpaper +exec --no-startup-id feh --bg-scale ~/.compartido/Imagenes/arch.jpg + +# Autostart +exec --no-startup-id bash ~/.xinitrc +exec --no-startup-id bash ~/.i3/scripts/autolock.sh +exec --no-startup-id parcellite +exec --no-startup-id compton +exec --no-startup-id dunst +exec --no-startup-id xcape +exec --no-startup-id redshift -l 40.25:03.45 -t 5700:3600 -g 0.8 -m randr +exec --no-startup-id pactl set-sink-volume 0 50% +exec --no-startup-id setxkbmap us -variant altgr-intl +exec --no-startup-id firefox +exec --no-startup-id emacs + +# Mover programas automáticamente a workspace +assign [class="(?i)firefox"] $ws2 +assign [class="(?i)tor"] $ws2 +assign [class="(?i)chromium"] $ws2 +assign [class="(?i)qutebrowser"] $ws2 +assign [title="Steam"] $ws7 +assign [title="spotify"] $ws7 +assign [class="(?i)mumble"] $ws8 +assign [class="(?i)transmission"] $ws8 +assign [class="(?i)thunderbird"] $ws9 +assign [title="mutt"] $ws9 + +# Hacer ventanas flotantes automáticamente +for_window [window_role="Preferences"] floating enable +for_window [window_role="help-browser"] floating enable +for_window [class="(?i)xcalc"] floating enable +for_window [window_role="pop-up"] floating enable +for_window [window_role="About"] floating enable +for_window [class="(?i)wicd"] floating enable +for_window [class="(?i)feh"] floating enable +for_window [class="Progreso de operación de archivo"] floating enable +for_window [title="textarea"] floating enable +for_window [title="qutebrowser-editor"] floating enable +for_window [title="Dispositivos Bluetooth"] floating enable +for_window [title="SM-J710F"] floating enable + +# i3-gaps +smart_borders on + +# Popups en pantalla completa +popup_during_fullscreen smart + +# El foco no lo decide el ratón +focus_follows_mouse no + +# Scratchpad +bindsym $mod+Shift+p move scratchpad +bindsym $mod+p scratchpad show + +# keybinds varios +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% +bindsym XF86AudioMute exec --no-startup-id ~/.i3/scripts/audio-mute +bindsym XF86AudioMicMute exec --no-startup-id ~/.i3/scripts/microphone-mute + +# arrancar launcher +bindsym $mod+d exec --no-startup-id zsh -c "PATH=$PATH:$HOME/bin rofi -show run" +# emacs anywhere +bindsym $mod+e exec --no-startup-id zsh -c "$HOME/.emacs_anywhere/bin/run" diff --git a/dotfiles/i3/.i3/scripts/autolock.sh b/dotfiles/i3/.i3/scripts/autolock.sh new file mode 100755 index 0000000..d51b992 --- /dev/null +++ b/dotfiles/i3/.i3/scripts/autolock.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +xautolock -time 10 -locker "~/.i3/scripts/lock" & diff --git a/dotfiles/i3/.i3/scripts/battery b/dotfiles/i3/.i3/scripts/battery new file mode 100755 index 0000000..150c193 --- /dev/null +++ b/dotfiles/i3/.i3/scripts/battery @@ -0,0 +1,102 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2016 James Murphy +# Licensed under the GPL version 2 only +# +# A battery indicator blocklet script for i3blocks + +import re +from subprocess import check_output + +status = check_output(['acpi'], universal_newlines=True) + +if not status: + # stands for no battery found + fulltext = "\uf00d \uf240" + percentleft = 100 +else: + # if there is more than one battery in one laptop, the percentage left is + # available for each battery separately, although state and remaining + # time for overall block is shown in the status of the first battery + batteries = status.split("\n") + state_batteries=[] + commasplitstatus_batteries=[] + percentleft_batteries=[] + time = "" + for battery in batteries: + if battery!='': + state_batteries.append(battery.split(": ")[1].split(", ")[0]) + commasplitstatus = battery.split(", ") + if not time: + time = commasplitstatus[-1].strip() + # check if it matches a time + time = re.match(r"(\d+):(\d+)", time) + if time: + time = ":".join(time.groups()) + timeleft = " ({})".format(time) + else: + timeleft = "" + + p = int(commasplitstatus[1].rstrip("%\n")) + if p>0: + percentleft_batteries.append(p) + commasplitstatus_batteries.append(commasplitstatus) + state = state_batteries[0] + commasplitstatus = commasplitstatus_batteries[0] + if percentleft_batteries: + percentleft = int(sum(percentleft_batteries)/len(percentleft_batteries)) + else: + percentleft = 0 + + # stands for charging + FA_LIGHTNING = "\uf0e7" + + # stands for plugged in + FA_PLUG = "\uf1e6" + + # stands for using battery + FA_BATTERY = "\uf240" + + # stands for unknown status of battery + FA_QUESTION = "\uf128" + + + if state == "Discharging": + fulltext = FA_BATTERY + " " + elif state == "Full": + fulltext = FA_PLUG + " " + timeleft = "" + elif state == "Unknown": + fulltext = FA_BATTERY + " " + timeleft = "" + else: + fulltext = FA_LIGHTNING + " " + FA_PLUG + " " + + def color(percent): + if percent < 10: + # exit code 33 will turn background red + return "#FFFFFF" + if percent < 20: + return "#FF3300" + if percent < 30: + return "#FF6600" + if percent < 40: + return "#FF9900" + if percent < 50: + return "#FFCC00" + if percent < 60: + return "#FFFF00" + if percent < 70: + return "#FFFF33" + if percent < 80: + return "#FFFF66" + return "#FFFFFF" + + form = '{}%' + fulltext += form.format(color(percentleft), percentleft) + fulltext += timeleft + +print(fulltext) +print(fulltext) +if percentleft < 10: + exit(33) diff --git a/dotfiles/i3/.i3/scripts/date b/dotfiles/i3/.i3/scripts/date new file mode 100755 index 0000000..c5565cd --- /dev/null +++ b/dotfiles/i3/.i3/scripts/date @@ -0,0 +1,13 @@ +#!/bin/sh + +time='  '"$(date '+%H:%M:%S') " +date=' '"$(date '+%d/%m/%Y')" + +case $BLOCK_BUTTON in + 1) notify-send -u low "$date" ;; + 3) notify-send -u low "$date" ;; +esac + +echo -n "$time" + +exit 0 diff --git a/dotfiles/i3/.i3/scripts/lock b/dotfiles/i3/.i3/scripts/lock new file mode 100755 index 0000000..31cbdb1 --- /dev/null +++ b/dotfiles/i3/.i3/scripts/lock @@ -0,0 +1,34 @@ +#!/bin/bash + +sleep 0.01 +# i3lock blurred screen inspired by /u/patopop007 and the blog post +# http://plankenau.com/blog/post-10/gaussianlock + +# Timings are on an Intel i7-2630QM @ 2.00GHz + +# Dependencies: +# imagemagick +# i3lock +# scrot (optional but default) + +IMAGE=/tmp/i3lock.png +SCREENSHOT="scrot $IMAGE" # 0.46s + +# Alternate screenshot method with imagemagick. NOTE: it is much slower +# SCREENSHOT="import -window root $IMAGE" # 1.35s + +# Here are some imagemagick blur types +# Uncomment one to use, if you have multiple, the last one will be used + +# All options are here: http://www.imagemagick.org/Usage/blur/#blur_args +BLURTYPE="0x5" # 7.52s +#BLURTYPE="0x2" # 4.39s +#BLURTYPE="5x2" # 3.80s +#BLURTYPE="2x8" # 2.90s +#BLURTYPE="2x3" # 2.92s + +# Get the screenshot, add the blur and lock the screen with it +$SCREENSHOT +convert $IMAGE -blur $BLURTYPE $IMAGE +i3lock -i $IMAGE +rm $IMAGE diff --git a/dotfiles/i3/.i3/scripts/sensors b/dotfiles/i3/.i3/scripts/sensors new file mode 100755 index 0000000..9c659d4 --- /dev/null +++ b/dotfiles/i3/.i3/scripts/sensors @@ -0,0 +1,69 @@ +#!/usr/bin/env perl +# Copyright 2014 Pierre Mavro +# Copyright 2014 Vivien Didelot +# Copyright 2014 Andreas Guldstrand +# Copyright 2014 Benjamin Chretien + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +use strict; +use warnings; +use utf8; +use Getopt::Long; + +binmode(STDOUT, ":utf8"); + +# default values +my $t_warn = $ENV{T_WARN} || 70; +my $t_crit = $ENV{T_CRIT} || 90; +my $chip = $ENV{SENSOR_CHIP} || ""; +my $temperature = -9999; + +sub help { + print "Usage: temperature [-w ] [-c ] [--chip ]\n"; + print "-w : warning threshold to become yellow\n"; + print "-c : critical threshold to become red\n"; + print "--chip : sensor chip\n"; + exit 0; +} + +GetOptions("help|h" => \&help, + "w=i" => \$t_warn, + "c=i" => \$t_crit, + "chip=s" => \$chip); + +# Get chip temperature +open (SENSORS, "sensors -u $chip |") or die; +while () { + if (/^\s+temp1_input:\s+[\+]*([\-]*\d+\.\d)/) { + $temperature = $1; + last; + } +} +close(SENSORS); + +$temperature eq -9999 and die 'Cannot find temperature'; + +# Print short_text, full_text +print "$temperature°C\n"; + +# Print color, if needed +if ($temperature >= $t_crit) { + print "#FF0000\n"; + exit 33; +} elsif ($temperature >= $t_warn) { + print "#FFFC00\n"; +} + +exit 0; diff --git a/dotfiles/i3/.i3/scripts/volume-pulseaudio b/dotfiles/i3/.i3/scripts/volume-pulseaudio new file mode 100755 index 0000000..ad1b2d1 --- /dev/null +++ b/dotfiles/i3/.i3/scripts/volume-pulseaudio @@ -0,0 +1,175 @@ +#!/bin/bash +# Displays the default device, volume, and mute status for i3blocks + +set -a + +AUDIO_HIGH_SYMBOL=${AUDIO_HIGH_SYMBOL:-' '} + +AUDIO_MED_THRESH=${AUDIO_MED_THRESH:-50} +AUDIO_MED_SYMBOL=${AUDIO_MED_SYMBOL:-' '} + +AUDIO_LOW_THRESH=${AUDIO_LOW_THRESH:-0} +AUDIO_LOW_SYMBOL=${AUDIO_LOW_SYMBOL:-' '} + +AUDIO_MUTED_SYMBOL=${AUDIO_MUTED_SYMBOL:-' '} + +AUDIO_DELTA=${AUDIO_DELTA:-5} + +DEFAULT_COLOR=${DEFAULT_COLOR:-"#ffffff"} +MUTED_COLOR=${MUTED_COLOR:-"#a0a0a0"} + +LONG_FORMAT=${LONG_FORMAT:-'${SYMB} ${VOL}% [${INDEX}:${NAME}]'} +SHORT_FORMAT=${SHORT_FORMAT:-'${SYMB} ${VOL}% [${INDEX}]'} +USE_ALSA_NAME=${USE_ALSA_NAME:-0} +USE_DESCRIPTION=${USE_DESCRIPTION:-0} + +SUBSCRIBE=${SUBSCRIBE:-0} + +MIXER=${MIXER:-""} +SCONTROL=${SCONTROL:-""} + +while getopts F:Sf:adH:M:L:X:T:t:C:c:i:m:s:h opt; do + case "$opt" in + S) SUBSCRIBE=1 ;; + F) LONG_FORMAT="$OPTARG" ;; + f) SHORT_FORMAT="$OPTARG" ;; + a) USE_ALSA_NAME=1 ;; + d) USE_DESCRIPTION=1 ;; + H) AUDIO_HIGH_SYMBOL="$OPTARG" ;; + M) AUDIO_MED_SYMBOL="$OPTARG" ;; + L) AUDIO_LOW_SYMBOL="$OPTARG" ;; + X) AUDIO_MUTED_SYMBOL="$OPTARG" ;; + T) AUDIO_MED_THRESH="$OPTARG" ;; + t) AUDIO_LOW_THRESH="$OPTARG" ;; + C) DEFAULT_COLOR="$OPTARG" ;; + c) MUTED_COLOR="$OPTARG" ;; + i) AUDIO_INTERVAL="$OPTARG" ;; + m) MIXER="$OPTARG" ;; + s) SCONTROL="$OPTARG" ;; + h) printf \ +"Usage: volume-pulseaudio [-S] [-F format] [-f format] [-p] [-a|-d] [-H symb] [-M symb] + [-L symb] [-X symb] [-T thresh] [-t thresh] [-C color] [-c color] [-i inter] + [-m mixer] [-s scontrol] [-h] +Options: +-F, -f\tOutput format (-F long format, -f short format) to use, with exposed variables: +\${SYMB}, \${VOL}, \${INDEX}, \${NAME} +-S\tSubscribe to volume events (requires persistent block, always uses long format) +-a\tUse ALSA name if possible +-d\tUse device description instead of name if possible +-H\tSymbol to use when audio level is high. Default: '$AUDIO_HIGH_SYMBOL' +-M\tSymbol to use when audio level is medium. Default: '$AUDIO_MED_SYMBOL' +-L\tSymbol to use when audio level is low. Default: '$AUDIO_LOW_SYMBOL' +-X\tSymbol to use when audio is muted. Default: '$AUDIO_MUTED_SYMBOL' +-T\tThreshold for medium audio level. Default: $AUDIO_MED_THRESH +-t\tThreshold for low audio level. Default: $AUDIO_LOW_THRESH +-C\tColor for non-muted audio. Default: $DEFAULT_COLOR +-c\tColor for muted audio. Default: $MUTED_COLOR +-i\tInterval size of volume increase/decrease. Default: $AUDIO_DELTA +-m\tUse the given mixer. +-s\tUse the given scontrol. +-h\tShow this help text +" && exit 0;; + esac +done + +if [[ -z "$MIXER" ]] ; then + MIXER="default" + if amixer -D pulse info >/dev/null 2>&1 ; then + MIXER="pulse" + fi +fi + +if [[ -z "$SCONTROL" ]] ; then + SCONTROL=$(amixer -D "$MIXER" scontrols | sed -n "s/Simple mixer control '\([^']*\)',0/\1/p" | head -n1) +fi + +CAPABILITY=$(amixer -D $MIXER get $SCONTROL | sed -n "s/ Capabilities:.*cvolume.*/Capture/p") + + +function move_sinks_to_new_default { + DEFAULT_SINK=$1 + pacmd list-sink-inputs | grep index: | grep -o '[0-9]\+' | while read SINK + do + pacmd move-sink-input $SINK $DEFAULT_SINK + done +} + +function set_default_playback_device_next { + inc=${1:-1} + num_devices=$(pacmd list-sinks | grep -c index:) + sink_arr=($(pacmd list-sinks | grep index: | grep -o '[0-9]\+')) + default_sink_index=$(( $(pacmd list-sinks | grep index: | grep -no '*' | grep -o '^[0-9]\+') - 1 )) + default_sink_index=$(( ($default_sink_index + $num_devices + $inc) % $num_devices )) + default_sink=${sink_arr[$default_sink_index]} + pacmd set-default-sink $default_sink + move_sinks_to_new_default $default_sink +} + +case "$BLOCK_BUTTON" in + 1) set_default_playback_device_next ;; + 2) amixer -q -D $MIXER sset $SCONTROL $CAPABILITY toggle ;; + 3) set_default_playback_device_next -1 ;; + 4) amixer -q -D $MIXER sset $SCONTROL $CAPABILITY $AUDIO_DELTA%+ ;; + 5) amixer -q -D $MIXER sset $SCONTROL $CAPABILITY $AUDIO_DELTA%- ;; +esac + +function print_format { + echo "$1" | envsubst '${SYMB}${VOL}${INDEX}${NAME}' +} + +function print_block { + ACTIVE=$(pacmd list-sinks | grep "state\: RUNNING" -B4 -A7 | grep "index:\|name:\|volume: front\|muted:") + [ -z "$ACTIVE" ] && ACTIVE=$(pacmd list-sinks | grep "index:\|name:\|volume: front\|muted:" | grep -A3 '*') + for name in INDEX NAME VOL MUTED; do + read $name + done < <(echo "$ACTIVE") + INDEX=$(echo "$INDEX" | grep -o '[0-9]\+') + VOL=$(echo "$VOL" | grep -o "[0-9]*%" | head -1 ) + VOL="${VOL%?}" + + NAME=$(echo "$NAME" | sed \ +'s/.*<.*\.\(.*\)>.*/\1/; t;'\ +'s/.*<\(.*\)>.*/\1/; t;'\ +'s/.*/unknown/') + + if [[ $USE_ALSA_NAME == 1 ]] ; then + ALSA_NAME=$(pacmd list-sinks |\ +awk '/^\s*\*/{f=1}/^\s*index:/{f=0}f' |\ +grep "alsa.name\|alsa.mixer_name" |\ +head -n1 |\ +sed 's/.*= "\(.*\)".*/\1/') + NAME=${ALSA_NAME:-$NAME} + elif [[ $USE_DESCRIPTION == 1 ]] ; then + DESCRIPTION=$(pacmd list-sinks |\ +awk '/^\s*\*/{f=1}/^\s*index:/{f=0}f' |\ +grep "device.description" |\ +head -n1 |\ +sed 's/.*= "\(.*\)".*/\1/') + NAME=${DESCRIPTION:-$NAME} + fi + + if [[ $MUTED =~ "no" ]] ; then + SYMB=$AUDIO_HIGH_SYMBOL + [[ $VOL -le $AUDIO_MED_THRESH ]] && SYMB=$AUDIO_MED_SYMBOL + [[ $VOL -le $AUDIO_LOW_THRESH ]] && SYMB=$AUDIO_LOW_SYMBOL + COLOR=$DEFAULT_COLOR + else + SYMB=$AUDIO_MUTED_SYMBOL + COLOR=$MUTED_COLOR + fi + + if [[ $SUBSCRIBE == 1 ]] ; then + print_format "$LONG_FORMAT" + else + print_format "$LONG_FORMAT" + print_format "$SHORT_FORMAT" + echo "$COLOR" + fi +} + +print_block +if [[ $SUBSCRIBE == 1 ]] ; then + while read -r EVENT; do + print_block + done < <(pactl subscribe | stdbuf -oL grep change) +fi diff --git a/dotfiles/i3/.i3blocks.conf b/dotfiles/i3/.i3blocks.conf new file mode 100644 index 0000000..c5334e0 --- /dev/null +++ b/dotfiles/i3/.i3blocks.conf @@ -0,0 +1,45 @@ +separator=false +separator_block_width=5 +border_top=0 +border_left=0 +border_right=0 +border_bottom=2 + +[volume] +command=$HOME/.i3/scripts/volume-pulseaudio | cut -d '[' -f1 +interval=5 +signal=1 +markup=pango +border=#cc241d + +[temperature] +label=  +command=$HOME/.i3/scripts/sensors +interval=5 +border=#b16286 + +# [weather] +# command=$HOME/.i3/scripts/weather +# interval=60 +# border=#198981 + +[wireless] +label=  +command=[[ -z "$(iwgetid -r)" ]] || echo "$(iwgetid -r) " +interval=2 +border=#98971a + +[battery] +command=$HOME/.i3/scripts/battery +interval=30 +markup=pango +LABEL=⚡ +BAT_NUMBER=0 +border=#458588 + +[time] +command=echo "`date +'%a %d %b'` `date +'%T'` " +interval=1 +markup=pango +border=#928374 +separator_block_width=0 diff --git a/dotfiles/shells/.Xmodmap b/dotfiles/shells/.Xmodmap new file mode 100644 index 0000000..3096ce5 --- /dev/null +++ b/dotfiles/shells/.Xmodmap @@ -0,0 +1,260 @@ +keycode 8 = +keycode 9 = Escape NoSymbol Escape +keycode 10 = 1 exclam 1 exclam bar exclamdown bar +keycode 11 = 2 quotedbl 2 quotedbl at oneeighth at +keycode 12 = 3 periodcentered 3 periodcentered numbersign sterling numbersign +keycode 13 = 4 dollar 4 dollar asciitilde dollar asciitilde +keycode 14 = 5 percent 5 percent onehalf threeeighths onehalf +keycode 15 = 6 ampersand 6 ampersand notsign fiveeighths notsign +keycode 16 = 7 slash 7 slash braceleft seveneighths braceleft +keycode 17 = 8 parenleft 8 parenleft bracketleft trademark bracketleft +keycode 18 = 9 parenright 9 parenright bracketright plusminus bracketright +keycode 19 = 0 equal 0 equal braceright degree braceright +keycode 20 = apostrophe question apostrophe question backslash questiondown backslash +keycode 21 = exclamdown questiondown exclamdown questiondown dead_tilde asciitilde dead_tilde +keycode 22 = BackSpace BackSpace BackSpace BackSpace NoSymbol NoSymbol Terminate_Server +keycode 23 = Tab ISO_Left_Tab Tab ISO_Left_Tab +keycode 24 = q Q q Q at Greek_OMEGA at +keycode 25 = w W w W lstroke Lstroke lstroke +keycode 26 = e E e E EuroSign cent EuroSign +keycode 27 = r R r R paragraph registered paragraph +keycode 28 = t T t T tslash Tslash tslash +keycode 29 = y Y y Y leftarrow yen leftarrow +keycode 30 = u U u U downarrow uparrow downarrow +keycode 31 = i I i I rightarrow idotless rightarrow +keycode 32 = o O o O oslash Oslash oslash +keycode 33 = p P p P thorn THORN thorn +keycode 34 = dead_grave dead_circumflex dead_grave dead_circumflex bracketleft dead_abovering bracketleft +keycode 35 = plus asterisk plus asterisk bracketright dead_macron bracketright +keycode 36 = Return NoSymbol Return +keycode 37 = Control_L NoSymbol Control_L +keycode 38 = a A a A ae AE ae +keycode 39 = s S s S ssharp section ssharp +keycode 40 = d D d D eth ETH eth +keycode 41 = f F f F dstroke ordfeminine dstroke +keycode 42 = g G g G eng ENG eng +keycode 43 = h H h H hstroke Hstroke hstroke +keycode 44 = j J j J dead_hook dead_horn dead_hook +keycode 45 = k K k K kra ampersand kra +keycode 46 = l L l L lstroke Lstroke lstroke +keycode 47 = ntilde Ntilde ntilde Ntilde asciitilde dead_doubleacute asciitilde +keycode 48 = dead_acute dead_diaeresis dead_acute dead_diaeresis braceleft braceleft braceleft +keycode 49 = masculine ordfeminine masculine ordfeminine backslash backslash backslash +keycode 50 = Shift_L NoSymbol Shift_L +keycode 51 = ccedilla Ccedilla ccedilla Ccedilla braceright dead_breve braceright +keycode 52 = z Z z Z guillemotleft less guillemotleft +keycode 53 = x X x X guillemotright greater guillemotright +keycode 54 = c C c C cent copyright cent +keycode 55 = v V v V leftdoublequotemark leftsinglequotemark leftdoublequotemark +keycode 56 = b B b B rightdoublequotemark rightsinglequotemark rightdoublequotemark +keycode 57 = n N n N n N n +keycode 58 = m M m M mu masculine mu +keycode 59 = comma semicolon comma semicolon horizconnector multiply horizconnector +keycode 60 = period colon period colon periodcentered division periodcentered +keycode 61 = minus underscore minus underscore dead_belowdot dead_abovedot dead_belowdot +keycode 62 = Shift_R NoSymbol Shift_R +keycode 63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab +keycode 64 = Alt_L Meta_L Alt_L Meta_L +keycode 65 = space NoSymbol space +keycode 66 = Caps_Lock NoSymbol Caps_Lock +keycode 67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1 +keycode 68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2 +keycode 69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3 +keycode 70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4 +keycode 71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5 +keycode 72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6 +keycode 73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7 +keycode 74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8 +keycode 75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9 +keycode 76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10 +keycode 77 = Num_Lock NoSymbol Num_Lock +keycode 78 = Scroll_Lock NoSymbol Scroll_Lock +keycode 79 = KP_Home 7 KP_Home 7 +keycode 80 = KP_Up 8 KP_Up 8 +keycode 81 = KP_Prior 9 KP_Prior 9 +keycode 82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode +keycode 83 = KP_Left 4 KP_Left 4 +keycode 84 = KP_Begin 5 KP_Begin 5 +keycode 85 = KP_Right 6 KP_Right 6 +keycode 86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86Next_VMode +keycode 87 = KP_End 1 KP_End 1 +keycode 88 = KP_Down 2 KP_Down 2 +keycode 89 = KP_Next 3 KP_Next 3 +keycode 90 = KP_Insert 0 KP_Insert 0 +keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal +keycode 92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift +keycode 93 = +keycode 94 = less greater less greater bar brokenbar bar +keycode 95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11 +keycode 96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12 +keycode 97 = +keycode 98 = Katakana NoSymbol Katakana +keycode 99 = Hiragana NoSymbol Hiragana +keycode 100 = Henkan_Mode NoSymbol Henkan_Mode +keycode 101 = Hiragana_Katakana NoSymbol Hiragana_Katakana +keycode 102 = Muhenkan NoSymbol Muhenkan +keycode 103 = +keycode 104 = KP_Enter NoSymbol KP_Enter +keycode 105 = Control_R NoSymbol Control_R +keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab +keycode 107 = Print Sys_Req Print Sys_Req +keycode 108 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift +keycode 109 = Linefeed NoSymbol Linefeed +keycode 110 = Home NoSymbol Home +keycode 111 = Up NoSymbol Up +keycode 112 = Prior NoSymbol Prior +keycode 113 = Left NoSymbol Left +keycode 114 = Right NoSymbol Right +keycode 115 = End NoSymbol End +keycode 116 = Down NoSymbol Down +keycode 117 = Next NoSymbol Next +keycode 118 = Insert NoSymbol Insert +keycode 119 = Delete NoSymbol Delete +keycode 120 = +keycode 121 = XF86AudioMute NoSymbol XF86AudioMute +keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume +keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume +keycode 124 = XF86PowerOff NoSymbol XF86PowerOff +keycode 125 = KP_Equal NoSymbol KP_Equal +keycode 126 = plusminus NoSymbol plusminus +keycode 127 = Pause Break Pause Break +keycode 128 = XF86LaunchA NoSymbol XF86LaunchA +keycode 129 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal +keycode 130 = Hangul NoSymbol Hangul +keycode 131 = Hangul_Hanja NoSymbol Hangul_Hanja +keycode 132 = +keycode 133 = Super_L NoSymbol Super_L +keycode 134 = Super_R NoSymbol Super_R +keycode 135 = Super_L NoSymbol Super_L +keycode 136 = Cancel NoSymbol Cancel +keycode 137 = Redo NoSymbol Redo +keycode 138 = SunProps NoSymbol SunProps +keycode 139 = Undo NoSymbol Undo +keycode 140 = SunFront NoSymbol SunFront +keycode 141 = XF86Copy NoSymbol XF86Copy +keycode 142 = SunOpen NoSymbol SunOpen +keycode 143 = XF86Paste NoSymbol XF86Paste +keycode 144 = Find NoSymbol Find +keycode 145 = XF86Cut NoSymbol XF86Cut +keycode 146 = Help NoSymbol Help +keycode 147 = XF86MenuKB NoSymbol XF86MenuKB +keycode 148 = XF86Calculator NoSymbol XF86Calculator +keycode 149 = +keycode 150 = XF86Sleep NoSymbol XF86Sleep +keycode 151 = XF86WakeUp NoSymbol XF86WakeUp +keycode 152 = XF86Explorer NoSymbol XF86Explorer +keycode 153 = XF86Send NoSymbol XF86Send +keycode 154 = +keycode 155 = XF86Xfer NoSymbol XF86Xfer +keycode 156 = XF86Launch1 NoSymbol XF86Launch1 +keycode 157 = XF86Launch2 NoSymbol XF86Launch2 +keycode 158 = XF86WWW NoSymbol XF86WWW +keycode 159 = XF86DOS NoSymbol XF86DOS +keycode 160 = XF86ScreenSaver NoSymbol XF86ScreenSaver +keycode 161 = +keycode 162 = XF86RotateWindows NoSymbol XF86RotateWindows +keycode 163 = XF86Mail NoSymbol XF86Mail +keycode 164 = XF86Favorites NoSymbol XF86Favorites +keycode 165 = XF86MyComputer NoSymbol XF86MyComputer +keycode 166 = XF86Back NoSymbol XF86Back +keycode 167 = XF86Forward NoSymbol XF86Forward +keycode 168 = +keycode 169 = XF86Eject NoSymbol XF86Eject +keycode 170 = XF86Eject XF86Eject XF86Eject XF86Eject +keycode 171 = XF86AudioNext NoSymbol XF86AudioNext +keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause +keycode 173 = XF86AudioPrev NoSymbol XF86AudioPrev +keycode 174 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject +keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord +keycode 176 = XF86AudioRewind NoSymbol XF86AudioRewind +keycode 177 = XF86Phone NoSymbol XF86Phone +keycode 178 = +keycode 179 = XF86Tools NoSymbol XF86Tools +keycode 180 = XF86HomePage NoSymbol XF86HomePage +keycode 181 = XF86Reload NoSymbol XF86Reload +keycode 182 = XF86Close NoSymbol XF86Close +keycode 183 = +keycode 184 = +keycode 185 = XF86ScrollUp NoSymbol XF86ScrollUp +keycode 186 = XF86ScrollDown NoSymbol XF86ScrollDown +keycode 187 = parenleft NoSymbol parenleft +keycode 188 = parenright NoSymbol parenright +keycode 189 = XF86New NoSymbol XF86New +keycode 190 = Redo NoSymbol Redo +keycode 191 = XF86Tools NoSymbol XF86Tools +keycode 192 = XF86Launch5 NoSymbol XF86Launch5 +keycode 193 = XF86Launch6 NoSymbol XF86Launch6 +keycode 194 = XF86Launch7 NoSymbol XF86Launch7 +keycode 195 = XF86Launch8 NoSymbol XF86Launch8 +keycode 196 = XF86Launch9 NoSymbol XF86Launch9 +keycode 197 = +keycode 198 = +keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle +keycode 200 = XF86TouchpadOn NoSymbol XF86TouchpadOn +keycode 201 = XF86TouchpadOff NoSymbol XF86TouchpadOff +keycode 202 = +keycode 203 = Mode_switch NoSymbol Mode_switch +keycode 204 = NoSymbol Alt_L NoSymbol Alt_L +keycode 205 = NoSymbol Meta_L NoSymbol Meta_L +keycode 206 = NoSymbol Super_L NoSymbol Super_L +keycode 207 = NoSymbol Hyper_L NoSymbol Hyper_L +keycode 208 = XF86AudioPlay NoSymbol XF86AudioPlay +keycode 209 = XF86AudioPause NoSymbol XF86AudioPause +keycode 210 = XF86Launch3 NoSymbol XF86Launch3 +keycode 211 = XF86Launch4 NoSymbol XF86Launch4 +keycode 212 = XF86LaunchB NoSymbol XF86LaunchB +keycode 213 = XF86Suspend NoSymbol XF86Suspend +keycode 214 = XF86Close NoSymbol XF86Close +keycode 215 = XF86AudioPlay NoSymbol XF86AudioPlay +keycode 216 = XF86AudioForward NoSymbol XF86AudioForward +keycode 217 = +keycode 218 = Print NoSymbol Print +keycode 219 = +keycode 220 = XF86WebCam NoSymbol XF86WebCam +keycode 221 = +keycode 222 = +keycode 223 = XF86Mail NoSymbol XF86Mail +keycode 224 = XF86Messenger NoSymbol XF86Messenger +keycode 225 = XF86Search NoSymbol XF86Search +keycode 226 = XF86Go NoSymbol XF86Go +keycode 227 = XF86Finance NoSymbol XF86Finance +keycode 228 = XF86Game NoSymbol XF86Game +keycode 229 = XF86Shop NoSymbol XF86Shop +keycode 230 = +keycode 231 = Cancel NoSymbol Cancel +keycode 232 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown +keycode 233 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp +keycode 234 = XF86AudioMedia NoSymbol XF86AudioMedia +keycode 235 = XF86Display NoSymbol XF86Display +keycode 236 = XF86KbdLightOnOff NoSymbol XF86KbdLightOnOff +keycode 237 = XF86KbdBrightnessDown NoSymbol XF86KbdBrightnessDown +keycode 238 = XF86KbdBrightnessUp NoSymbol XF86KbdBrightnessUp +keycode 239 = XF86Send NoSymbol XF86Send +keycode 240 = XF86Reply NoSymbol XF86Reply +keycode 241 = XF86MailForward NoSymbol XF86MailForward +keycode 242 = XF86Save NoSymbol XF86Save +keycode 243 = XF86Documents NoSymbol XF86Documents +keycode 244 = XF86Battery NoSymbol XF86Battery +keycode 245 = XF86Bluetooth NoSymbol XF86Bluetooth +keycode 246 = XF86WLAN NoSymbol XF86WLAN +keycode 247 = +keycode 248 = +keycode 249 = +keycode 250 = +keycode 251 = +keycode 252 = +keycode 253 = +keycode 254 = +keycode 255 = +! +! Swap Caps_Lock and Control_L +! +remove Lock = Caps_Lock +remove Control = Control_L +keysym Control_L = Caps_Lock +keysym Caps_Lock = Control_L +add Lock = Caps_Lock +add Control = Control_L +! +! Arreglar las putas ctrl + flechas +! diff --git a/dotfiles/shells/.aliases b/dotfiles/shells/.aliases new file mode 100644 index 0000000..e69b88a --- /dev/null +++ b/dotfiles/shells/.aliases @@ -0,0 +1,53 @@ +# Generic +alias rm="$HOME/bin/safer.sh" +alias ipcurl='curl icanhazip.com && curl --silent https://geoiptool.com/|grep maker_country | cut -d" " -f5 | cut -d"<" -f1 | head -n1' +alias toripcurl='torify curl icanhazip.com && torify curl --silent http://geoiptool.com/|grep maker_country | cut -d" " -f5 | cut -d"<" -f1 | head -n1' +alias grep="grep --color" +alias notify-send='notify-send -i terminal' +alias ec="emacsclient -t" +alias rmr="/bin/rm" +alias watch='watch -n1' +alias cwd='pwd | tr -d "\r\n" | xclip -selection clipboard' +alias alarm="notify-send -u critical \"Ya ha terminado el proceso\"" +alias finished="echo \"Ya ha terminado el proceso\" | espeak -ves 2> /dev/null" +alias cat="ccat" +alias ls="exa" +alias how="howdoi" + +# Apps +alias alpine='docker run -ti -v `pwd`:/data alpine sh' +alias linkcheck='docker run -ti registry.daemons.it/linkcheck' +alias cjira='docker run -ti -v $HOME/.jira-cl.json:/root/.jira-cl.json registry.daemons.it/jira' + +# Kubernetes, copied from oh my zsh plugin +alias kaf='kubectl apply -f' +alias keti='kubectl exec -ti' +alias kgp='kubectl get pods' +alias kgs='kubectl get svc' +alias kgi='kubectl get ingress' +alias kgsec='kubectl get secret' +alias kgd='kubectl get deployment' +alias kgrs='kubectl get rs' +alias kl='kubectl logs' +alias klf='kubectl logs -f' + +# History +alias hist='history -E -20' + +# Terraform +alias tf="terraform" +alias tfa="terraform apply" +alias tfi="terraform init; alarm" +alias tfaa="terraform apply --auto-approve; alarm" +alias tfp="terraform plan; alarm" +alias tfd="terraform destroy; alarm" + +# Alertmanager +# Config https://github.com/prometheus/alertmanager#configuration +alertmanager_version="v0.15.1" +alias amtool="docker run --name amtool --rm -ti --entrypoint amtool -v $HOME/.config/amtool/config.yml:/root/.config/amtool/config.yml quay.io/prometheus/alertmanager:$alertmanager_version" +alias amta="amtool alert" +alias amts="amtool silence" +alias amtsa="amtool silence add" +alias amtse="amtool silence expire" +alias amtsall="amtool silence add --duration=2h --start=$(date --utc --rfc-3339=seconds | sed 's/ /T/') --comment 'Estamos en ello.' severity=~'info|warning|critical'" diff --git a/dotfiles/shells/.bashrc b/dotfiles/shells/.bashrc new file mode 100644 index 0000000..0f6cfa5 --- /dev/null +++ b/dotfiles/shells/.bashrc @@ -0,0 +1,96 @@ +# Path +PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/sbin:/sbin:/usr/local/bin" + +# Prompt verde +#PS1='\[\e[0;92m\]\u\[\e[0;93m\] % \[\e[0;92m\]\h \[\e[1;93m\]\w\[\e[0;92m\]\$ ' +# Prompt azul +PS1='\[\e[1;94m\]\u\[\e[0m\] % \[\e[1;91m\]\h \[\e[1;93m\]\w\[\e[1;34m\] $\[\033[0m\] ' + +# Terms típicas de emacs +[[ $TERM == "dumb" ]] && TERM=xterm; PS1='$ ' +[[ $TERM == "emacs" ]] && PS1='$ ' +[[ $TERM == "xterm" ]] && PS1='$ ' + +# Term +if [ "$TERM" = "" -o "$TERM" = "unknown" ]; then + TERM=linux +fi + +# Notificar correo nuevo +if [ -x /usr/bin/biff ]; then + biff y 2> /dev/null +fi + +# Usar scripts en /etc/profile.d/ +for profile_script in /etc/profile.d/*.sh ; do + if [ -x $profile_script ]; then + . $profile_script + fi +done +unset profile_script + +# Alias +source ~/.aliases + +# Python +export WORKON_HOME=~/.virtualenvs +source /usr/local/bin/virtualenvwrapper_lazy.sh + +export EDITOR="emacsclient -t -c" +export ALTERNATE_EDITOR="nano" + +ESC="\033" +NORMAL="\[$ESC[m\]" +RESET="\[$ESC[${DULL};${FG_WHITE};${BG_NULL}m\]" + +if [ -f /etc/bash_completion ]; then + . /etc/bash_completion +fi +PATH=$PATH:~/Scripts/bin:$HOME/.npm-bin/bin/ +PATH=$PATH:~/Scripts/bin:$HOME/bin + +[ -f ~/.fzf.bash ] && source ~/.fzf.bash +sleep 0.5 + +# --httptoolkit-- +# This section will be reset each time a HTTP Toolkit terminal is opened +if [ -n "$HTTP_TOOLKIT_ACTIVE" ]; then + # When HTTP Toolkit is active, we inject various overrides into PATH + export PATH="/opt/http-toolkit/resources/app/httptoolkit-server/overrides/path:$PATH" + + if command -v winpty >/dev/null 2>&1; then + # Work around for winpty's hijacking of certain commands + alias php=php + alias node=node + fi +fi +# --httptoolkit-end-- +# --httptoolkit-- +# This section will be reset each time a HTTP Toolkit terminal is opened +if [ -n "$HTTP_TOOLKIT_ACTIVE" ]; then + # When HTTP Toolkit is active, we inject various overrides into PATH + export PATH="/opt/http-toolkit/resources/app/httptoolkit-server/overrides/path:$PATH" + + if command -v winpty >/dev/null 2>&1; then + # Work around for winpty's hijacking of certain commands + alias php=php + alias node=node + fi +fi +# --httptoolkit-end-- +# --httptoolkit-- +# This section will be reset each time a HTTP Toolkit terminal is opened +if [ -n "$HTTP_TOOLKIT_ACTIVE" ]; then + # When HTTP Toolkit is active, we inject various overrides into PATH + export PATH="/home/ap/.local/share/httptoolkit-server/client/0.1.27/overrides/path:$PATH" + + if command -v winpty >/dev/null 2>&1; then + # Work around for winpty's hijacking of certain commands + alias php=php + alias node=node + fi +fi +# --httptoolkit-end-- +[[ -s "/home/ap/.gvm/scripts/gvm" ]] && source "/home/ap/.gvm/scripts/gvm" +export ELB_NAME='DEV-PORTAL-ELB-12-27-507' +export ASG_NAME='DEV-PORTAL-ASG-12.27.507-2021-06-25T12-13-36Z' diff --git a/dotfiles/shells/.functions b/dotfiles/shells/.functions new file mode 100644 index 0000000..9bfdcfd --- /dev/null +++ b/dotfiles/shells/.functions @@ -0,0 +1,211 @@ +# Busca en la basura +function busca() { + find "*$@*" ~/Trash/ +} + +function cdtemp() { + cd `mktemp -d` +} + +# Un bucle infinito facilitado +function always(){ + while true; + do + eval $1 + eval $2 + done +} + +# Check that the directories of the main directory are updated git repos +function git_updated() { + local ROOT=`pwd` + local gitstatus + + for dir in `ls --color=none | grep -v Archive` + do + if [[ -d $dir ]] + then + cd $dir + if [[ -d .git ]] + then + gitstatus="`git status -s | awk '{print $2}'`" + cd $ROOT + if [[ -n $gitstatus ]] + then + echo "- \033[0;31m$dir\033[0m:\n$gitstatus" + fi + else + # Recursion at it's finest + git_updated + cd $ROOT + fi + fi + done +} + +# fzf functions +## insert located file +fzf-locate-widget() { + local selected + if selected=$(locate / | fzf -q "$LBUFFER"); then + LBUFFER=$selected + fi + zle redisplay +} +zle -N fzf-locate-widget +bindkey '\ei' fzf-locate-widget + +## Git stuff +# fco - checkout git branch/tag +unalias gco +gco() { + local tags branches target + tags=$( + git tag | awk '{print "\x1b[31;1mtag\x1b[m\t" $1}') || return + branches=$( + git branch --all | grep -v HEAD | + sed "s/.* //" | sed "s#remotes/[^/]*/##" | + sort -u | awk '{print "\x1b[34;1mbranch\x1b[m\t" $1}') || return + target=$( + (echo "$tags"; echo "$branches") | + fzf-tmux -l30 -- --no-hscroll --ansi +m -d "\t" -n 2) || return + git checkout $(echo "$target" | awk '{print $2}') +} + +# warn_me about stuff at any time +function warn_me (){ + echo "notify-send --urgency=critical \"$1\"" | at $2 +} + + +# Kubectl functions +function kube_dump_logs(){ + local deploy="$1" + local namespace="$2" + local time="$3" + + if [[ -z "$deploy" ]] + then + echo "You must pass a kubernetes deployment as an argument." + return 1 + fi + if [[ -z "$time" ]] + then + time=1h + fi + + if [[ -z "$namespace" ]] + then + namespace_param="-n default" + else + namespace_param="-n $namespace" + fi + + mkdir -p "$deploy" + + for pod in $(kube_get_deploy_pods $deploy $namespace) + do + echo Dumping "$pod" ... + eval kubectl logs "$pod" --since="$time" "$namespace_param" > "$deploy"/"$pod" + done + echo "Dumped $deploy logs." +} + +function kube_get_deploy_pods(){ + local deploy="$1" + local namespace="$2" + + if [[ -z "$deploy" ]] + then + echo "You must pass a kubernetes deployment as an argument." + return 1 + fi + if [[ -z "$namespace" ]] + then + namespace="-n default" + else + namespace="-n $namespace" + fi + + eval kubectl get pods $namespace | grep "$deploy" | cut -d ' ' -f1 +} + +# Crea un pod de debian si no existe y lo borra al terminar +function kdebian(){ + echo "apt update; apt install -y curl" | xclip + kubectl run --generator=run-pod/v1 -ti --rm debian --image=debian +} + +function kbash(){ + kubectl exec -ti $1 bash +} + +function ksh(){ + kubectl exec -ti $1 sh +} + +# Docker +## Reveal +function reveal () { + function async () + { + sleep 3 && xdg-open http:localhost:8000 + } + async &! + docker run -ti --name registry.daemons.it/reveal --rm -v `pwd`:/revealjs/files/ -p 127.0.0.1:8000:8000 revealjs +} + +## reveal-md +function revealmd () { + async () { + sleep 3 && xdg-open http:localhost:1948/main.md + } + async &! + docker run -ti --rm -v `pwd`:/revealjs/files/ -p 127.0.0.1:1948:1948 registry.daemons.it/reveal-md +} + +function nginx_this(){ + docker stop nginx_this &> /dev/null + docker run -d --rm -v `pwd`:/usr/share/nginx/html --name nginx_this -p \ + 127.0.0.1:2000:80 nginx:alpine + # open browser + firefox "http://127.0.0.1:2000" +} + +function promtool(){ + docker run -ti -v `pwd`:/data --entrypoint promtool --workdir /data prom/prometheus:v2.17.1 "$@" +} + +function kterm (){ + image=$1 + tag=$2 + if [[ -z $tag ]] + then + tag=latest + fi + kubectl run --generator=run-pod/v1 -ti --rm kterm --image=$image:$tag sh +} + +function dterm (){ + image=$1 + tag=$2 + if [[ -z $tag ]] + then + tag=latest + fi + bash_exists=$(docker run -ti $image:$tag sh -c "command -v bash") + if [[ -n $bash_exists ]] + then + docker run -ti --network host $image:$tag bash + else + docker run -ti --network host $image:$tag sh + fi +} + +function helmfile (){ + docker run -ti -v `pwd`:/data -w /data -v \ + $HOME/bin/helmify-kustomize:/usr/local/bin/helmify-kustomize:ro -v \ + $HOME/.kube:/root/.kube:ro -e \ + KUBECONFIG=/root/.kube/$(basename `echo $KUBECONFIG`) \ + quay.io/roboll/helmfile:helm3-v0.140.0 helmfile "$@" +} diff --git a/dotfiles/shells/.zshrc b/dotfiles/shells/.zshrc new file mode 100644 index 0000000..d83c301 --- /dev/null +++ b/dotfiles/shells/.zshrc @@ -0,0 +1,94 @@ +# Debug +# set -x +# zmodload zsh/zprof + +# Ruta de oh-my-zsh +export ZSH=$HOME/.oh-my-zsh + +# Instala cosas +if [[ ! -a ~/Instalados/zsh-interactive-cd ]]; then + git clone https://github.com/changyuheng/zsh-interactive-cd ~/Instalados/zsh-interactive-cd +fi + + +# Modify path +PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/sbin:/sbin:/usr/local/bin" +export PATH="$PATH:$HOME/bin/" +export PATH="$PATH:$HOME/.bin/" +export PATH="$PATH:$HOME/.local/bin" +export PATH="$PATH:/$HOME/.emacs.d/bin/" +export PATH="$PATH:/opt/go/bin" +export PATH="$PATH:/opt/brew/bin/" +export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH" +export GOPATH=/opt/go + +# Cargar los programas instalados +source $HOME/Instalados/zsh-interactive-cd/zsh-interactive-cd.plugin.zsh +source /usr/share/z/z.sh +# fzf: automatically selects the item if there's only one +export FZF_CTRL_T_OPTS="--select-1 --exit-0" + +# fzf The following example uses tree command to show the entries of the directory +export FZF_ALT_C_OPTS="--preview 'tree -C {} | head -200'" + +# Full command on preview window +export FZF_CTRL_R_OPTS="--preview 'echo {}' --preview-window down:3:hidden:wrap --bind '?:toggle-preview'" + +# Term +export TERM="xterm-256color" + +# Prompt ZSH +eval "$(starship init zsh)" + +# No comprobar si hay actualizaciones +DISABLE_AUTO_UPDATE="true" + +# No corregir errores +ENABLE_CORRECTION="false" + +# Mostrar puntos rojos mientras se espera el completado +COMPLETION_WAITING_DOTS="true" + +# Formato de tiempo +HIST_STAMPS="dd/mm/yyyy" + +# Plugins +plugins=(git colored-man-pages ssh-agent daemons-aws gitfast ksp) + +export MANPATH="/usr/local/man:$MANPATH" + +# Usar oh-my-zsh +source $ZSH/oh-my-zsh.sh + +# Por algún motivo... +# https://github.com/ohmyzsh/ohmyzsh/issues/4607#issuecomment-510494971 +export FPATH="/usr/local/share/zsh/functions:$FPATH" + +# Lenguaje +export LANG=es_ES.UTF-8 +export LANGUAGE=es_ES.UTF-8 +export LC_ALL=es_ES.UTF-8 + +# Editor preferido +export EDITOR="emacsclient -t -c" +export ALTERNATE_EDITOR="vim" + +# Python virtualenv +export WORKON_HOME=$HOME/.virtualenvs + +# Cosas de Systemd +export XDG_RUNTIME_DIR="/run/user/$UID" +export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" + +# Arduino IDE path +export ARDUINO_DIR=/opt/arduino-1.8.7 + +source $HOME/.functions +source $HOME/.aliases +source $HOME/.fzf.zsh + +# No comprobar mails +MAILCHECK=0 + +# Krew +# diff --git a/dotfiles/starship/.config/starship.toml b/dotfiles/starship/.config/starship.toml new file mode 100644 index 0000000..2db6b9e --- /dev/null +++ b/dotfiles/starship/.config/starship.toml @@ -0,0 +1,38 @@ +[battery] +full_symbol = "🔋" +charging_symbol = "⚡️" +discharging_symbol = "💀" + +[[battery.display]] +threshold = 10 +style = "bold red" + +[kubernetes] +disabled = false + +[terraform] +disabled = true + +[aws] +symbol = " " + +[docker_context] +symbol = " " + +[golang] +symbol = " " + +[java] +symbol = " " + +[nodejs] +symbol = " " + +[php] +symbol = " " + +[python] +symbol = " " + +[directory] +truncation_length = 5 diff --git a/dotfiles/system-configuration/etc/backup.d/90.rdiff b/dotfiles/system-configuration/etc/backup.d/90.rdiff new file mode 100644 index 0000000..eeac956 --- /dev/null +++ b/dotfiles/system-configuration/etc/backup.d/90.rdiff @@ -0,0 +1,33 @@ +options = --force +when = everyday at 02 +output_as_info = no +[source] +type = local +keep = 60D + +# files to include in the backup +include = /etc +include = /root +include = /home +exclude = /home/*/Trash +exclude = /home/*/.local/share/Trash +exclude = /home/*/.Trash +exclude = /home/*/.cache/ +exclude = /home/*/.local/share/virtualenvs +exclude = /home/*/.local/share/virtualenv +exclude = /home/*/.basura/ +exclude = /home/*/.virtualenvs/ +exclude = /home/*/.electricsheep +exclude = /home/*/.mozilla +exclude = /home/*/go +exclude = /home/*/.gradle +exclude = /home/*/.cargo +exclude = /home/*/.npm +exclude = /home/*/.minikube +exclude = /home/*/.vagrant.d + +[dest] +type = remote +directory = /opt/external/baks/angry-turing/ +host = 192.168.0.161 +user = drymer diff --git a/dotfiles/system-configuration/etc/backupninja.conf b/dotfiles/system-configuration/etc/backupninja.conf new file mode 100644 index 0000000..85d9fc4 --- /dev/null +++ b/dotfiles/system-configuration/etc/backupninja.conf @@ -0,0 +1,91 @@ +# +# |\_ +# B A C K U P N I N J A /()/ +# `\| +# main configuration file +# + +# how verbose to make the logs +# 5 -- Debugging messages (and below) +# 4 -- Informational messages (and below) +# 3 -- Warnings (and below) +# 2 -- Errors (and below) +# 1 -- Fatal errors (only) +loglevel = 4 + +# send a summary of the backup status to +# this email address: +reportemail = root + +# if set to 'yes', a report email will be generated +# even if all modules reported success. (default = yes) +reportsuccess = no + +# if set to 'yes', info messages from handlers will be +# sent into the email (default = no) +reportinfo = no + +# if set to 'yes', a report email will be generated +# even if there was no error. (default = yes) +reportwarning = no + +# if set to 'yes', disk space usage will be included in +# the backup email report +reportspace = no + +# where to rsync the backupninja.log to be aggregated in +# a ninjareport +reporthost = + +# what user to connect to reporthost to sync the +# backupninja.log +reportuser = ninja + +# where on the reporthost should the report go +# NOTE: the name of the log will be used in the report, +# use a globally unique name, preferably the hostname +reportdirectory = /var/lib/backupninja/reports + +# number of columns the report email body should wrap to +#reportwrap = 80 + +# set to the administration group that is allowed to +# read/write configuration files in /etc/backup.d +admingroup = root + +####################################################### +# for most installations, the defaults below are good # +####################################################### + +# where to log: +logfile = /var/log/backupninja.log + +# directory where all the backup configuration files live +configdirectory = /etc/backup.d + +# where backupninja helper scripts are found +scriptdirectory = /usr/share/backupninja + +# where backupninja libs are found +libdirectory = /usr/lib/backupninja + +# whether to use colors in the log file +usecolors = yes + +# default value for 'when' +when = everyday at 09:00 + +# programs paths +# SLAPCAT=/usr/sbin/slapcat +# LDAPSEARCH=/usr/bin/ldapsearch +# RDIFFBACKUP=/usr/bin/rdiff-backup +# CSTREAM=/usr/bin/cstream +# MYSQL=/usr/bin/mysql +# MYSQLHOTCOPY=/usr/bin/mysqlhotcopy +# MYSQLDUMP=/usr/bin/mysqldump +# PSQL=/usr/bin/psql +# PGSQLDUMP=/usr/bin/pg_dump +# PGSQLDUMPALL=/usr/bin/pg_dumpall +# GZIP=/bin/gzip +# GZIP_OPTS='--rsyncable' +# RSYNC=/usr/bin/rsync diff --git a/dotfiles/system-configuration/etc/pacman.conf b/dotfiles/system-configuration/etc/pacman.conf new file mode 100644 index 0000000..6f1a3b4 --- /dev/null +++ b/dotfiles/system-configuration/etc/pacman.conf @@ -0,0 +1,98 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +#UseDelta = 0.7 +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#TotalDownload +CheckSpace +#VerbosePkgLists + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +[multilib] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + diff --git a/manage.sh b/manage.sh new file mode 100755 index 0000000..e1d967a --- /dev/null +++ b/manage.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash +set -eo pipefail + +arg=$1 + +if [[ $arg == "packages-bundle" ]] +then + # Actualizar repositorios + sudo pacman -Sy + + # Instalar yay + if ! command -v yay &> /dev/null + then + sudo pacman -S --needed git base-devel + dotfiles_path=$(pwd) + mkdir -p $HOME/Instalados + cd $HOME/Instalados + git clone https://aur.archlinux.org/yay.git + cd yay + makepkg -si + cd $dotfiles_path + fi + + # Instalar aconfmgr + if ! command -v aconfmgr &> /dev/null + then + yay -S aconfmgr-git + fi + + # Instalar homebrew + if [[ -f brew ]] + then + yay -S brew-git + sudo chown -R $(whoami).users /opt/brew/ + fi + + # Instalar paquetes del sistema + aconfmgr -c packages/arch apply + + # Instalar paquetes de brew + brew bundle --file packages/brew/Brewfile + + # Instalar oh-my-zsh + if [[ -a $HOME/.oh-my-zsh ]]; then + sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" + fi +elif [[ $arg == "packages-update" ]] +then + # Actualiza oh my zsh + sh "$HOME/.oh-my-zsh/tools/upgrade.sh" + rm -rf "$HOME/.oh-my-zsh/log/update.lock" + + # Actualiza arch + sudo pacman -Syu + # Sincroniza los repositorios de brew + brew update + # Actualiza los paquetes instalados + brew upgrade + +elif [[ $arg == "dotfiles" ]] +then + cd dotfiles + stow -t ~ alacritty + stow -t ~ git + stow -t ~ i3 + stow -t ~ shells + stow -t ~ starship + sudo stow -t / system-configurations + cd .. +else + echo "use 'packages-bundle', 'packages-update' or 'dotfiles'" +fi diff --git a/packages/arch/1-ignore.sh b/packages/arch/1-ignore.sh new file mode 100644 index 0000000..f158522 --- /dev/null +++ b/packages/arch/1-ignore.sh @@ -0,0 +1,18 @@ +IgnorePath "/bin/*" +IgnorePath "/boot/*" +IgnorePath "/dev/*" +IgnorePath "/home/*" +IgnorePath "/lib/*" +IgnorePath "/lib64/*" +IgnorePath "/mnt/*" +IgnorePath "/opt/*" +IgnorePath "/proc/*" +IgnorePath "/root/*" +IgnorePath "/run/*" +IgnorePath "/sbin/*" +IgnorePath "/srv/*" +IgnorePath "/sys/*" +IgnorePath "/tmp/*" +IgnorePath "/usr/*" +IgnorePath "/var/*" +IgnorePath "/etc/*" diff --git a/packages/arch/10-base.sh b/packages/arch/10-base.sh new file mode 100644 index 0000000..0de6fea --- /dev/null +++ b/packages/arch/10-base.sh @@ -0,0 +1,255 @@ +AddPackage base # Minimal package set to define a basic Arch Linux installation +AddPackage acpi # Client for battery, power, and thermal readings +AddPackage alacritty # A cross-platform, GPU-accelerated terminal emulator +AddPackage alsa-utils # Advanced Linux Sound Architecture - Utilities +IgnorePackage amd-ucode # Microcode update image for AMD CPUs +AddPackage arandr # Provide a simple visual front end for XRandR 1.2. +AddPackage archlinux-themes-slim # Arch Linux branded themes for the SLiM login manager +AddPackage aspell-en # English dictionary for aspell +AddPackage aspell-es # Spanish dictionary for aspell +AddPackage at # AT and batch delayed command scheduling utility and daemon +AddPackage bash # The GNU Bourne Again shell +AddPackage bc # An arbitrary precision calculator language +AddPackage bind # A complete, highly portable implementation of the DNS protocol +AddPackage binutils # A set of programs to assemble and manipulate binary and object files +AddPackage bison # The GNU general-purpose parser generator +AddPackage blueman # GTK+ Bluetooth Manager +AddPackage bluez-hid2hci # Put HID proxying bluetooth HCI's into HCI mode +AddPackage bluez-utils # Development and debugging utilities for the bluetooth protocol stack +AddPackage bzip2 # A high-quality data compression program +AddPackage ccache # Compiler cache that speeds up recompilation by caching previous compilations +AddPackage conntrack-tools # Userspace tools to interact with the Netfilter connection tracking system +AddPackage cryptsetup # Userspace setup tool for transparent encryption of block devices using dm-crypt +AddPackage coreutils # The basic file, shell and text manipulation utilities of the GNU operating system +AddPackage cpio # A tool to copy files into or out of a cpio or tar archive +AddPackage cronie # Daemon that runs specified programs at scheduled times and related tools +AddPackage dash # POSIX compliant shell that aims to be as small as possible +AddPackage dbus # Freedesktop.org message bus system +AddPackage delve # A debugger for the Go programming language. +AddPackage device-mapper # Device mapper userspace library and tools +AddPackage dfc # Display file system space usage using graphs and colors +AddPackage dhcp # A DHCP server, client, and relay agent +AddPackage dhcpcd # RFC2131 compliant DHCP client daemon +AddPackage dmenu # Generic menu for X +AddPackage dos2unix # Text file format converter +AddPackage dunst # Customizable and lightweight notification-daemon +AddPackage e2fsprogs # Ext2/3/4 filesystem utilities +AddPackage efibootmgr # Linux user-space application to modify the EFI Boot Manager +AddPackage encfs # Encrypted filesystem in user-space +AddPackage espeak # Text to Speech engine for English, with support for other languages +AddPackage fakeroot # Tool for simulating superuser privileges +AddPackage file # File type identification utility +AddPackage filesystem # Base Arch Linux files +AddPackage findutils # GNU utilities to locate files +AddPackage gettext # GNU internationalization library +AddPackage glibc # GNU C Library +AddPackage grep # A string search utility +AddPackage grub # GNU GRand Unified Bootloader (2) +AddPackage grub-customizer # A graphical grub2 settings manager +AddPackage gst-libav # Multimedia graph framework - libav plugin +AddPackage gst-plugins-bad # Multimedia graph framework - bad plugins +AddPackage gst-plugins-ugly # Multimedia graph framework - ugly plugins +AddPackage gvfs # Virtual filesystem implementation for GIO +AddPackage gzip # GNU compression utility +AddPackage haveged # Entropy harvesting daemon using CPU timings +AddPackage htop # Interactive process viewer +AddPackage hwinfo # Hardware detection tool from openSUSE +AddPackage i3blocks # Define blocks for your i3bar status line +AddPackage i3-gaps # A fork of i3wm tiling window manager with more features, including gaps +AddPackage i3lock # Improved screenlocker based upon XCB and PAM +AddPackage i3status # Generates status bar to use with i3bar, dzen2 or xmobar +AddPackage inetutils # A collection of common network programs +AddPackage ipcalc # Calculates IP broadcast, network, Cisco wildcard mask, and host ranges +AddPackage iproute2 # IP Routing Utilities +AddPackage iputils # Network monitoring tools, including ping +AddPackage jfsutils # JFS filesystem utilities +AddPackage keychain # A front-end to ssh-agent, allowing one long-running ssh-agent process per system, rather than per login +AddPackage languagetool # An open source language checker +AddPackage less # A terminal based program for viewing text files +AddPackage lib32-gst-plugins-base-libs # GStreamer Multimedia Framework Base Plugin libraries (32-bit) +AddPackage lib32-gtk3 # GObject-based multi-platform GUI toolkit +AddPackage lib32-libxslt # XML stylesheet transformation library (32-bit) +AddPackage lib32-ocl-icd # OpenCL ICD Bindings (32-bit) +AddPackage lib32-v4l-utils # Userspace tools and conversion library for Video 4 Linux (32-bit) +AddPackage libvterm # Abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator +AddPackage licenses # Standard licenses distribution package +AddPackage linux # The Linux kernel and modules +AddPackage linux-firmware # Firmware files for Linux +AddPackage linux-headers # Headers and scripts for building modules for the Linux kernel +AddPackage linux-lts # The LTS Linux kernel and modules +AddPackage logrotate # Rotates system logs automatically +AddPackage lsof # Lists open files for running Unix processes +AddPackage luit # Filter that can be run between an arbitrary application and a UTF-8 terminal emulator +AddPackage lvm2 # Logical Volume Manager 2 utilities +AddPackage lxappearance # Feature-rich GTK+ theme switcher of the LXDE Desktop +AddPackage lxrandr # Monitor configuration tool (part of LXDE) +AddPackage lynx # A text browser for the World Wide Web +AddPackage macchanger # A small utility to change your NIC's MAC address +AddPackage man-db # A utility for reading man pages +AddPackage man-pages # Linux man pages +AddPackage mariadb-clients # MariaDB client tools +AddPackage mdadm # A tool for managing/monitoring Linux md device arrays, also known as Software RAID +AddPackage mediainfo # Supplies technical and tag information about a video or audio file (CLI interface) +AddPackage mediainfo-gui # Supplies technical and tag information about a video or audio file (GUI interface) +AddPackage mlocate # Merging locate/updatedb implementation +AddPackage mousepad # Simple text editor for Xfce +AddPackage netctl # Profile based systemd network management +AddPackage net-tools # Configuration tools for Linux networking +AddPackage networkmanager # Network connection manager and user applications +AddPackage network-manager-applet # Applet for managing network connections +AddPackage nftables # Netfilter tables userspace tools +AddPackage noto-fonts-emoji # Google Noto emoji fonts +AddPackage ntp # Network Time Protocol reference implementation +AddPackage ocl-icd # OpenCL ICD Bindings +AddPackage openssh # Premier connectivity tool for remote login with the SSH protocol +AddPackage openvpn # An easy-to-use, robust and highly configurable VPN (Virtual Private Network) +AddPackage pacman # A library-based package manager with dependency support +AddPackage pacman-contrib # Contributed scripts and tools for pacman systems +AddPackage pandoc # Conversion between markup formats +AddPackage parallel # A shell tool for executing jobs in parallel +AddPackage parcellite # Lightweight GTK+ clipboard manager +AddPackage powerline # Statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome, i3 and Qtile +AddPackage nano # Pico editor clone with enhancements +AddPackage ncdu # Disk usage analyzer with an ncurses interface +AddPackage patch # A utility to apply patch files to original sources +AddPackage pavucontrol # PulseAudio Volume Control +AddPackage pciutils # PCI bus configuration space access library and tools +AddPackage perl # A highly capable, feature-rich programming language +AddPackage perlbrew # Manage perl installations in your $HOME +AddPackage picom # X compositor that may fix tearing issues +AddPackage pkgconf # Package compiler and linker metadata toolkit +AddPackage powertop # A tool to diagnose issues with power consumption and power management +AddPackage procps-ng # Utilities for monitoring your system and its processes +AddPackage psmisc # Miscellaneous procfs tools +AddPackage pulseaudio # A featureful, general-purpose sound server +AddPackage pulseaudio-alsa # ALSA Configuration for PulseAudio +AddPackage pv # A terminal-based tool for monitoring the progress of data through a pipeline. +AddPackage read-edid # Program that can get information from a PNP monitor +AddPackage redshift # Adjusts the color temperature of your screen according to your surroundings. +AddPackage reiserfsprogs # Reiserfs utilities +AddPackage reptyr # Utility for taking an existing running program and attaching it to a new terminal +AddPackage rsync # A fast and versatile file copying tool for remote and local files +AddPackage screen # Full-screen window manager that multiplexes a physical terminal +AddPackage scrot # Simple command-line screenshot utility for X +AddPackage sed # GNU stream editor +AddPackage shadow # Password and account management tool suite with support for shadow files and PAM +AddPackage sl # Steam Locomotive runs across your terminal when you type "sl" as you meant to type "ls". +AddPackage slim # Desktop-independent graphical login manager for X11 +AddPackage slim-themes # Themes Pack for Simple Login Manager +AddPackage smartmontools # Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives +AddPackage sshfs # FUSE client based on the SSH File Transfer Protocol +AddPackage strace # A diagnostic, debugging and instructional userspace tracer +AddPackage sudo # Give certain users the ability to run some commands as root +AddPackage sxiv # Simple X Image Viewer +AddPackage sysbench # Scriptable multi-threaded benchmark tool for databases and systems +AddPackage sysfsutils # System Utilities Based on Sysfs +AddPackage sysstat # a collection of performance monitoring tools (iostat,isag,mpstat,pidstat,sadf,sar) +AddPackage systemd-sysvcompat # sysvinit compat for systemd +AddPackage tar # Utility used to store, backup, and transport files +AddPackage testdisk # Checks and undeletes partitions + PhotoRec, signature based recovery tool +AddPackage texi2html # Converts texinfo documents to HTML +AddPackage texinfo # GNU documentation system for on-line information and printed output +AddPackage texlive-bibtexextra # TeX Live - Additional BibTeX styles and bibliography databases +AddPackage texlive-core # TeX Live core distribution +AddPackage texlive-fontsextra # TeX Live - all sorts of extra fonts +AddPackage texlive-formatsextra # TeX Live - collection of extra TeX 'formats' +AddPackage texlive-games # TeX Live - Setups for typesetting various board games, including chess +AddPackage texlive-humanities # TeX Live - LaTeX packages for law, linguistics, social sciences, and humanities +AddPackage texlive-latexextra # TeX Live - Large collection of add-on packages for LaTeX +AddPackage texlive-music # TeX Live - Music typesetting packages +AddPackage texlive-pictures # TeX Live - Packages for drawings graphics +AddPackage texlive-pstricks # TeX Live - Additional PSTricks packages +AddPackage texlive-publishers # TeX Live - LaTeX classes and packages for specific publishers +AddPackage texlive-science # TeX Live - Typesetting for mathematics, natural and computer sciences +AddPackage thunar # Modern file manager for Xfce +AddPackage thunar-archive-plugin # Create and extract archives in Thunar +AddPackage thunar-media-tags-plugin # Adds special features for media files to the Thunar File Manager +AddPackage thunar-volman # Automatic management of removeable devices in Thunar +AddPackage thunderbird # Standalone mail and news reader from mozilla.org +AddPackage tk # A windowing toolkit for use with tcl +AddPackage tlp # Linux Advanced Power Management +AddPackage traceroute # Tracks the route taken by packets over an IP network +AddPackage ttf-dejavu # Font family based on the Bitstream Vera Fonts with a wider range of characters +AddPackage ttf-font-awesome # Iconic font designed for Bootstrap +AddPackage tumbler # D-Bus service for applications to request thumbnails +AddPackage unoconv # Libreoffice-based document converter +AddPackage unrar # The RAR uncompression program +AddPackage unzip # For extracting and viewing files in .zip archives +AddPackage usbutils # A collection of USB tools to query connected USB devices +AddPackage util-linux # Miscellaneous system utilities for Linux +AddPackage wget # Network utility to retrieve files from the Web +AddPackage which # A utility to show the full path of commands +AddPackage wireless_tools # Tools allowing to manipulate the Wireless Extensions +AddPackage xautolock # An automatic X screen-locker/screen-saver +AddPackage xcape # Configure modifier keys to act as other keys when pressed and released on their own +AddPackage xf86-input-evdev # X.org evdev input driver +AddPackage xf86-input-synaptics # Synaptics driver for notebook touchpads +AddPackage xf86-video-amdgpu # X.org amdgpu video driver +AddPackage xfburn # A simple CD/DVD burning tool based on libburnia libraries +AddPackage xfconf # Flexible, easy-to-use configuration management system +AddPackage xfdesktop # A desktop manager for Xfce +AddPackage xfsprogs # XFS filesystem utilities +AddPackage xorg-bdftopcf # Convert X font from Bitmap Distribution Format to Portable Compiled Format +AddPackage xorg-iceauth # ICE authority file utility +AddPackage xorg-server # Xorg X server +AddPackage xorg-sessreg # Register X sessions in system utmp/utmpx databases +AddPackage xorg-smproxy # Allows X applications that do not support X11R6 session management to participate in an X11R6 session +AddPackage xorg-x11perf # Simple X server performance benchmarker +AddPackage xorg-xbacklight # RandR-based backlight control application +AddPackage xorg-xcmsdb # Device Color Characterization utility for X Color Management System +AddPackage xorg-xcursorgen # Create an X cursor file from PNG images +AddPackage xorg-xdpyinfo # Display information utility for X +AddPackage xorg-xdriinfo # Query configuration information of DRI drivers +AddPackage xorg-xev # Print contents of X events +AddPackage xorg-xgamma # Alter a monitor's gamma correction +AddPackage xorg-xhost # Server access control program for X +AddPackage xorg-xinput # Small commandline tool to configure devices +AddPackage xorg-xkbevd # XKB event daemon +AddPackage xorg-xkbutils # XKB utility demos +AddPackage xorg-xkill # Kill a client by its X resource +AddPackage xorg-xlsatoms # List interned atoms defined on server +AddPackage xorg-xlsclients # List client applications running on a display +AddPackage xorg-xmodmap # Utility for modifying keymaps and button mappings +AddPackage xorg-xpr # Print an X window dump from xwd +AddPackage xorg-xprop # Property displayer for X +AddPackage xorg-xrdb # X server resource database utility +AddPackage xorg-xrefresh # Refresh all or part of an X screen +AddPackage xorg-xsetroot # Classic X utility to set your root window background to a given pattern or color +AddPackage xorg-xvinfo # Prints out the capabilities of any video adaptors associated with the display that are accessible through the X-Video extension +AddPackage xorg-xwd # X Window System image dumping utility +AddPackage xorg-xwininfo # Command-line utility to print information about windows on an X server +AddPackage xorg-xwud # X Window System image undumping utility +AddPackage xterm # X Terminal Emulator +AddPackage zathura # Minimalistic document viewer +AddPackage zathura-pdf-mupdf # PDF support for Zathura (MuPDF backend) (Supports PDF, ePub, and OpenXPS) +AddPackage zip # Compressor/archiver for creating and modifying zipfiles +AddPackage --foreign backupninja-git # A centralized way to configure and schedule many different backup utilities +AddPackage --foreign electricsheep # Screensaver that realize the collective dream of sleeping computers from all over the internet +AddPackage --foreign bcm20702a1-firmware # Broadcom bluetooth firmware for BCM20702A1 based devices. +AddPackage --foreign openvpn-update-systemd-resolved # OpenVPN systemd-resolved Updater +AddPackage --foreign pacman-fix-permissions # small Python script to fix broken Arch Linux filesystem permissions +AddPackage --foreign pulseaudio-modules-bt-git # PulseAudio Bluetooth modules with SBC, AAC, APTX, APTX-HD, Sony LDAC (A2DP codec) support +AddPackage --foreign ttf-dejavu-sans-mono-powerline-git # DejaVu Sans Mono for Powerline +AddPackage --foreign ttf-font-awesome-4 # 100% free version of font awesome. +AddPackage --foreign unrar-free # Free utility to extract files from RAR archives. +AddPackage --foreign wordnet-cli # A CLI fontend for the WordNet Database +AddPackage --foreign yay # Yet another yogurt. Pacman wrapper and AUR helper written in go. +AddPackage stow # Manage installation of multiple softwares in the same directory tree +AddPackage xclip # Command line interface to the X11 clipboard +AddPackage xfce4-appfinder # An application finder for Xfce +AddPackage xfce4-panel # Panel for the Xfce desktop environment +AddPackage xfce4-power-manager # Power manager for the Xfce desktop +AddPackage xfce4-session # Session manager for Xfce +AddPackage xfce4-settings # Settings manager of the Xfce desktop +AddPackage xfce4-terminal # A modern terminal emulator primarily for the Xfce desktop environment +AddPackage xfwm4 # Xfce's window manager +AddPackage xfwm4-themes # A set of additional themes for the Xfce window manager +AddPackage lib32-gst-plugins-base-libs # GStreamer Multimedia Framework Base Plugin libraries (32-bit) +AddPackage lib32-gtk3 # GObject-based multi-platform GUI toolkit +AddPackage lib32-libxslt # XML stylesheet transformation library (32-bit) +AddPackage lib32-ocl-icd # OpenCL ICD Bindings (32-bit) +AddPackage lib32-v4l-utils # Userspace tools and conversion library for Video 4 Linux (32-bit) +AddPackage rdiff-backup # A utility for local/remote mirroring and incremental backups. +AddPackage --foreign otf-font-awesome-4 # 100% free version of font awesome. +AddPackage --foreign wordnet-common # An Electronic Lexical Database from Princeton University +AddPackage --foreign wordnet-tk # A TK frontend for the WordNet Database diff --git a/packages/arch/15-utils.sh b/packages/arch/15-utils.sh new file mode 100644 index 0000000..25c6118 --- /dev/null +++ b/packages/arch/15-utils.sh @@ -0,0 +1,60 @@ +AddPackage asciidoctor # An implementation of AsciiDoc in Ruby +AddPackage asciinema # Record and share terminal sessions +AddPackage aws-cli # Universal Command Line Interface for Amazon Web Services +AddPackage ethtool # Utility for controlling network drivers and hardware +AddPackage exo # Application library for Xfce +AddPackage fbreader # An e-book reader for Linux +AddPackage fd # Simple, fast and user-friendly alternative to find +AddPackage feh # Fast and light imlib2-based image viewer +AddPackage fzf # Command-line fuzzy finder +AddPackage gnu-netcat # GNU rewrite of netcat, the network piping application +AddPackage gnuplot # Plotting package which outputs to X11, PostScript, PNG, GIF, and others +AddPackage gparted # A Partition Magic clone, frontend to GNU Parted +AddPackage gpick # Advanced color picker written in C++ using GTK+ toolkit +AddPackage iftop # Display bandwidth usage on an interface +AddPackage imagemagick # An image viewing/manipulation program +AddPackage jq # Command-line JSON processor +AddPackage multitail # Lets you view one or multiple files like the original tail program +AddPackage nmap # Utility for network discovery and security auditing +AddPackage pass # Stores, retrieves, generates, and synchronizes passwords securely +AddPackage prettier # An opinionated code formatter for JS, JSON, CSS, YAML and much more +AddPackage proxychains-ng # A hook preloader that allows to redirect TCP traffic of existing dynamically linked programs through one or more SOCKS or HTTP proxies +AddPackage ripgrep # A search tool that combines the usability of ag with the raw speed of grep +AddPackage rofi # A window switcher, application launcher and dmenu replacement +AddPackage rpmextract # Script to convert or extract RPM archives (contains rpm2cpio) +AddPackage socat # Multipurpose relay +AddPackage stress # A tool that stress tests your system (CPU, memory, I/O, disks) +AddPackage tcpdump # Powerful command-line packet analyzer +AddPackage tmux # A terminal multiplexer +AddPackage tor # Anonymizing overlay network. +AddPackage torsocks # Wrapper to safely torify applications +AddPackage unclutter # A small program for hiding the mouse cursor +AddPackage unp # A script for unpacking a wide variety of archive formats +AddPackage wipe # Secure file wiping utility +AddPackage wireshark-qt # Network traffic and protocol analyzer/sniffer - Qt GUI +AddPackage youtube-dl # A command-line program to download videos from YouTube.com and a few more sites +AddPackage z # Tracks your most used directories, based on 'frecency' +AddPackage zsh # A very advanced and programmable command interpreter (shell) for UNIX +IgnorePackage --foreign aconfmgr-git # A configuration manager for Arch Linux +AddPackage --foreign autojump # A faster way to navigate your filesystem from the command line +AddPackage --foreign aws-iam-authenticator-bin # A tool to use AWS IAM credentials to authenticate to a Kubernetes cluster +AddPackage exa # rich ls +AddPackage --foreign mkpasswd # Tool for creating password hashes suitable for /etc/shadow +AddPackage --foreign mongodb-bin # A high-performance, open source, schema-free document-oriented database +AddPackage --foreign mongodb-tools-bin # The MongoDB tools provide import, export, and diagnostic capabilities. +AddPackage --foreign nerd-fonts-fira-code # Patched font Fira (Fura) Code from the nerd-fonts library +AddPackage --foreign pcapfix # A tool of repairing your broken pcap and pcapng files +AddPackage --foreign toilet # free replacement for the FIGlet utility. +AddPackage zsh-completions # Additional completion definitions for Zsh +AddPackage zsh-syntax-highlighting # Fish shell like syntax highlighting for Zsh +AddPackage --foreign howdoi # Instant coding answers via the command line +AddPackage --foreign inframap # Read your tfstate or HCL to generate a graph specific for each provider, showing only the resources that are most important/relevant +AddPackage --foreign mdl # MarkDown Less is a Markdown displayer +AddPackage --foreign proselint # A linter for prose +AddPackage --foreign scrcpy # Display and control your Android device +AddPackage --foreign wordnet-cli +AddPackage --foreign mkpasswd +AddPackage --foreign mongodb-bin +AddPackage --foreign mongodb-tools-bin +AddPackage --foreign pcapfix +AddPackage --foreign toilet diff --git a/packages/arch/30-gui.sh b/packages/arch/30-gui.sh new file mode 100644 index 0000000..e69de29 diff --git a/packages/arch/50-media.sh b/packages/arch/50-media.sh new file mode 100644 index 0000000..e69de29 diff --git a/packages/arch/70-development.sh b/packages/arch/70-development.sh new file mode 100644 index 0000000..3775972 --- /dev/null +++ b/packages/arch/70-development.sh @@ -0,0 +1,61 @@ +AddPackage android-tools # Android platform tools +AddPackage arduino # Arduino prototyping platform SDK +AddPackage atom # A hackable text editor for the 21st Century +AddPackage autoconf # A GNU tool for automatically configuring source code +AddPackage automake # A GNU tool for automatically creating Makefiles +AddPackage clang # C language family frontend for LLVM +AddPackage clojure # Lisp dialect for the JVM +AddPackage cmake # A cross-platform open-source make system +AddPackage dia # A GTK+ based diagram creation program +AddPackage diff-so-fancy # Good-looking diffs with diff-highlight and more +AddPackage diffutils # Utility programs used for creating patch files +AddPackage docker # Pack, ship and run any application as a lightweight container +AddPackage docker-compose # Fast, isolated development environments using Docker +AddPackage emacs # The extensible, customizable, self-documenting real-time display editor +AddPackage gcc # The GNU Compiler Collection - C and C++ frontends +AddPackage gcc-libs # Runtime libraries shipped by GCC +AddPackage git # the fast distributed version control system +AddPackage gawk # GNU version of awk +AddPackage go # Core compiler tools for the Go programming language +AddPackage graphviz # Graph visualization software +AddPackage jdk11-openjdk # OpenJDK Java 11 development kit +AddPackage jdk8-openjdk # OpenJDK Java 8 development kit +AddPackage jre11-openjdk-headless # OpenJDK Java 11 headless runtime environment +AddPackage make # GNU make utility to maintain groups of programs +AddPackage minikube # A tool that makes it easy to run Kubernetes locally +AddPackage nodejs # Evented I/O for V8 javascript +AddPackage podman # Tool and library for running OCI-based containers in pods +AddPackage python # Next generation of the python high-level scripting language +AddPackage python2-pip # The PyPA recommended tool for installing Python packages +AddPackage python-pdftotext # Simple PDF text extraction +AddPackage python-pip # The PyPA recommended tool for installing Python packages +AddPackage ruby # An object-oriented language for quick and easy programming +AddPackage rust # Systems programming language focused on safety, speed and concurrency +AddPackage shellcheck # Shell script analysis tool +AddPackage shfmt # Format shell programs +AddPackage stylelint # Mighty, modern CSS linter +AddPackage vagrant # Build and distribute virtualized development environments +AddPackage vi # The original ex/vi text editor +AddPackage vim # Vi Improved, a highly configurable, improved version of the vi text editor +AddPackage virt-manager # Desktop user interface for managing virtual machines +AddPackage virtualbox # Powerful x86 virtualization for enterprise as well as home use +AddPackage virtualbox-host-modules-arch # Virtualbox host kernel modules for Arch Kernel +AddPackage --foreign arduino-mk # A Makefile for Arduino Sketches +AddPackage --foreign drawio-desktop-bin # Diagram drawing application built on web technology +AddPackage --foreign gvm # Go Version Manager +AddPackage --foreign js-beautify # Beautify JavaScript/JSON (jsbeautifier.org) +AddPackage --foreign lens-bin # The Kubernetes IDE +AddPackage --foreign python36 # Major release 3.6 of the Python high-level programming language +AddPackage --foreign python37 # Major release 3.7 of the Python high-level programming language +AddPackage --foreign redis-desktop-manager # Open source cross-platform Redis Desktop Manager based on Qt 5 +AddPackage --foreign postman-bin # Build, test, and document your APIs faster +AddPackage eslint # An AST-based pattern checker for JavaScript +AddPackage gopls # Language server for Go programming language +AddPackage python-black # Uncompromising Python code formatter +AddPackage python-language-server # An implementation of the Language Server Protocol for Python +AddPackage tidy # A tool to tidy down your HTML code to a clean style +AddPackage typescript # TypeScript is a language for application scale JavaScript development +AddPackage zshdb # A debugger for zsh scripts. +AddPackage --foreign goreleaser-bin # Deliver Go binaries as fast and easily as possible +AddPackage --foreign vue-cli # Standard tooling for Vue.js development +AddPackage --foreign yaml-language-server-bin # Language server implementation for YAML files and optional schema support diff --git a/packages/arch/90-misc.sh b/packages/arch/90-misc.sh new file mode 100644 index 0000000..60b84b9 --- /dev/null +++ b/packages/arch/90-misc.sh @@ -0,0 +1,32 @@ +AddPackage armagetronad # A Tron Clone in 3D. +AddPackage calibre # Ebook management application +AddPackage chromium # A web browser built for speed, simplicity, and security +AddPackage discord # All-in-one voice and text chat for gamers that's free and secure. +AddPackage firefox # Standalone web browser from mozilla.org +AddPackage gimp # GNU Image Manipulation Program +AddPackage gnucash # Personal and small-business financial-accounting application +AddPackage gajim # Full featured and easy to use XMPP (Jabber) client +AddPackage mpc # Minimalist command line interface to MPD +AddPackage mpd # Flexible, powerful, server-side application for playing music +AddPackage mpv # a free, open source, and cross-platform media player +AddPackage mumble # An Open Source, low-latency, high quality voice chat software (client) +AddPackage recordmydesktop # Produces a OGG encapsulated Theora/Vorbis recording of your desktop +AddPackage syncthing # Open Source Continuous Replication / Cluster Synchronization Thing +AddPackage teeworlds # Fast-paced multiplayer 2D shooter game +AddPackage telegram-desktop # Official Telegram Desktop client +AddPackage vlc # Multi-platform MPEG, VCD/DVD, and DivX player +AddPackage --foreign google-chrome # The popular and trusted web browser by Google (Stable Channel) +AddPackage --foreign rambox-bin # Free and Open Source messaging and emailing app that combines common web applications into one. +AddPackage --foreign spotify # A proprietary music streaming service +AddPackage --foreign teamviewer # All-In-One Software for Remote Support and Online Meetings +AddPackage --foreign zoom # Video Conferencing and Web Conferencing Service +AddPackage qutebrowser # A keyboard-driven, vim-like browser based on PyQt5 +AddPackage --foreign brew-git # The missing package manager for macOS (or Linux) +AddPackage lib32-gst-plugins-base-libs # GStreamer Multimedia Framework Base Plugin libraries (32-bit) +AddPackage lib32-gtk3 # GObject-based multi-platform GUI toolkit +AddPackage lib32-libxslt # XML stylesheet transformation library (32-bit) +AddPackage lib32-ocl-icd # OpenCL ICD Bindings (32-bit) +AddPackage lib32-v4l-utils # Userspace tools and conversion library for Video 4 Linux (32-bit) +AddPackage steam # Valve's digital software delivery system +AddPackage steam-native-runtime # Native replacement for the Steam runtime using system libraries +AddPackage wine-staging # A compatibility layer for running Windows programs - Staging branch diff --git a/packages/brew/Brewfile b/packages/brew/Brewfile new file mode 100644 index 0000000..7046670 --- /dev/null +++ b/packages/brew/Brewfile @@ -0,0 +1,43 @@ +tap "datawire/blackbird" +tap "goreleaser/tap" +tap "homebrew/bundle" +tap "homebrew/core" +tap "instrumenta/instrumenta" +tap "johanhaleby/kubetail" +tap "kaos/shell" +tap "little-angry-clouds/my-brews", "git@github.com:little-angry-clouds/homebrew-my-brews.git" +tap "norwoodj/tap" +tap "sl1pm4t/k2tf", "https://github.com/sl1pm4t/k2tf.git" +tap "vektra/tap" +brew "act" +brew "aws-iam-authenticator" +brew "bats-core" +brew "ccat" +brew "drone-cli" +brew "exa" +brew "fzf" +brew "glow" +brew "go" +brew "golangci-lint" +brew "hugo" +brew "jsonnet" +brew "kind" +brew "kubespy" +brew "kustomize" +brew "operator-sdk" +brew "sampler" +brew "starship" +brew "terraform-docs" +brew "tfenv" +brew "tflint" +brew "vegeta" +brew "yamllint" +brew "instrumenta/instrumenta/kubeval" +brew "johanhaleby/kubetail/kubetail" +brew "little-angry-clouds/my-brews/helmenv" +brew "little-angry-clouds/my-brews/kbenv" +brew "little-angry-clouds/my-brews/ocenv" +brew "little-angry-clouds/my-brews/particle" +brew "norwoodj/tap/helm-docs" +brew "sl1pm4t/k2tf/k2tf" +brew "vektra/tap/mockery" diff --git a/packages/brew/Brewfile.lock.json b/packages/brew/Brewfile.lock.json new file mode 100644 index 0000000..bd47b29 --- /dev/null +++ b/packages/brew/Brewfile.lock.json @@ -0,0 +1,786 @@ +{ + "entries": { + "tap": { + "datawire/blackbird": { + "revision": "7b15613dc2d97fa71f7823295062c7973d394f21" + }, + "goreleaser/tap": { + "revision": "2e7080a603bb0d12a9c0c45295d0ca7da90c4bbe" + }, + "homebrew/bundle": { + "revision": "5b6fa2f5fe5df3ff2cc5436045e1934b9be4ac13" + }, + "homebrew/core": { + "revision": "58f513fff83355b7e54a394952198a648f49cdfd" + }, + "johanhaleby/kubetail": { + "revision": "76674415e2eabb0588ba3052c74ae29aa637bcd9" + }, + "kaos/shell": { + "revision": "812249461e033305e63f983917503a4b82891fde" + }, + "little-angry-clouds/my-brews": { + "revision": "6cf76c8ff68b99d0c7acbfdec7d7679300554d98", + "options": { + "clone_target": "https://github.com/little-angry-clouds/homebrew-my-brews.git" + } + }, + "norwoodj/tap": { + "revision": "7950e649ae887a69a2ce98a52c3460d4408379dc" + }, + "sl1pm4t/k2tf": { + "revision": "b02132ef30421dfc13ea2c0617fae2f371c800dd", + "options": { + "clone_target": "https://github.com/sl1pm4t/k2tf.git" + } + }, + "vektra/tap": { + "revision": "0223b9f00b6a4637c511600e326afc40e59e833d" + } + }, + "brew": { + "aws-iam-authenticator": { + "version": "0.5.3", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/aws-iam-authenticator/blobs/sha256:30639bda3ecb72388aeabc0f3e6587f58bc9867dc6b3a9f3046e9d0ef659f122", + "sha256": "30639bda3ecb72388aeabc0f3e6587f58bc9867dc6b3a9f3046e9d0ef659f122" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/aws-iam-authenticator/blobs/sha256:a161d4ea3ef00ab85c8f0cea198e0dafde39cd3a76359b75ea22521c35eac7d6", + "sha256": "a161d4ea3ef00ab85c8f0cea198e0dafde39cd3a76359b75ea22521c35eac7d6" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/aws-iam-authenticator/blobs/sha256:192ace97a0c76ed0aceda060290db6abcde5af8ad7dfc30faaf5f4ed4ae92b6a", + "sha256": "192ace97a0c76ed0aceda060290db6abcde5af8ad7dfc30faaf5f4ed4ae92b6a" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/aws-iam-authenticator/blobs/sha256:c7f23ccd6bdd852a7c1928df437381204aa9da22a2f41eb3a5776864838f39db", + "sha256": "c7f23ccd6bdd852a7c1928df437381204aa9da22a2f41eb3a5776864838f39db" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/aws-iam-authenticator/blobs/sha256:8b4f5af9a91eda6c629d9fd98e098bdd27e3683a8ca9c2fff19a500edc721fb9", + "sha256": "8b4f5af9a91eda6c629d9fd98e098bdd27e3683a8ca9c2fff19a500edc721fb9" + } + } + } + }, + "bats-core": { + "version": "1.3.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/bats-core/blobs/sha256:fae69721e6ec6a1b07e1d10699187640ef4e5e939460a496bd304d03beb08364", + "sha256": "fae69721e6ec6a1b07e1d10699187640ef4e5e939460a496bd304d03beb08364" + } + } + } + }, + "ccat": { + "version": "1.1.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/ccat/blobs/sha256:2203ed8600403a7ebedf60ff3b1f7eac6bdd0793521d759c43f5a4c6ee0d0f42", + "sha256": "2203ed8600403a7ebedf60ff3b1f7eac6bdd0793521d759c43f5a4c6ee0d0f42" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/ccat/blobs/sha256:56555b8a3744a0af29b6bddcab2587457bb8622f78484b38fbbaceab88ea3f5b", + "sha256": "56555b8a3744a0af29b6bddcab2587457bb8622f78484b38fbbaceab88ea3f5b" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/ccat/blobs/sha256:aec38270a3b41a57fe6d05df08eea67042f2b65a2a5de30b2452afefd81a6d9d", + "sha256": "aec38270a3b41a57fe6d05df08eea67042f2b65a2a5de30b2452afefd81a6d9d" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/ccat/blobs/sha256:0170dc610f0561cd562a2614f5bb0139cad5d37133a4181318a0edc08b3182c9", + "sha256": "0170dc610f0561cd562a2614f5bb0139cad5d37133a4181318a0edc08b3182c9" + }, + "high_sierra": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/ccat/blobs/sha256:895c26dc74369ef72990fd79447e654f5266dda9c662d3bed2926caab7180678", + "sha256": "895c26dc74369ef72990fd79447e654f5266dda9c662d3bed2926caab7180678" + }, + "sierra": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/ccat/blobs/sha256:aab86cfae41d1f4f9c93ad3a1680f21a5a0e9fad61190101582235174e4e214c", + "sha256": "aab86cfae41d1f4f9c93ad3a1680f21a5a0e9fad61190101582235174e4e214c" + }, + "el_capitan": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/ccat/blobs/sha256:10eb7df98a05c968f006bbda2c6f690bd7d5053e4bb6d2c9c4a043616648a23b", + "sha256": "10eb7df98a05c968f006bbda2c6f690bd7d5053e4bb6d2c9c4a043616648a23b" + }, + "yosemite": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/ccat/blobs/sha256:063b4cab434b5d16e8884aad6eb7d18068c33f9ec884fabf5ada3ad821428897", + "sha256": "063b4cab434b5d16e8884aad6eb7d18068c33f9ec884fabf5ada3ad821428897" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/ccat/blobs/sha256:367d83eed7e3770942329b8a196b93ecbcc66f12e4ccd207ba306bcb96be1d61", + "sha256": "367d83eed7e3770942329b8a196b93ecbcc66f12e4ccd207ba306bcb96be1d61" + } + } + } + }, + "drone-cli": { + "version": "1.2.4", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/drone-cli/blobs/sha256:5eb1960f5073fe2dbe0cebb658c9b31b905d9b77f9dea41a1e65cb01331875e9", + "sha256": "5eb1960f5073fe2dbe0cebb658c9b31b905d9b77f9dea41a1e65cb01331875e9" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/drone-cli/blobs/sha256:b0f855c942279e6f28de3fd52611f6e88f5d9a7feb008f49d1f66a00752f2b25", + "sha256": "b0f855c942279e6f28de3fd52611f6e88f5d9a7feb008f49d1f66a00752f2b25" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/drone-cli/blobs/sha256:1d6f199fd82f2da5bef17f40640011b69c3c1ba67816c2db6f5bbcbb1da52ba0", + "sha256": "1d6f199fd82f2da5bef17f40640011b69c3c1ba67816c2db6f5bbcbb1da52ba0" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/drone-cli/blobs/sha256:af2957381fb2fe8dae4ed3d0b2f42d0d012321c58648d701f4592ed5821ddd4d", + "sha256": "af2957381fb2fe8dae4ed3d0b2f42d0d012321c58648d701f4592ed5821ddd4d" + } + } + } + }, + "exa": { + "version": "0.10.1", + "bottle": { + "rebuild": 1, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/exa/blobs/sha256:2b9cc70621644245ce1ab1b682e28efae4b8acdbf3bf4da9cf91ddbd786b8787", + "sha256": "2b9cc70621644245ce1ab1b682e28efae4b8acdbf3bf4da9cf91ddbd786b8787" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/exa/blobs/sha256:d0c809ae7a8d3a43e0c907854b46725f5ad6bb14fa40a9857ff4e74f15c0b961", + "sha256": "d0c809ae7a8d3a43e0c907854b46725f5ad6bb14fa40a9857ff4e74f15c0b961" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/exa/blobs/sha256:dc183942b94bac912f4e0a6ca5c8859fa755a95de2808bd978dde3911690f0ae", + "sha256": "dc183942b94bac912f4e0a6ca5c8859fa755a95de2808bd978dde3911690f0ae" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/exa/blobs/sha256:62fac977958ef8a9856e7a28fceac53d4f6e327e11764d1a077fb34ac83aced0", + "sha256": "62fac977958ef8a9856e7a28fceac53d4f6e327e11764d1a077fb34ac83aced0" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/exa/blobs/sha256:ed493374b9ae2257a43ac0ed5d3a69e91eed17924d1bb9e6b2822a73343f09a0", + "sha256": "ed493374b9ae2257a43ac0ed5d3a69e91eed17924d1bb9e6b2822a73343f09a0" + } + } + } + }, + "fzf": { + "version": "0.27.2", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/fzf/blobs/sha256:ae9fddf6be0736d872e48199d3f59517b48e4d5fa9fe609e61c6ca9f4dc2e582", + "sha256": "ae9fddf6be0736d872e48199d3f59517b48e4d5fa9fe609e61c6ca9f4dc2e582" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/fzf/blobs/sha256:47ca85feb2e71a465580b5dd0912ed365c1015de175c81570309045abb847c96", + "sha256": "47ca85feb2e71a465580b5dd0912ed365c1015de175c81570309045abb847c96" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/fzf/blobs/sha256:47ca85feb2e71a465580b5dd0912ed365c1015de175c81570309045abb847c96", + "sha256": "47ca85feb2e71a465580b5dd0912ed365c1015de175c81570309045abb847c96" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/fzf/blobs/sha256:47ca85feb2e71a465580b5dd0912ed365c1015de175c81570309045abb847c96", + "sha256": "47ca85feb2e71a465580b5dd0912ed365c1015de175c81570309045abb847c96" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/fzf/blobs/sha256:9ba0e0df8e7b002f8a8085d2571470ff5916bfeb049f48129ac6416a1f026892", + "sha256": "9ba0e0df8e7b002f8a8085d2571470ff5916bfeb049f48129ac6416a1f026892" + } + } + } + }, + "glow": { + "version": "1.4.1", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/glow/blobs/sha256:c7e15ba449c8f2720d93f8bde3f80fa3e27c82cf5bacc2944114ec4650a25d45", + "sha256": "c7e15ba449c8f2720d93f8bde3f80fa3e27c82cf5bacc2944114ec4650a25d45" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/glow/blobs/sha256:c76069ff642658ed8b51fd903b1a5a5892247de72f7f62f29e10d46cae3e6caf", + "sha256": "c76069ff642658ed8b51fd903b1a5a5892247de72f7f62f29e10d46cae3e6caf" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/glow/blobs/sha256:4e713fa69e7d61139e8e7f904c675d2bfbabba9977316c22b4868f3bf5e0c77e", + "sha256": "4e713fa69e7d61139e8e7f904c675d2bfbabba9977316c22b4868f3bf5e0c77e" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/glow/blobs/sha256:22926fb845a37fd3dd9bee91e5af5575204480c5dfa2a6826cdb70fed07a80d1", + "sha256": "22926fb845a37fd3dd9bee91e5af5575204480c5dfa2a6826cdb70fed07a80d1" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/glow/blobs/sha256:f737dcded65ba0209e7a4512bd4cad9dc78e236bafc479e4e17531c742a81680", + "sha256": "f737dcded65ba0209e7a4512bd4cad9dc78e236bafc479e4e17531c742a81680" + } + } + } + }, + "go": { + "version": "1.16.5", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": "/opt/homebrew/Cellar", + "url": "https://ghcr.io/v2/linuxbrew/core/go/blobs/sha256:dde21eedfa67da23db70cf977ae82c0cadd5acf2a326cb91853ff54d0cf5886f", + "sha256": "dde21eedfa67da23db70cf977ae82c0cadd5acf2a326cb91853ff54d0cf5886f" + }, + "big_sur": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/linuxbrew/core/go/blobs/sha256:416c5e2b7247c78482a5465f79d83c0240ee0c9098c8c7429f9c7af073402cc9", + "sha256": "416c5e2b7247c78482a5465f79d83c0240ee0c9098c8c7429f9c7af073402cc9" + }, + "catalina": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/linuxbrew/core/go/blobs/sha256:8a7564fab7f715feed7506e3cc30f20295fd62914418fb636a5a4c4ca1fc7398", + "sha256": "8a7564fab7f715feed7506e3cc30f20295fd62914418fb636a5a4c4ca1fc7398" + }, + "mojave": { + "cellar": "/usr/local/Cellar", + "url": "https://ghcr.io/v2/linuxbrew/core/go/blobs/sha256:a232e1f840525ab1e9411ba4edaa74c2bb73705e8e6feb7506649a7d608f9292", + "sha256": "a232e1f840525ab1e9411ba4edaa74c2bb73705e8e6feb7506649a7d608f9292" + }, + "x86_64_linux": { + "cellar": "/home/linuxbrew/.linuxbrew/Cellar", + "url": "https://ghcr.io/v2/linuxbrew/core/go/blobs/sha256:efe39d8db1c054fa8d6169ee2a024b4267313215a5d03ab34bebdb6a87e8554d", + "sha256": "efe39d8db1c054fa8d6169ee2a024b4267313215a5d03ab34bebdb6a87e8554d" + } + } + } + }, + "helmfile": { + "version": "0.139.9", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/helmfile/blobs/sha256:62b3054b94851833708156427d140d6912f5839866abef6cb6f5478768fd0af9", + "sha256": "62b3054b94851833708156427d140d6912f5839866abef6cb6f5478768fd0af9" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/helmfile/blobs/sha256:6740b599a258886d8c9f1cd552e0d443bf2cd48ade47620ed2e4393c0ed0f876", + "sha256": "6740b599a258886d8c9f1cd552e0d443bf2cd48ade47620ed2e4393c0ed0f876" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/helmfile/blobs/sha256:d4a4be4d6092d45df93e82b8be6db4956279c762883b8ce0e7e46d9ccad8be98", + "sha256": "d4a4be4d6092d45df93e82b8be6db4956279c762883b8ce0e7e46d9ccad8be98" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/helmfile/blobs/sha256:56ecbed36bf995e8a1e9f4babfbff03b2de3114f3e3e333230b278b83a3dc1ae", + "sha256": "56ecbed36bf995e8a1e9f4babfbff03b2de3114f3e3e333230b278b83a3dc1ae" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/helmfile/blobs/sha256:2de9e091a4209269971534c8a6942712507c1b440bb9185cf606aebb63a444ec", + "sha256": "2de9e091a4209269971534c8a6942712507c1b440bb9185cf606aebb63a444ec" + } + } + } + }, + "hugo": { + "version": "0.83.1", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/hugo/blobs/sha256:f5997a1858e300787cd6e2e01ff8f87f0d3233f42af4becc040448ce06524d53", + "sha256": "f5997a1858e300787cd6e2e01ff8f87f0d3233f42af4becc040448ce06524d53" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/hugo/blobs/sha256:32ad322954e9c2962849495c88c88e461d21a0a7d3bfa3aa4892ee34f569bf81", + "sha256": "32ad322954e9c2962849495c88c88e461d21a0a7d3bfa3aa4892ee34f569bf81" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/hugo/blobs/sha256:99078c665152420113fac08aaea7bdf2f8fe230696b724448bb9f2244cfdec55", + "sha256": "99078c665152420113fac08aaea7bdf2f8fe230696b724448bb9f2244cfdec55" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/hugo/blobs/sha256:a45ae895351a549639b40bdbb2a630e8a11ffb68d78a0aa7577faedce4c011d4", + "sha256": "a45ae895351a549639b40bdbb2a630e8a11ffb68d78a0aa7577faedce4c011d4" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/hugo/blobs/sha256:ab99dbb9bb2ac1df5d581666ab26ad66166810e7e9580feccee50d31383ace97", + "sha256": "ab99dbb9bb2ac1df5d581666ab26ad66166810e7e9580feccee50d31383ace97" + } + } + } + }, + "jsonnet": { + "version": "0.17.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/jsonnet/blobs/sha256:96cbd225f3a8d64bda895c4052b2af3a3e1d5bbe137ba017aa3d4c8127cf9d68", + "sha256": "96cbd225f3a8d64bda895c4052b2af3a3e1d5bbe137ba017aa3d4c8127cf9d68" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/jsonnet/blobs/sha256:dd84e7d6175e98b4839c009120569ece03b5b98db3f152f97ca05b5ae7169843", + "sha256": "dd84e7d6175e98b4839c009120569ece03b5b98db3f152f97ca05b5ae7169843" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/jsonnet/blobs/sha256:4e06530634324040a69a9f22018e154febc71467cadf2498806d9ba07b06a1b3", + "sha256": "4e06530634324040a69a9f22018e154febc71467cadf2498806d9ba07b06a1b3" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/jsonnet/blobs/sha256:1e4faf2a09e9a233275d78ede532a0e757d3f8cc9b0ab152326ff9ea9d244dba", + "sha256": "1e4faf2a09e9a233275d78ede532a0e757d3f8cc9b0ab152326ff9ea9d244dba" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/jsonnet/blobs/sha256:a693d72ef0db06f63ec19566cb9eaf3344e0a47ed2cba9557c05a48d412d0515", + "sha256": "a693d72ef0db06f63ec19566cb9eaf3344e0a47ed2cba9557c05a48d412d0515" + } + } + } + }, + "kind": { + "version": "0.11.1", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kind/blobs/sha256:29920822e416eea3f363200b64666756a2979aa186e067b3794bb5466aeaaf35", + "sha256": "29920822e416eea3f363200b64666756a2979aa186e067b3794bb5466aeaaf35" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kind/blobs/sha256:116a1749c6aee8ad7282caf3a3d2616d11e6193c839c8797cde045cddd0e1138", + "sha256": "116a1749c6aee8ad7282caf3a3d2616d11e6193c839c8797cde045cddd0e1138" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kind/blobs/sha256:15aa1527c8886da5ce345ae84f255fd33ee9726acef8c6ba1f33c2f5af8d6a96", + "sha256": "15aa1527c8886da5ce345ae84f255fd33ee9726acef8c6ba1f33c2f5af8d6a96" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kind/blobs/sha256:f506e71e34e0e43f48425a733b77d4f7f574861d52041d6c3a8a7220ae49943f", + "sha256": "f506e71e34e0e43f48425a733b77d4f7f574861d52041d6c3a8a7220ae49943f" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kind/blobs/sha256:bc95e3a9414bcb9ace9eba0f46a1796080f7bd50f4eedabaea016cae05611398", + "sha256": "bc95e3a9414bcb9ace9eba0f46a1796080f7bd50f4eedabaea016cae05611398" + } + } + } + }, + "kubespy": { + "version": "0.6.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kubespy/blobs/sha256:f01f8a5ff0489b2f60c6e05c3e2703e8ed304cad34b4f5b7be5a386d8c291657", + "sha256": "f01f8a5ff0489b2f60c6e05c3e2703e8ed304cad34b4f5b7be5a386d8c291657" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kubespy/blobs/sha256:0cd06ee898d017e009d6825ced4f01859987f9bfa0d41db8d4094268b880553e", + "sha256": "0cd06ee898d017e009d6825ced4f01859987f9bfa0d41db8d4094268b880553e" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kubespy/blobs/sha256:c803662722beea17aa638cfab61ca1b47326ca4e9c6fc8522d3e8776c43cb7bb", + "sha256": "c803662722beea17aa638cfab61ca1b47326ca4e9c6fc8522d3e8776c43cb7bb" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kubespy/blobs/sha256:02dd7561ce07c576d9ab3de63dbcdf0c43ccc75a00260f44b56d036076059662", + "sha256": "02dd7561ce07c576d9ab3de63dbcdf0c43ccc75a00260f44b56d036076059662" + }, + "high_sierra": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kubespy/blobs/sha256:c573da0ba80217ac5ce529fa070b5ecfb398e1554c93f1d824b1df9bcc16c406", + "sha256": "c573da0ba80217ac5ce529fa070b5ecfb398e1554c93f1d824b1df9bcc16c406" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kubespy/blobs/sha256:7b408874289813f151e3f384f27789768436bd32c781db325a5ac715e0df1861", + "sha256": "7b408874289813f151e3f384f27789768436bd32c781db325a5ac715e0df1861" + } + } + } + }, + "kustomize": { + "version": "4.1.3", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kustomize/blobs/sha256:c2bc5bcc4b395ba3b3e512a2a9815ae81a5411416380c0520d726db2b8668407", + "sha256": "c2bc5bcc4b395ba3b3e512a2a9815ae81a5411416380c0520d726db2b8668407" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kustomize/blobs/sha256:a5876e31685b13273f268264860af816b4348e8a178d99aea8cf3de01a8d5558", + "sha256": "a5876e31685b13273f268264860af816b4348e8a178d99aea8cf3de01a8d5558" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kustomize/blobs/sha256:529377a3a884549413e67ff95c159e71d7f62b516009e5c0e8320b3d8a3723ad", + "sha256": "529377a3a884549413e67ff95c159e71d7f62b516009e5c0e8320b3d8a3723ad" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kustomize/blobs/sha256:1ff7509083a9fefb1d931592318ca1649eb8ed17b28eeec5287a259302a024ec", + "sha256": "1ff7509083a9fefb1d931592318ca1649eb8ed17b28eeec5287a259302a024ec" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/kustomize/blobs/sha256:3b8025d04b3d0a7b9059906b6b024b01e546598bc2fd83c9303856f269cde78d", + "sha256": "3b8025d04b3d0a7b9059906b6b024b01e546598bc2fd83c9303856f269cde78d" + } + } + } + }, + "logcli": { + "version": "2.2.1", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/logcli/blobs/sha256:575dca679106ab8ce08f4424a1b56222cec4f95ac593beb058846c6333363ce4", + "sha256": "575dca679106ab8ce08f4424a1b56222cec4f95ac593beb058846c6333363ce4" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/logcli/blobs/sha256:7fb693fd292ab4918059c8c24d638ec9739273a75489e211a79fbbeaa06d19f9", + "sha256": "7fb693fd292ab4918059c8c24d638ec9739273a75489e211a79fbbeaa06d19f9" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/logcli/blobs/sha256:112e29ca1fcc7d1814c720711c9d065bd861065bf47c613d2b5be2bc8e6c0e39", + "sha256": "112e29ca1fcc7d1814c720711c9d065bd861065bf47c613d2b5be2bc8e6c0e39" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/logcli/blobs/sha256:bd651c8a96c2fc1f3b56a4519b3880e54929962e1e49fb9122ace4ff0fde0ad9", + "sha256": "bd651c8a96c2fc1f3b56a4519b3880e54929962e1e49fb9122ace4ff0fde0ad9" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/logcli/blobs/sha256:7babc002268e53cdd7d3539b77ad6ad29ae2e1010d5d847da24ac4d3dcfb8bf6", + "sha256": "7babc002268e53cdd7d3539b77ad6ad29ae2e1010d5d847da24ac4d3dcfb8bf6" + } + } + } + }, + "operator-sdk": { + "version": "1.8.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/operator-sdk/blobs/sha256:864267e4c586a03de14a612f604ad0c46d27b96b333f048721ec7cc5af8dc836", + "sha256": "864267e4c586a03de14a612f604ad0c46d27b96b333f048721ec7cc5af8dc836" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/operator-sdk/blobs/sha256:c097f8d768bd4ef739d6ef71eabfa5139ea2c6ca114143e182cf2268ddf9a55d", + "sha256": "c097f8d768bd4ef739d6ef71eabfa5139ea2c6ca114143e182cf2268ddf9a55d" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/operator-sdk/blobs/sha256:4f83d038d343bc16f5ab9b5814247a4a396968f66513215c2ce5e6a9e5090a67", + "sha256": "4f83d038d343bc16f5ab9b5814247a4a396968f66513215c2ce5e6a9e5090a67" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/operator-sdk/blobs/sha256:2a2eaa53558d93460be9da719bddc034eefd1de14733cd604252725d269256a2", + "sha256": "2a2eaa53558d93460be9da719bddc034eefd1de14733cd604252725d269256a2" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/operator-sdk/blobs/sha256:4f97fec7c34a33559cd4a88244b521251495e69b4e8d1514d4951cbf47d09d03", + "sha256": "4f97fec7c34a33559cd4a88244b521251495e69b4e8d1514d4951cbf47d09d03" + } + } + } + }, + "sampler": { + "version": "1.1.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/sampler/blobs/sha256:330a2e3de5d8352c9d11fa8d7f850b8fe41f869b2ec6f953944a500d0ba2143b", + "sha256": "330a2e3de5d8352c9d11fa8d7f850b8fe41f869b2ec6f953944a500d0ba2143b" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/sampler/blobs/sha256:3dd48615b2dd049e17d2635df81cd8f312e004d2e9c50a0d68d7f4f40516e61c", + "sha256": "3dd48615b2dd049e17d2635df81cd8f312e004d2e9c50a0d68d7f4f40516e61c" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/sampler/blobs/sha256:1b4a4c841691d8a6ca9ea4649092684511bff1f60d7d80e364db13115f2e6399", + "sha256": "1b4a4c841691d8a6ca9ea4649092684511bff1f60d7d80e364db13115f2e6399" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/sampler/blobs/sha256:b50240b4f199da6d55d4645dfd3d2b0fc3406d20a504ba9af4d3b545196438b1", + "sha256": "b50240b4f199da6d55d4645dfd3d2b0fc3406d20a504ba9af4d3b545196438b1" + }, + "high_sierra": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/sampler/blobs/sha256:163b575ff369f264605bdc69c0fc838e44e706f8b6c527bb343cbfb18a9b1fdc", + "sha256": "163b575ff369f264605bdc69c0fc838e44e706f8b6c527bb343cbfb18a9b1fdc" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/sampler/blobs/sha256:f3a60c290fb91e2a621778e53865d71808db100e5590c114792c5c20687645ff", + "sha256": "f3a60c290fb91e2a621778e53865d71808db100e5590c114792c5c20687645ff" + } + } + } + }, + "starship": { + "version": "0.54.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/starship/blobs/sha256:31903635888839b61e44b2188f62537d3518f6a843eba736099c6893e1e218e7", + "sha256": "31903635888839b61e44b2188f62537d3518f6a843eba736099c6893e1e218e7" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/starship/blobs/sha256:067e82cacc903f629080dfba420ce399746687462ace76b2ff6647b817214b43", + "sha256": "067e82cacc903f629080dfba420ce399746687462ace76b2ff6647b817214b43" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/starship/blobs/sha256:925141ca99c499ac594ca573107137dfab155829993bb59e12baddcd95892508", + "sha256": "925141ca99c499ac594ca573107137dfab155829993bb59e12baddcd95892508" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/starship/blobs/sha256:e1a2acdeaafb837ededbeed7aaee2e242fd2433985d6b3fb261858db4a64ad6f", + "sha256": "e1a2acdeaafb837ededbeed7aaee2e242fd2433985d6b3fb261858db4a64ad6f" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/starship/blobs/sha256:a19adcc7d8db338b7cdea19387277437fe8cf214be28688e34c69a7bbb618872", + "sha256": "a19adcc7d8db338b7cdea19387277437fe8cf214be28688e34c69a7bbb618872" + } + } + } + }, + "tfenv": { + "version": "2.2.2", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/tfenv/blobs/sha256:89881336b91728f3fc49c497d3be4ca37cfa7b3f3357c9c0ca06719252fb0620", + "sha256": "89881336b91728f3fc49c497d3be4ca37cfa7b3f3357c9c0ca06719252fb0620" + } + } + } + }, + "tflint": { + "version": "0.29.1", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/tflint/blobs/sha256:1e060e0b20235adcee9ab0b4b6abde7a192eabdd77b3738a30674934183108d9", + "sha256": "1e060e0b20235adcee9ab0b4b6abde7a192eabdd77b3738a30674934183108d9" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/tflint/blobs/sha256:e01ac3515617dd70d63b7ec71581adfe52f2a9f6eff3ec531c1e7e6bd08db1a3", + "sha256": "e01ac3515617dd70d63b7ec71581adfe52f2a9f6eff3ec531c1e7e6bd08db1a3" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/tflint/blobs/sha256:47f1cf2ae35d3e92408c4ac05681c3dee333f8ea5e76c683454e44be3316f1d2", + "sha256": "47f1cf2ae35d3e92408c4ac05681c3dee333f8ea5e76c683454e44be3316f1d2" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/tflint/blobs/sha256:bf07e18a2aded917879823ac1a1e240caeaa2995a587a1b61dc52570387b7331", + "sha256": "bf07e18a2aded917879823ac1a1e240caeaa2995a587a1b61dc52570387b7331" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/tflint/blobs/sha256:27a06cc5490f878cd619523183812bc6219291dd1afbb9c2f485896bcec0e7d6", + "sha256": "27a06cc5490f878cd619523183812bc6219291dd1afbb9c2f485896bcec0e7d6" + } + } + } + }, + "vegeta": { + "version": "12.8.4", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/linuxbrew/core", + "files": { + "arm64_big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/vegeta/blobs/sha256:7d95ea4ba41b01adc23e73959805a728a4d279cac33448685cced10e268e2965", + "sha256": "7d95ea4ba41b01adc23e73959805a728a4d279cac33448685cced10e268e2965" + }, + "big_sur": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/vegeta/blobs/sha256:1f2ea9a3a871ff2f93ee65f1a5977aece4479835d954026342ac0c5eb523db27", + "sha256": "1f2ea9a3a871ff2f93ee65f1a5977aece4479835d954026342ac0c5eb523db27" + }, + "catalina": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/vegeta/blobs/sha256:63b383f4cdff26cc0bf4ba3e24a84ea6d7485a9a61fe49ac62b09f39c5f01e13", + "sha256": "63b383f4cdff26cc0bf4ba3e24a84ea6d7485a9a61fe49ac62b09f39c5f01e13" + }, + "mojave": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/vegeta/blobs/sha256:76e2d89891ecee0bfa07e939619683cae2d954bca2c5524a6e87b84c105c6c25", + "sha256": "76e2d89891ecee0bfa07e939619683cae2d954bca2c5524a6e87b84c105c6c25" + }, + "high_sierra": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/vegeta/blobs/sha256:df3853752133b68c20a9d054c12d36d531779fe595bc6011bb1e2d3245e9df2d", + "sha256": "df3853752133b68c20a9d054c12d36d531779fe595bc6011bb1e2d3245e9df2d" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/linuxbrew/core/vegeta/blobs/sha256:fc6ae4daca501e6c037d90b2a9d896fca2053ae8dc3851c335c38f373b59077f", + "sha256": "fc6ae4daca501e6c037d90b2a9d896fca2053ae8dc3851c335c38f373b59077f" + } + } + } + }, + "goreleaser/tap/goreleaser": { + "version": "0.169.0", + "bottle": false + }, + "johanhaleby/kubetail/kubetail": { + "version": "1.6.13", + "bottle": false + }, + "little-angry-clouds/my-brews/helmenv": { + "version": "0.2.6", + "bottle": false + }, + "little-angry-clouds/my-brews/kbenv": { + "version": "0.2.6", + "bottle": false + }, + "norwoodj/tap/helm-docs": { + "version": "1.5.0", + "bottle": false + }, + "sl1pm4t/k2tf/k2tf": { + "version": "0.5.0", + "bottle": false + }, + "vektra/tap/mockery": { + "version": "2.8.0", + "bottle": false + } + } + }, + "system": { + "linux": { + "Arch Linux": { + "HOMEBREW_VERSION": "3.1.12-25-gd391331-dirty", + "HOMEBREW_PREFIX": "/opt/brew", + "Homebrew/linuxbrew-core": "58f513fff83355b7e54a394952198a648f49cdfd", + "GCC": "11.1.0" + } + } + } +}