Install dot files and packages, including a base mode with sensible defaults to run on most computers running Debian based distros or macOS.
Project description
💻 onboardme
Get your daily driver just the way you like it, from dot files installation, to opensource package installation, to other little features you didn't know you needed, onboardme
intends to save you time with initializing and upgrading your environment.
Features
Dot files
- Manage your dot files using a git repo (or use our default dot files 😃)
Package management
- Install and upgrade libraries and apps
- use several package managers across Linux and macOS (you can even add your own!)
- group together packages for different kinds of setups, e.g. gaming, devops, gui
Vim/NeoVim Plugin Management
Easy yaml
config files
- config files in your
$HOME/.config/onboardme/
directory- we also support the XDG Base Directory Spec and will use
$XDG_CONFIG_HOME/onboardme/
if you haveXDG_CONFIG_HOME
configured
- we also support the XDG Base Directory Spec and will use
Other useful (but optional) configurations
- Enable touchID for sudo on macOS
- Add your user to the docker group
- Install nerdfonts (defaults to Hack and Mononoki)
- Set capslock to control
Screenshots
Examples of the terminal after onboardme
runs
vim
Powerline and ls
Powerline with git
Image and colors
Python virtual env in powerline and cat
Quick Start
Installation
The quickest way to get started on a fresh macOS or distrubtion of Debian (including Ubuntu) is:
# this will download setup.sh to your current directory and run it
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/jessebot/onboardme/main/setup.sh)"
# this will display the help text for the onboardme cli
onboardme --help
If you've already got brew and Python3.11 on your machine, you can just do pip
install onboardme.
You can read more in depth at the Getting Started Docs 💙! There's also more [docs] on basically every program that onboardme touches.
Upgrades
If you're on python 3.11, you should be able to do:
pip3.11 install --upgrade onboardme
Configuration
onboardme has lots of CLI options, but you can also use config files. You have to create these files for the time being.
Config files are in ~/.config/onboardme/
(will use $XDG_CONFIG_HOME
, if defined). Examples below:
config.yaml
log:
# Full path to a file you'd like to log to. Creates file if it doesn't exist
file: ""
# what level of logs to output (DEBUG, INFO, WARN, ERROR)
level: "INFO"
# steps refer to a specific function in the list of functions we run
steps:
# these are mac specific steps
Darwin:
- dot_files
- packages
- font_setup
- vim_setup
- neovim_setup
- sudo_setup
# these are linux specific steps
Linux:
- dot_files
- packages
- font_setup
- vim_setup
- neovim_setup
- group_setup
dot_files:
# personal git repo URL for your dot files, defaults to jessebot/dot_files
git_url: "https://github.com/jessebot/dot_files.git"
# the branch to use for the git repo above, defaults to main
git_branch: "main"
# !CAREFUL: runs a `git reset --hard`, which will overwite/delete local files in ~ that
# conflict with the above defined git repo url and branch. You should run
# `onboardme -s dot_files` to get the files that would be overwritten
overwrite: false
# basic package config
package:
# Remove any of the below pkg managers to only run the remaining pkg managers
managers:
# these are macOS specific steps
Darwin:
- brew
- pip3.11
# these are linux specific steps
Linux:
- brew
- pip3.11
- apt
- snap
- flatpak
# list of extra existing packages groups to install
groups:
- default
# uncomment these to add them as default installed package groups
# - gaming
# - devops
Under the Hood
Made for the following OS (lastest stable):
Optimized for:
Built using these great tools:
License
GNU AFFERO GENERAL PUBLIC LICENSE Version 3:
TLDR;
- You are free to use and distribute the software for free, but you cannot bundle it with software that you are charging money for.
- You are free to bundle software with other FOSS projects if you just credit us and link back to this project.
- All derivatives of this software must be licensed as GNU AFFERO GENERAL PUBLIC LICENSE Version 3 and must open source the source code as well as credit this project and the contibutors.
Status
Still not production ready, but reasonably stable :)
Please report 🐛 in the GitHub issues, and we will collect them, and release them into the wild, because we are vegan and nice. (Kidding, we will help! 😌)
We love contributors! Feel free to open a pull request, and we will review it asap! :)
:star: If you like this project, please star it to help us keep motivated :3
Contributors
JesseBot |
Max! |
Shameless plugs for other projects
Get running on a machine using a bootable USB stick with pxeless.
Get started with virtual machines and QEMU with scrap metal.
Get started with testing kubernetes locally, even on metal with smol k8s lab.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for onboardme-0.16.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9445d24299505c5e7253acf073eca07c9b7d0b099c7739c7f2b528fe7bcb5f53 |
|
MD5 | 9309c5db840561712d6917b55ec3f234 |
|
BLAKE2b-256 | dfaec9155548b50dc78cad4405060e1bfd7084bfd03d073eb93e04dbbca2a4fa |