Package: onboardme
💻 onboardmeGet your daily driver, or personalized 🐳 container, just the way you like it! From dot files management, to package installation, to setting up neovim, to other little features you didn't know you needed,onboardmeintends to save you time with initializing and maintaining your personal evironments ✨FeaturesKeep your Dot Files Up To Date Across multiple systemsonboardmecan manage yourdot filesusing a git by turning your home directory into a repo.
We even provide default dot files, so you don't have to manage themThedefault dot filesare open source, and the maintainers use these themselvesThey cover a lot of common apps/tools you probably want anywayThey have consistent colorschemes accross different CLI/TUI programs 😃They set all the helpful BASH aliases you could need (zsh support coming soon)Package management accross multiple package managersWe install and upgrade libraries and apps using common package managers. We also provide a currated list of default packages.checkout thedefault packagessupportsbrew,apt,snap,flatpak, andpip(and you can add your own 😄)group together packages for different kinds of environmentsonboardme provides default package groups:default (no desktop GUI apps installed by default, always installed)macOS (default apps formacOS onlyapps, always installed on macOS)gui (default GUI apps for Linux desktops, optionally installed)devops (devops related tooling, optionally installed)Linux ARM Users NOTE:brewis currentlyunsupported on linux/arm64, and as we'd have to compile everything from source anyway, we don't support running the brew package manager via onboardme on linux/arm64 or (AArch64) at all right now._
We do have a docker image (jessebot/onboardme:latest-arm) optimized for arm though that you can run on AArch64 and it's perfect for a dockerized dev environment on an M1 or later mac or any other ARM 64 device that runs docker :)NeoVim Plugin Installtion and Updatesonboardmekeeps your neovim plugins installed and up to date withlazy.nvimunder the hood.Why no vim though?If you haven't already made the switch from Vim toNeoVim, you can try out NeoVim today withonboardme:D We used to support both neovimandvim, but these days none of the primary developers of this repo use pure vim anymore, so we can't ensure it's up to standards. All of your knowledge from vim is still helpful in neovim though, and we highly recommend switching as neovim has a lot more features and a very active plugin community :) NeoVim maintains a guide on how to switch from vimhere.Easyyamlconfig files using XDG Base Directory SpecWe use useXDG Base Directory Specfor config files, so you always know where they are :)Config files are in$XDG_CONFIG_HOME/onboardme/,or~/.config/onboardme/if$XDG_CONFIG_HOMEis not defined.Learn more about configuration in theconfig docs.Docker image for an on-the-go dev workspaceThe docker image is built nightly, and on push tomainvia GHA. The base image isdebian:bookworm, but we will rollout support for Ubuntu down the line :)
See thedockerhub pagefor more info!Other optional configurationsEnable touchID for sudo on macOSAdd your user to the docker groupInstallnerdfonts(defaults to mononoki and Symbols Only)ScreenshotsExample ofonboardme --helpExamples of the terminal afteronboardmerunsneovimPowerline and lsPowerline with gitImage and colorsPython virtual env in powerline and catInstallationInstall LocallyYou'll needcurl,brew,git, and Python 3.11 to get started. We have a setup script to install those (exceptcurl) and help you get your environment to the XDG spec underLocally. For docker, see the section below.Local prereq install script.curl, a pre-prereq# Debian/Ubuntu may not have curl installed depending on where you are, so this will install it for youtype-pcurl>/dev/null||(sudoaptupdate&&sudoaptinstallcurl-y)Make sure you have sudo access, otherwise we won't be able to install certain things.
The quickest way to get started on a fresh macOS or distro of Debian (including Ubuntu) is:# this will download setup.sh to your current directory and run it/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/jessebot/onboardme/main/setup.sh)"LinuxSource your updated.bashrc:# for linuxsource~/.bashrcMacOSsource your updated.bash_profile:bashsource~/.bash_profileYou will still have to set your default shell to BASH to if you want to take advantage of the default dot files for onboardme. You can do that like this:brewinstallbash
sudo-i# if you're on an M1 or newer:echo"/opt/homebrew/bin/bash">>/etc/shells&&exitchsh-s/opt/homebrew/bin/bash$(whoami)# if you're on a mac earlier than the M1:echo"/usr/local/bin/bash">>/etc/shells&&exitchsh-s/usr/local/bin/bash$(whoami)After that, you can also set the shell directly in your terminal app via the settings.If you've already got all the above prereq on your machine, you can just do:# should also work with pipx, if you'd like to use that insteadpipinstall--user--upgradeonboardmeUsing the Docker imageRead more about our docker tags and how to use them atjessebot/onboardmeon DockerHub.UsageLearn more about configuration in theconfig docs, but by default you can get started with:# this will display the help text for onboardmeonboardme--help# Running this won't overwrite any existing dot files, but it may add new ones# and it may install new packages. Don't run this till you've looked at the files# in ~/.config/onboardme/onboardmeFrom here, if you want tocompletely wipe your existing dot filesfor a fresh start with withonboardme, you can run:# WARNING: This will overwrite your local dotfiles, including your .bashrc and .bash_profile# can also be done with: onboardme -Oonboardme--overwriteYou can read more in depth at theGetting Started Docs💙! There's also moredocson basically every program that onboardme touches.UpgradesIf you're on python 3.11, you should be able to do:pip3.11install--upgradeonboardmeUnder the HoodMade and tested for these operating systems:And optomized for the following programs:Built using these great tools:StatusActively used by the maintainers daily, but software is always changing, so please report 🐛 in the GitHub issues, and we will collect them, and release them back into the wild, because we are vegan and nice. (Kidding, we will help! 😌):star: If you like this project, please star it to help us keep motivated :3ContributorsWe love contributors! Feel free to open a pull request, and we will review it asap! :)JesseBotMax!Shameless plugs for other projectsGet running on a machine using a bootable USB stick withpxeless.Get started with virtual machines and QEMU withscrap metal.Get started with testing kubernetes on metal withsmol k8s lab.