Browse Source

docs(readme): add screenshot and install instructions

master
Josh Habdas 1 year ago
parent
commit
3857c6a85d
3 changed files with 90 additions and 77 deletions
  1. +29
    -27
      README.md
  2. +61
    -50
      bin/archuro
  3. BIN
      screenshots/photo_2019-10-19_01.50.16.jpeg

+ 29
- 27
README.md View File

@ -1,41 +1,46 @@
# Archuro
Portable Arch Linux development workflow and dotfile managment.
Portable Arch Linux development workflow for macOS Catalina.
## Features
- Cross-platform shell shell envrionment abstraction
- Simple CLI for managing Arch Linux on macOS Catalina
- SCM-friendly [dotfile] management using GNU Stow
- CLI to manage Arch Linux containers on macOS Catalina
- 2 terminals: [Kitty](https://github.com/kovidgoyal/kitty), [Hyper](https://hyper.is) (open on macOS and type `hyper i verminal` for translucency)
- Hotkey access to `archuro tty` command using `Ctrl+p` (Bash 5 only for now)
- SCM-friendly dotfile management using GNU Stow
- Bash 5 with patches and programmable command completions
- Opinionated Brew manifest with customizable dependencies
- Vivialdi web browser for productivity and development
- Themed Kitty and Hyper terminals
- Customized macOS Terminal profile based on Pro
- Hotkey access to archlinux tty from within Bash using `Ctrl+p`
- Powerlevel10k for Kitty and Hyper Zsh shells
- Customized translucent macOS Terminal profile based on Pro
## Roadmap
## Screenshot
- Touchbar buttons for man (and tldr) similar to Terminal
- Linux Brew <https://docs.brew.sh/Homebrew-on-Linux> for portable dependency manifest
- Ranger
![archuro cli](./screenshots/photo_2019-10-19_01.50.16.jpeg)
## Packages
## Installation
Installed on demand. Modify `/stow/dot-Brewfile` after running `archuro init` to adjust. Then run `archuro install` to install and `archuro update` to check for new versions and update automatically.
1. Copy repository source code.
2. `make install` to install `archuro` binary to `/usr/local/bin`.
3. `archuro init` to initialize build system. Add `-S` to proceed with GNU Stow.
4. `archuro install` to install dependencies.
5. In a terminal run `bash` then `Ctrl+p` for hotkey access to `archuro tty`.
- Nerd Fonts (everywhere) <https://github.com/ryanoasis/nerd-fonts>
- Neovim <https://neovim.io>
- gruvbox <https://github.com/morhetz/gruvbox>?
- ...
More to come here, stay tuned...
## Usage
Once you've stowed you can use `brew bundle` just like you normally would. The thing to keep in mind is that some dependencies are built from source and therefore are not designed to be managed by Homebrew. Homebrew will error on these things. And that may be OK if the intention is not to replace exiting binaries as they may be shared between mountpoints across systems.
Once you've stowed you can use `brew bundle` just like you normally would. The thing to keep in mind is that some dependencies are built from source and therefore are not designed to be managed by Homebrew. Homebrew will error on these things. And that may be OK if the intention is not to replace exiting binaries as they may be shared between mountpoints across systems.
## Package management
Installed on demand. Modify `/stow/dot-Brewfile` after running `archuro init` to adjust. Then run `archuro install` to install and `archuro update` to check for new versions and update automatically.
## Troubleshooting
RUNNING OUT OF HDD SPACE
Must a mess of stuff I dumped in here during initial development.
> RUNNING OUT OF HDD SPACE
❯ docker image prune
WARNING! This will remove all dangling images.
@ -48,15 +53,15 @@ Total reclaimed space: 0B
see also high tea readme
GIT BASH COMPLETIONS AREN'T WORKING. WHAT GIVES?
> GIT BASH COMPLETIONS AREN'T WORKING. WHAT GIVES?
You fail at life. Just kidding. You're probably on a Mac, bro.
CUSTOM PACKAGE X ISN'T WORKING AS EXPECTED
> CUSTOM PACKAGE X ISN'T WORKING AS EXPECTED
When `brew` first installs a package and that package requires some configuration Brew will output setup instructions in a section called _Caveats_. To see the caveats again simply run `brew info <package>`.
SOMETIMES THERE CAN BE CONFLICTS from cross-platform and Homebrew...
> SOMETIMES THERE CAN BE CONFLICTS from cross-platform and Homebrew...
Error: Could not symlink bin/ffmpeg
Target /usr/local/bin/ffmpeg
@ -71,8 +76,7 @@ To list all files that would be deleted:
Linking /usr/local/Cellar/ffmpeg/4.2.1_1...
Using ffmpeg
SOMETIMES THERE'S AN APP FOR THAT ALREADY WHICH WAS MANUALLY INSTALLED
> SOMETIMES THERE'S AN APP FOR THAT ALREADY WHICH WAS MANUALLY INSTALLED
==> Satisfying dependencies
==> Downloading https://spectacle.s3.amazonaws.com/downloads/Spectacle+1.2.zip
@ -85,7 +89,7 @@ Installing spectacle has failed!
Homebrew Bundle failed! 1 Brewfile dependency failed to install.
SOMETIMES MAS ITEMS IN BREWFILE GIVES YA SOME ISSUES. MAYBE LOGIN FIRST?
> SOMETIMES MAS ITEMS IN BREWFILE GIVES YA SOME ISSUES. MAYBE LOGIN FIRST?
Using neovim
Installing openssl
@ -115,5 +119,3 @@ Installing spectacle has failed!
No downloads
Warning: No downloads began
Installing amphetamine has failed!
[dotfile]: https://dotfiles.github.io "GitHub does dotfiles"

+ 61
- 50
bin/archuro View File

@ -22,7 +22,7 @@
set -e
#
# Archuro - Automate development environment setup, configuration and upgrades.
# Archuro - Portable Arch Linux development workflow for macOS Catalina.
#
# Archuro is a command line utility and configuration managmenet system that
# allows you to set-up and maintain a virtualized Arch Linux dev environment
@ -35,6 +35,7 @@ set -e
#
# COMMIT TO MEMORY
#
# caffeinate -u -t 5400 - keeps mac awake for an hour and a half
# curl -s https://api.github.com/repos/atom/atom/releases | grep browser_download_url | grep '64[.]deb' | head -n 1 | cut -d '"' -f 4
# sudo scutil --set HostName [NewHostNameHere] (priveledged on macOS, w/o sudo pops an auth dialog with touch id support)
@ -54,15 +55,18 @@ set -e
# DevOps: Packer
# Mac App Store apps
#
# - VPN: WireGuard
# - Secrets: Bitwarden
# ... see stow/dot-Brewfile for more
# Other apps
# - Telegram (Messenger)
# - GitHub Desktop <https://github.com/desktop/desktop>
# - Spectacle (Window Manager)
# - Sketch (Graphics)
# - Avocode
# - GitHub Desktop (plebs need some luv too)
# - Spectacle (Window Manager) (replace with Rectangle)
# - Sketch (Graphics) (maybe...)
# - Avocode (maybe...)
# ... see stow/dot-Brewfile for more
# CLI tools
#
@ -71,6 +75,7 @@ set -e
# SysAdmin: mas, brew, stow, htop
# DevOps: packer
# Productivity: z, tldr
# ... see stow/dot-Brewfile for more
# INSPIRATION / RESOURCES
#
@ -96,35 +101,35 @@ set -e
# TODO
#
# BASH COMPLETIONS (INCLUDING DOCKER)
# AURman <https://github.com/polygamma/aurman> (or youart)
#
# Add packer to makefile
# - https://www.packer.io
# - https://stackoverflow.com/a/33594470/712334
# Set p10k configuration at login/prompt for Zsh
# - Create docker volume and mount
# - Run configuration after Arch is up and running
# - Script the config setup
# Automatically set Homebrew as the default Terminal theme
# Install Touchbar for Hyper <https://github.com/SwarShah/hyper-custom-touchbar>
# Install Powerlevel10k
# ? Install Retro groove color scheme for Vim <https://github.com/morhetz/gruvbox>
# Install neovim <https://thoughtbot.com/blog/my-life-with-neovim>
# - Configure One Dark theme with with https://github.com/rakr/vim-one
# Install Nerd Fonts <https://github.com/ryanoasis/nerd-fonts>
# Add VS Code plugins:
# - https://marketplace.visualstudio.com/items?itemName=foxundermoon.shell-format for working with .zsh file extension used in archuro
# - https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
# - https://github.com/prettier/prettier-vscode
# Enable "sane defaults" for VSCode (e.g. "files.insertFinalNewline": true) https://github.com/Microsoft/vscode/issues/12076#issuecomment-340037747
# Colorize output <https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux>
# Consider XDG configuration files standard <https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.8.html>
# ...above mentioned on Managing dotfiles with stow article
# Automate VS Code extension setup
# Automatically hide dock
# UPdate Terminal to remove zsh call (consider bash for archlinux)
# - [ ] Install Touchbar for Hyper <https://github.com/SwarShah/hyper-custom-touchbar>
# - [ ] Touchbar buttons for man (and tldr) similar to Terminal
# - [x] Bash completions
# - [ ] Docker completions
# - [ ] Zsh completions
# - [ ] Integrate [Packer] ([Example `Makefile`](https://stackoverflow.com/a/33594470/712334))
# - [ ] [Pamac] (install using [Yay]) ([instructions](https://switchedtolinux.com/installing-pamac-on-arch-with-yay/))
# - [ ] Consider how to meld with [Linux Brew](https://docs.brew.sh/Homebrew-on-Linux) manifest
# - [ ] Set p10k configuration at login/prompt for Zsh (whatever that meant)
# - [ ] Create docker volume and mount
# - [ ] Run configuration after Arch is up and running
# - [ ] Script the config setup
# - [x] Automatically set Archuro as the default Terminal theme
# - [x] Install Powerlevel10k
# - [ ] Install Retro groove color scheme for Vim <https://github.com/morhetz/gruvbox>
# - [x] Install neovim ([Thoughtbot on Neovim](https://thoughtbot.com/blog/my-life-with-neovim))
# - [ ] Configure One Dark theme with <https://github.com/rakr/vim-one>
# - [x] Install [Nerd Fonts]
# - [ ] Add VS Code plugins:
# - https://marketplace.visualstudio.com/items?itemName=foxundermoon.shell-format for working with .zsh file extension used in archuro
# - https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
# - https://github.com/prettier/prettier-vscode
# - [ ] Automate VS Code extension setup
# - [ ] Enable "sane defaults" for VSCode (e.g. "files.insertFinalNewline": true) https://github.com/Microsoft/vscode/issues/12076#issuecomment-340037747
# - [ ] Colorize output (some done, more needed. here's a [breadcrumb from SO](https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux))
# - [ ] Consider [XDG configuration files standard](https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.8.html)
# *Note:* ...above mentioned on [Managing dotfiles with stow](https://alexpearce.me/2016/02/managing-dotfiles-with-stow/) article
# - [ ] Automatically hide dock (there's a full config-driven lib for this)
# - [ ] Update Terminal Profile to remove zsh call (consider bash for archlinux)
# FAQ
#
@ -136,8 +141,8 @@ set -e
#
# Isn't one tty enough? Depends where you're using it. Hyper is intended to
# for zen coding with zsh and arch linux running in a container with an all
# black display suitable for Archuro coding. iTerm2 provides a pull-down
# terminal display via hotkey valuable for more general purpose tasks.
# black display suitable for Archuro coding. Kitty provides a cross-platform
# terminal experience.
#
# =========================================================================== #
@ -696,29 +701,35 @@ fi
# <<- MARKDOWN
#
# [FiraCode]: https://github.com/tonsky/FiraCode "Monospaced font with programming ligatures."
# [Terminal]: https://support.apple.com/guide/terminal/welcome/mac "Terminal on Mac."
# [Arch Linux]: https://www.archlinux.org "A simple, lightweight distribution."
# [Bash 5]: https://www.gnu.org/software/bash/ "Bash is the Bourne Again SHell."
# [iTerm2]: https://gitlab.com/gnachman/iterm2/ "Issues site for iTerm2. Mirrored from https://github.com/gnachman/iTerm2."
# [Toybox]: https://github.com/landley/toybox "An all-in-one Linux command line."
# [Docker Desktop for Mac]: https://docs.docker.com/docker-for-mac/ "Docker is a full development platform for creating containerized applications. Docker Desktop is the best way to get started with Docker on Mac."
# [ffmpeg]: https://ffmpeg.org/ "A command line-only program that allows you to convert videos and audio into different formats, as well as record live audio and video."
# [FiraCode]: https://github.com/tonsky/FiraCode "Monospaced font with programming ligatures."
# [GitHub Desktop]: https://github.com/desktop/desktop "Simple collaboration from your desktop."
# [GNU Stow]: https://www.gnu.org/software/stow/ "GNU Stow is a symlink farm manager."
# [Homebrew]: https://github.com/Homebrew/brew "The missing package manager for macOS."
# [Hyper]: https://github.com/zeit/hyper "Terminal built on web technologies."
# [Arch Linux]: https://www.archlinux.org "A simple, lightweight distribution."
# [Podman]: https://github.com/containers/libpod "A library used to create container pods."
# [Powerlevel10k]: https://github.com/romkatv/powerlevel10k "A fast reimplementation of Powerlevel9k ZSH theme."
# [Vim]: https://github.com/vim/vim "A highly configurable text editor"
# [Terminal]: https://support.apple.com/guide/terminal/welcome/mac "Terminal on Mac."
# [tmux]: https://github.com/tmux/tmux "Terminal multiplexer."
# [Toybox]: https://github.com/landley/toybox "An all-in-one Linux command line."
# [gruvbox]: https://github.com/morhetz/gruvbox "Retro groove color scheme for Vim."
# [NeoVim]: https://github.com/neovim/neovim "Vim-fork focused on extensibility and usability."
# [Verminal]: https://github.com/defringe/verminal "A Hyper theme."
# [tmux]: https://github.com/tmux/tmux "Terminal multiplexer."
# [xhyve]: https://github.com/machyve/xhyve "A lightweight OS X virtualization solution."
# [VS Code]: https://code.visualstudio.com/ "A code editor redefined and optimized for building and debugging modern web and cloud applications."
# [Homebrew]: https://github.com/Homebrew/brew "The missing package manager for macOS."
# [Nerd Fonts]: https://github.com/ryanoasis/nerd-fonts "Iconic font aggregator, collection, and patcher."
# [Packer]: https://www.packer.io "Build Automated Machine Images"
# [Pamac]: https://gitlab.manjaro.org/applications/pamac "Graphical Package Manager for Manjaro Linux (based on libalpm)."
# [Rectangle]: https://github.com/rxhanson/Rectangle
# [Ranger]: https://github.com/ranger/ranger "A VIM-inspired filemanager for the console."
# [Spectacle]: https://github.com/eczarny/spectacle "Spectacle allows you to organize your windows without using a mouse."
# [Slate]: https://github.com/jigish/slate "A window management application."
# [ShiftIt]: https://github.com/fikovnik/ShiftIt "Managing windows size and position in macOS with Hammerscript and Lua."
# [Podman]: https://github.com/containers/libpod "A library used to create container pods."
# [Docker Desktop for Mac]: https://docs.docker.com/docker-for-mac/ "Docker is a full development platform for creating containerized applications. Docker Desktop is the best way to get started with Docker on Mac."
# [ffmpeg]: https://ffmpeg.org/ "A command line-only program that allows you to convert videos and audio into different formats, as well as record live audio and video."
# [tldr]: https://tldr.sh "Simplified and community-driven man pages"
# [Vim]: https://github.com/vim/vim "A highly configurable text editor"
# [VS Code]: https://code.visualstudio.com/ "A code editor redefined and optimized for building and debugging modern web and cloud applications."
# [Verminal]: https://github.com/defringe/verminal "A Hyper theme with beautiful translucency on macOS."
# [xhyve]: https://github.com/machyve/xhyve "A lightweight OS X virtualization solution."
# [Yay]: https://github.com/Jguer/yay "Yet another Yogurt - An AUR Helper written in Go."
#
# EOF

BIN
screenshots/photo_2019-10-19_01.50.16.jpeg View File

Before After
Width: 1280  |  Height: 762  |  Size: 101 KiB

Loading…
Cancel
Save