https://github.com/sthysel/carbs
Dotfiles and the like
https://github.com/sthysel/carbs
bash compton emacs git i3 ranger spacemacs vim zsh
Last synced: 8 months ago
JSON representation
Dotfiles and the like
- Host: GitHub
- URL: https://github.com/sthysel/carbs
- Owner: sthysel
- License: gpl-3.0
- Created: 2012-11-23T05:57:45.000Z (over 13 years ago)
- Default Branch: main
- Last Pushed: 2025-10-04T13:52:00.000Z (8 months ago)
- Last Synced: 2025-10-12T14:03:08.635Z (8 months ago)
- Topics: bash, compton, emacs, git, i3, ranger, spacemacs, vim, zsh
- Language: Emacs Lisp
- Size: 9.86 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.org
- Changelog: changelog.org
- License: LICENSE
Awesome Lists containing this project
README
#+caption: CARBS
[[file:pics/carbs.jpg]]
* CARBS (Version 0.3.0)
In which you will find Chad Arch Random Bootstrap Scripts (CARBS).
This repo will allow to you setup a Arch Linux system in the correct way.
* Who is this for
CARBS is made for the Linux Vegan whose vi/vim pronouns you will respect.
Fork this repo for your own use, and adapt to your own sensibilities.
* What does it do
- Bootstrap a fresh Arch Linux environment into a comfy, capable modern
Python development environment
- Allows you to maintain the config in a git repo for backup and deployment to
other machines remotely, using ansible.
* Install
** Install Arch if you have not yet done so
- You will need a working network with access to the interwebs as a minimum.
- Install Arch on target machine using a ventoy USB drive for physical machines.
- Be sure to pick a networking solution and enable it, be it NetworkManager or
systemd-networking. Its hard to install things of github if you don't have a
working nic.
- Once the new machine has been provisioned and the networking is good, proceed.
** Root user
You will need at least one privileged user to install additional
packages, you can just as well use the root user you added during
install.
Make sure the admin user is in the wheel group, and use visudo to enable
=wheel= user privileges =visudo=, if you have neovim already installed,
=EDITOR=nvim visudo=
#+begin_example
%wheel ALL=(ALL) ALL
#+end_example
Replace =carbsadmin= with your user below
#+begin_example
USER=carbsadmin sudo useradd -m -G wheel -s /bin/bash $USER
#+end_example
And install the bootstrap tools
#+begin_src sh
sudo pacman -S git just curl
#+end_src
** Install CARBS
Clone the CARBS repo, into =~/carbs=, and do =just bootstrap=
#+begin_example
git clone git@github.com:sthysel/carbs.git
cd carbs
just bootstrap
#+end_example
* Playing playbooks using just
#+begin_example
$ just
Available recipes:
bootstrap # bootstrap from scratch
deploy limit="localhost" tags="all" playbook="desktop" # Deploy CARBS
deploy-wsl tags="all" # Deploy to local WSL
dotfiles # link in the dotfiles
fix-argcomplete # Fix python argcomplete issue
install-ansible # install ansible using uv
install-uv # install uv
install-yay # install yay if not already installed
qa-all # run pre-commit QA pipeline on all files
qa-install-pre-commit-hooks # install pre-commit hooks
remove-danglinks # remove all dangling symlinks
#+end_example
`just deploy` will run the desktop playbook over localhost.
* Playing playbooks using ansible-playbook directly
** local
#+begin_src sh
ansible-playbook ./desktop.yml -i 'localhost,' --ask-become-pass --tags hyprland --connection local
#+end_src
** remote host
Remote host with its own playbook
#+begin_src sh
ansible-playbook ./ansible/vive.yml -i vive, --ask-become-pass --tags hyprland
#+end_src