Skip to content
/ homelab Public

Personal system configuration and bootstrap instructions

Notifications You must be signed in to change notification settings

mtarld/homelab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Homelab

Personal system configuration: dotfiles, application configs, and bootstrap instructions. The goal is not to automate everything, but to make the setup understandable, repeatable, and easy to evolve over time.

Disclaimer

This repository is opinionated and tailored to my workflow and machines. It assumes:

  • Ubuntu-based system
  • manual review before running commands
  • a user-level setup, not a multi-user or server environment

Clone, adapt, and reuse ideas, but do not expect a one-command install or universal defaults.

Installation and configuration

Bat

https://github.com/sharkdp/bat

sudo apt update
sudo apt install bat
mkdir -p ~/.local/bin
ln -s /usr/bin/batcat ~/.local/bin/bat

Castor

https://castor.jolicode.com

curl "https://castor.jolicode.com/install" | bash

Composer

https://getcomposer.org

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'c8b085408188070d5f52bcfe4ecfbee5f727afa458b2573b8eaaf77b3419b0bf2768dc67c86944da1544f06fa544fd47') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
mkdir -p ~/.local/bin ~/.config/composer
ln -s ~/homelab/composer/composer.json ~/.config/composer/composer.json
composer update

Delta

https://github.com/dandavison/delta

brew install git-delta

Docker

https://www.docker.com

sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
udo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Editorconfig

https://editorconfig.org

ln -s ~/homelab/editorconfig/.editorconfig ~/.editorconfig

Font

https://www.nerdfonts.com/font-downloads

mkdir -p ~/.local/share/fonts
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/Agave.zip -O /tmp/Agave.zip
unzip /tmp/Agave.zip -d /tmp/Agave
cp /tmp/Agave/*.{ttf,otf} ~/.local/share/fonts/
fc-cache -fv

Fzf

https://github.com/junegunn/fzf

sudo apt update
sudo apt install fzf

Git

https://git-scm.com

sudo apt update
sudo apt install git
vim ~/.gitconfig.local
# Then edit file like the following
# [user]
#     name = Your name
#     email = Your email
ln -s ~/homelab/git/.gitconfig ~/.gitconfig

Homebrew

https://brew.sh

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Lsd

https://github.com/lsd-rs/lsd

sudo apt update
sudo apt install lsd
ln -s ~/homelab/lsd ~/.config/lsd

Nvim

https://neovim.io

sudo apt update
sudo apt install neovim
ln -s ~/homelab/nvim ~/.config/nvim

Nvm

https://github.com/nvm-sh/nvm

# Check github for the nvm latest version
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

Php

https://www.php.net

brew install php
brew install php@8.4
brew install php@8.1

Phpactor

https://github.com/phpactor/phpactor

curl -Lo phpactor.phar https://github.com/phpactor/phpactor/releases/latest/download/phpactor.phar
chmod a+x phpactor.phar
mv phpactor.phar ~/.local/bin/phpactor
ln -s ~/homelab/phpactor ~/.config/phpactor

Phpcsfixer

https://github.com/PHP-CS-Fixer/PHP-CS-Fixer

ln -s ~/homelab/php-cs-fixer ~/.config/php-cs-fixer

Regolith

https://regolith-desktop.com

wget -qO - https://archive.regolith-desktop.com/regolith.key | \
gpg --dearmor | sudo tee /usr/share/keyrings/regolith-archive-keyring.gpg > /dev/null
echo deb "[arch=amd64 signed-by=/usr/share/keyrings/regolith-archive-keyring.gpg] \
https://archive.regolith-desktop.com/ubuntu/stable plucky v3.3" | \
sudo tee /etc/apt/sources.list.d/regolith.list
sudo apt update
sudo apt install regolith-desktop regolith-session-flashback regolith-look-lascaille
ln -s ~/homelab/regolith ~/.config/regolith3
# Then, restart the system

Starship

https://starship.rs

curl -sS https://starship.rs/install.sh | sh

Symfony CLI

https://symfony.com/download

curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.deb.sh' | sudo -E bash
sudo apt install symfony-cli
symfony completion zsh > ~/.symfony_completion

Tmux

https://github.com/tmux/tmux

sudo apt update
sudo apt install tmux
ln -s ~/homelab/tmux/.tmux.conf ~/.tmux.conf

Tmuxinator

https://github.com/tmuxinator/tmuxinator

brew install tmuxinator
wget https://raw.githubusercontent.com/tmuxinator/tmuxinator/master/completion/tmuxinator.zsh -O /usr/local/share/zsh/site-functions/_tmuxinator
mkdir ~/.tmuxinator

Wezterm

https://wezterm.org/index.html

curl -fsSL https://apt.fury.io/wez/gpg.key | sudo gpg --yes --dearmor -o /usr/share/keyrings/wezterm-fury.gpg
echo 'deb [signed-by=/usr/share/keyrings/wezterm-fury.gpg] https://apt.fury.io/wez/ * *' | sudo tee /etc/apt/sources.list.d/wezterm.list
sudo chmod 644 /usr/share/keyrings/wezterm-fury.gpg
sudo apt update
sudo apt install wezterm
ln -s ~/homelab/wezterm/.wezterm.lua ~/.wezterm.lua

Xclip

https://doc.ubuntu-fr.org/xclip

sudo apt update
sudo apt install xclip

Zsh

https://en.wikipedia.org/wiki/Z_shell https://github.com/zsh-users/zsh-syntax-highlighting

sudo apt update
sudo apt install zsh zsh-syntax-highlighting
ln -s ~/homelab/zsh/.zshrc ~/.zshrc

About

Personal system configuration and bootstrap instructions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published