This repo borrows heavily from MikeMcQuaid/strap
(and associated app) along with mathiasbynens/dottfiles
.
In addition, it relies on deadc0de6/dotdrop
to manage the dotfiles.
DOTFILES_SKIP_UPDATES
: if set, skip OS updatesDOTFILES_SKIP_CONFIRMATION
: on macOS, if set, skip the manual confirmation of setup that cannot be handled by the scriptDOTFILES_SKIP_LOGIN_WINDOW
: on macOS, if set, skip the configuration of the login window messageHOMEBREW_PROCESS_MAS
: on macOS, if set to y
, mas
lines in Brewfile.*
will be handled & installed. The dotfiles-envvars
plugin will set this to y
if the username is not virtualbuddy
(to make testing under VirtualBuddy easier).On macOS, it may be necessary to run xcode-select --install
if the git
command is not initially available on the Mac.
When first setting up a (new?) machine, run the os-setup
script.
Run the bootstrap
script to install the dotfiles into the relevant location(s).
Ultimately, both of these files should be idempotent and thus can be used to re-run to update as needed.
*Note: During an initial installation run, you may see complaints about `_env_install` dotdrop actions failing, but those are not consequential.**
The os-setup
script currently works for Debian-based Linux distros, including Ubuntu & Raspbian.
It may be necessary to install git (sudo apt install git
) in order to clone the repo for installation.
git clone <this repo> .dotfiles
cd .dotfiles
# export DOTFILES_SKIP_UPDATES=y if avoiding system updates
./script/os-setup
# some manual interaction initially
# log into 1Password app
# enable SSH agent in 1Password
# enable cli integration in 1Password
./script/bootstrap # optional dotdrop profiles to add for machine, like "personal"
In an Powershell Administrator window:
irm https://raw.githubusercontent.com/acourtneybrown/dotfiles/master/script/win-admin-setup.ps1 | iex
In a Powershell windows (non-Administrator):
irm https://raw.githubusercontent.com/acourtneybrown/dotfiles/master/script/win-user-setup.ps1 | iex
script/os-setup
macos
scriptItems in italics require manual intervention currently.
script/bootstrap
Optionally takes any additional dotdrop profiles to add to the newly created machine profile (eg: personal
).
dotdrop install
profile::<profile>
& profile::<profile>_after
General approach for these functions:
Brewfile.<profile>
)