A collection of configuration and setup files I am currently using across several machines. This will also install software I frequently use on macOS and Linux.
There are two approaches to install these configurations, with Ansible or pyinfra.
⚠️ WARNING⚠️ running either of these methods locally will delete some of you current configurations, if they exist, (./config/nvim
,.bashrc
,.zshrc
,.emacs.d/
, etc.)
To prepare a macOS machine, make sure you have brew
and ansible
installed.
After installing brew
, you can install ansible
with:
brew install ansible
On Fedora just run
dnf install ansible
The best option is to use Vagrant
. If Vagrant
is already
installed simply run
vagrant up --provision
and then
vagrant ssh
to inspect the installation.
To try it without installing locally using the container.
If you have podman
/docker
installed build the image with:
docker build -t dotfiles:latest .
docker run -i -t dotfiles:latest /bin/zsh
To run locally (did I mention you should read the
ansible-playbook --connection=local --inventory 127.0.0.1, playbook.yml -K
Alternatively, run each tag separately, e.g. running the tasks tagged core
ansible-playbook --connection=local --inventory 127.0.0.1, playbook.yml --tags "core" -K
The ansible
playbook includes the following tags:
core
, essential CLI toolseditors
, a collection of text editors (spacemacs, NeoVim, micro, etc.)jupyter
install jupyter notebooks along with a Java and R kernelsvscode
, setup for VSCode (config, extensions)doomemacs
, my doom emacs personal configuration
The following shell functions are provided:
.functions.zsh
, general environment management (Docker, pyenv, etc).builders.zsh
, general project template builders (Quarkus, etc)
Theia is provided as an editor. The Dockerfile
s are available under /theia
.
To build an image (say, theia-java
), run:
$ cd theia/java
$ docker build -t ruivieira/theia-java:latest .
To run it, go to the folder you want to use as the workplace and run:
$ cd $PROJECT
$ docker run -it --init -p 3000:3000 -p 8080:8080 -v "$(pwd):/home/project:cached" ruivieira/theia-java:latest
Here, Theia will be available on port 3000
. Port 8080
is reserved in case you want to test some service on that port.
On macOS the installation of R might fail with the message dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
. If this is the case, just symlink the readline
version you have to v7. e.g., if have v8:
ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib