diff --git a/README.md b/README.md index 7f5755f..2125ea0 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ I manage my dotfiles using [dotdrop](https://github.com/deadc0de6/dotdrop). && read DOTDROP_PROFILE \ && [[ -n ${DOTDROP_PROFILE} ]] && DOTDROP_PROFILE="-p${DOTDROP_PROFILE}" || DOTDROP_PROFILE="" \ && ~/.local/bin/dotdrop ${DOTDROP_PROFILE} --cfg=~/.files/config.yaml install \ - ; unset DOTDROP_PROFILE \ + && unset DOTDROP_PROFILE \ && export HOMEBREW_CASK_OPTS="--appdir=${HOME}/Applications" \ && brew bundle install --file=~/.files/config/brew/Brewfile \ && mkdir -p ~/workspace/{privat,work} \ @@ -121,6 +121,15 @@ defaults export ~/.files/config/plist/.plist defaults import ~/.files/config/plist/.plist ``` +## Brew + +### Install age encrypted Brewfile + +```shell +age --decrypt -i ~/.age/phg-age-dotfiles -o - ~/.files/config/brew/vw.Brewfile.age | brew bundle install --file=- +``` + + ## Documentation ~~Maybe you should [take a look to my documentation](https://docs.pphg.tech/) to understand how I use my dotfiles.~~ diff --git a/bootstrap/Brewfile b/bootstrap/Brewfile index 08b4805..0eb22ad 100644 --- a/bootstrap/Brewfile +++ b/bootstrap/Brewfile @@ -1,7 +1,14 @@ +# Simple, modern, secure file encryption brew "age" +# GNU File, Shell, and Text utilities brew "coreutils" +# Command-line fuzzy finder written in Go brew "fzf" +# Implementation of the file(1) command brew "libmagic" +# Mac App Store command-line interface brew "mas" +# Extremely fast Python package installer and resolver, written in Rust brew "uv" +# UNIX shell (command interpreter) brew "zsh" diff --git a/config.yaml b/config.yaml index b2d7de0..9934ef4 100644 --- a/config.yaml +++ b/config.yaml @@ -237,6 +237,10 @@ profiles: workspace: include: - os_ubuntu + WVDEWOBMC005505: + include: + - os_macos + - meta_vw WVDEWOBMC009075: include: - os_macos diff --git a/config/brew/Brewfile b/config/brew/Brewfile index b8a95a1..b16a2b4 100644 --- a/config/brew/Brewfile +++ b/config/brew/Brewfile @@ -1,89 +1,183 @@ tap "AlexStrNik/Browserino" tap "philocalyst/tap" -brew "asciinema" +tap "us/tap" +# Simple, modern, secure file encryption brew "age" +# Record and share terminal sessions +brew "asciinema" +# Bourne-Again SHell, a UNIX command interpreter brew "bash" +# Language Server for Bash brew "bash-language-server" +# Clone of cat(1) with syntax highlighting and Git integration brew "bat" +# Resource monitor. C++ version and continuation of bashtop and bpytop brew "btop" -brew "philocalyst/tap/caligula" +# Container runtimes on MacOS (and Linux) with minimal setup brew "colima", restart_service: :changed +# Create and run Linux containers using lightweight virtual machines +brew "container" +# GNU File, Shell, and Text utilities brew "coreutils" -brew "d2" +# Pack, ship and run any application as a lightweight container brew "docker" +# Disk Usage/Free Utility - a better 'df' alternative brew "duf" +# Modern, maintained replacement for ls brew "eza" +# Open-source framework for augmenting humans using AI brew "fabric-ai" +# Like neofetch, but much faster because written mostly in C +brew "fastfetch" +# macOS CLI for managing custom icons for files and folders +brew "fileicon" +# Command-line fuzzy finder written in Go brew "fzf" +# GitHub command-line tool brew "gh" +# Distributed revision control system brew "git" +# Command-line option parsing utility brew "gnu-getopt" -brew "go-task" +# Command-line tool for generating regular expressions brew "grex" +# Improved top (interactive process viewer) brew "htop" +# Calculate various network masks, etc. from a given IP address brew "ipcalc" +# CLI wrapper for basic network utilities on macOS - ip command brew "iproute2mac" +# Lightweight and flexible command-line JSON processor brew "jq" +# Lazier way to manage everything docker brew "lazydocker" +# Implementation of the file(1) command brew "libmagic" +# Sudoless performance monitoring for Apple Silicon processors brew "macmon" +# Securely transfers data between computers brew "magic-wormhole" +# Mac App Store command-line interface brew "mas" +# Polyglot runtime manager (asdf rust clone) brew "mise" +# Collection of tools that nobody wrote when UNIX was young brew "moreutils" +# Remote terminal application brew "mosh" +# Media player based on MPlayer and mplayer2 brew "mpv" +# 'traceroute' and 'ping' in a single tool brew "mtr" -brew "neofetch" +# NCurses Disk Usage brew "ncdu" +# Port scanning utility for large networks brew "nmap" -brew "pssh" +# Coreutils progress viewer brew "progress" +# Monitor data's progress through a pipe brew "pv" +# Search tool like grep and The Silver Searcher brew "ripgrep" +# Static analysis and lint tool, for (ba)sh scripts brew "ruff" +# Autoformat shell script source code brew "shellcheck" +# Autoformat shell script source code brew "shfmt" +# User interface to the TELNET protocol brew "telnet" +# Terminal UI for tshark, inspired by Wireshark brew "termshark" +# Code-search similar to ack brew "the_silver_searcher" +# Text interface for Git repositories brew "tig" +# Simplified and community-driven man pages brew "tldr" +# Terminal multiplexer brew "tmux" +# Unpack everything with one command brew "unp" +# Extremely fast Python package installer and resolver, written in Rust brew "uv" +# Executes a program periodically, showing output fullscreen brew "watch" +# Internet file retriever brew "wget" +# Process YAML, JSON, XML, CSV and properties documents from the CLI brew "yq" +# Feature-rich command-line audio/video downloader brew "yt-dlp" +# Shell extension to navigate your filesystem faster brew "zoxide" +# UNIX shell (command interpreter) brew "zsh" +# User-friendly, lightweight TUI for disk imaging +brew "philocalyst/tap/caligula", trusted: true +# Docker-compatible container CLI built on Apple's Containerization framework +brew "us/tap/mocker", trusted: true +# Sends audio from computer to outputs cask "airfoil" +# Menu bar tool to limit maximum charging percentage cask "aldente" +# Application launcher and productivity software cask "alfred" +# Utility to create and modify archives cask "betterzip" -cask "AlexStrNik/Browserino/browserino", args: { no_quarantine: true } +# Browserino is a tiny browser selector for MacOS written in SwiftUI +cask "AlexStrNik/Browserino/browserino", trusted: true +# Open source IDE for exploring and testing APIs cask "bruno" +# Menu bar usage monitor for Codex and Claude +cask "codexbar" +# Tool to run Windows software cask "crossover" +# UI for creating Windows installer ISO from UUPDump cask "crystalfetch" +# Web browser cask "firefox" +# Web browser cask "firefox@developer-edition" +# Utility for customizing which browser to start cask "finicky" +# Free and open-source media player cask "iina" +# System monitoring app cask "istat-menus" +# Terminal emulator as alternative to Apple's Terminal app cask "iterm2" +# Open-source keystroke visualiser cask "keycastr" +# Host-based application firewall cask "little-snitch", args: { appdir: "/Applications" } +# Speech recognition tool +cask "macwhisper" +# Utility that automatically downloads firmwares and installers cask "mist" +# Tool to control external monitor brightness & volume cask "monitorcontrol" +# Utility to move and zoom windows—on one display cask "moom" +# Desktop sync client for Nextcloud software products +cask "nextcloud" +# Knowledge base that works on top of a local folder of plain text Markdown files cask "obsidian" +# Remote pair programming cask "pop-app" +# Workspace simplifier - to organize your workspace and boost your productivity cask "rambox" +# Screen capture software cask "snagit" +# Sound and audio controller cask "soundsource" +# Text editor for code, markup and prose cask "sublime-text" +# Minimal GUI for AI code agents +cask "t3-code" +# Menu bar manager cask "thaw" +# Open-source code editor cask "visual-studio-code" go "dbohdan.com/age-edit" mas "AdGuard for Safari", id: 1440147259 @@ -92,7 +186,6 @@ mas "AusweisApp", id: 948660805 mas "DeArrow", id: 6451469297 mas "openterface", id: 6478481082 mas "Parcel", id: 375589283 -mas "Perplexity", id: 6714467650 mas "reMarkable", id: 1276493162 mas "Slack", id: 803453959 mas "SponsorBlock", id: 1573461917 diff --git a/config/brew/vw.Brewfile.age b/config/brew/vw.Brewfile.age index d232064..53cb421 100644 --- a/config/brew/vw.Brewfile.age +++ b/config/brew/vw.Brewfile.age @@ -1,11 +1,22 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1N0tmSDh4eXlnOEFxS1JS -cyt0TmlDNkhiNUxmMDFKS0JZSFFqOVNxRFg4CnNwYmVkSGFVdUlQeW5LTUZYNVB3 -ejJaUUZBMTkrN0J6aGlYaGg5Tk1NUVkKLS0tIG1OcVM4MVlmcHZJUThDS29aeDRq -bWdZS0dIenJuMWJ2b2lidzRYdHQ3MmMKBqQ5SUXhpEQMbsQ/LKkdmxEZxSSZDC4T -N7WVKP4GmE1A143P7fc/MicBw+ii5xUsdElGu4yS8jpEuEo7bpBbBwsGmO3fpSoy -vxtkSJ7KKs53ihMg8tJjvst5P0uX4rGBjS9RLxGDscLrtPwSOQxwGW4P7XZ6HTAI -0O51/2yHH50Kv6UhrBQue+zrtX1y13Q91KJ3XpepqrY/6DI/tVZVzBTQdKcyZnBM -ODTqw1zv7EDM+fgtM82TSv0MTdEUu8VPYBsTkKoXsdI5nEjcRt86XIT2NsQvu+Ta -iW0sYuVkgV7FpPBtqElVlIFPBButc3BA7g38/tZO+yGFr/Y= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzcXh6ZWRRbjN5bGNBUk9u +RlA2c2FTcVBDOG4yY3ZrUkxVejJKSXB1SEg0CjI5WFFlU3JEUDFaSGhqK3RaWGM2 +cytDanhUbUJPOFQ4RXV1RVBTUWMwRGsKLS0tIHE1NmY0L3ZEZWFiZFNsUXJySmRS +WWtGcVJaWjNoTzVpSHJBT3VKSGhXVVUK4VCKtlhBIeiIM2ykaclXMYgrOfmLdfLg +Xi/997wrEpkYb1G9Bbqy4DrOy0b+z25X/CuX/sCXXBFde7DtnRuN5gi+M+UaftKc +5JgMlsOL43CSfrpzPYVMZI9Qb9VGo8UKZ7AMRGC8a68BVeFbi7Umy1xHTI70ncut +xoR8Tu8eRC7UBnEH/GswNPt2d5AAcf0Ce1MKIQXfhJicb1MlNwLjIBACcCULl0op +WRlAqIGqpV28LLME1VgnBX5pQrYy0pXlzNmO3zjea5xMNvpXe5aeLLW8OoGKLil1 +cXO66patYqLChkNrlVitDGF46XaaHHyF+DvgWXmJTeNQn/oi0ljhs3l6EcBVU00I +OhwN1+A56mvQDfKg8KI5r8DWNCK+lE0UiAVgeVNzSTn3QIyquqB2s0u+hIRWP1QS +COAD1yeVVUe7zQycfJhQzI2SDCyTEtM5PKhyX9QYIbz9SnAYx4GGX+Ur7oA/sXaQ +nl7i3nVMtIfoR2zn6Qb25c3g+cfYXirFhJeZxXKdndLyUdzr8GRQXwUxHeheMLj7 ++GE0dY0Tjn/2DgaZTkawpH8keQBJ1le05J8znhGrr2jhhvrvyjfM0cneNnvkkjfW +J8snqT4hU5uGSnlbmdcTJL65/SDdsV1LUthzWEspDEEOY5yMzib9jyshyfOZH9XK +ZIXYUs8n1PrPnQU1l6ASIRjAFpDR+8vn2Go1ljhS/s39h8Ur/qIy7BvpnJSZufqa +VaR+I0FIhA09ldDJLZGUpjWRJTAARWD3vk6pJz9D398EIkY7aMfsBLB3SCRvQNMW +7TgunuLF6RIsWuHzgmzdFXeW/oVde6T50dMgwxxQPG4Zvzzf5/WfqXOCQ/2utnXi +19/VjqAv8KM7aOQdl3KcXEw5CAUjB6do4O5dlXcSsL/YU0taA37fkqKP4mHznQsV +cDWK7qo0AcaiGEDX6IroPacoZ6RbQuKJ4TV5ost2b5PuuF47AqCOli98r/t7M0gb +1DZnmDEtWZlB1OJbjR9TwDjuEpyOEUU06Rl14Y9NwjO30hU= -----END AGE ENCRYPTED FILE-----