Compare commits
No commits in common. "debian-unstable" and "master" have entirely different histories.
debian-uns
...
master
3 changed files with 34 additions and 10 deletions
17
README.md
17
README.md
|
@ -1,6 +1,6 @@
|
||||||
# Personal Linux Desktop Setup
|
# Personal Linux Desktop Setup
|
||||||
|
|
||||||
This repository contains an Ansible playbook to bootstrap workstations with my custom Hyprland-based desktop environment and commonly used applications. It's basically a dotfiles repository on steroids.
|
This repository contains an Ansible playbook to bootstrap workstations with my custom Hyprland-based desktop environment and commonly used applications. It's similar to a dotfiles repository but with extended functionality.
|
||||||
|
|
||||||
## Desktop Environment Components
|
## Desktop Environment Components
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ The desktop environment is primarily composed of the following components:
|
||||||
- [WezTerm](https://wezfurlong.org/wezterm/index.html) (terminal emulator)
|
- [WezTerm](https://wezfurlong.org/wezterm/index.html) (terminal emulator)
|
||||||
- [Emote](https://flathub.org/apps/com.tomjwatson.Emote) (emoji picker)
|
- [Emote](https://flathub.org/apps/com.tomjwatson.Emote) (emoji picker)
|
||||||
- Hyprhelpr (custom bash script for common tasks)
|
- Hyprhelpr (custom bash script for common tasks)
|
||||||
- Additional background tools (PipeWire, polkit-kde-agent, gnome-keyring etc.)
|
- Additional background tools (e.g., PipeWire, polkit-kde-agent)
|
||||||
|
|
||||||
## Customization
|
## Customization
|
||||||
|
|
||||||
|
@ -25,29 +25,28 @@ The playbook generates configuration files based on the host-specific variables
|
||||||
|
|
||||||
To add a new host, include its hostname in the inventory and create a corresponding `host_vars` file. Refer to the existing configurations for examples.
|
To add a new host, include its hostname in the inventory and create a corresponding `host_vars` file. Refer to the existing configurations for examples.
|
||||||
|
|
||||||
Even if the host-specific configuration is missing, the playbook will bring up a functional system using sensible defaults. This makes it possible to provision new systems without needing to know details like monitor descriptions for Hyprland in advance.
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
This playbook is intended to be run on Debian `unstable`, with only the `standard system utilities` option selected in `tasksel` during installation. Usage on other versions of Debian likely won't work, as Hyprland requires relatively recent versions of its dependencies to build.
|
This playbook is designed to be run on Debian `testing/sid` with only the "default tools" option selected during installation.
|
||||||
|
|
||||||
### Steps to Set Up a New System
|
### Steps to Set Up a New System
|
||||||
|
|
||||||
Run the following commands to set up a fully configured system:
|
Run the following commands to set up a fully configured system:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install git and ansible
|
# Install git
|
||||||
sudo apt update && sudo apt install -y git ansible
|
sudo apt update && sudo apt install -y git
|
||||||
|
|
||||||
# Clone and prepare the repository
|
# Clone and prepare the repository
|
||||||
git clone https://git.bluemedia.dev/Bluemedia/desktop-config.git
|
git clone https://git.bluemedia.dev/Bluemedia/desktop-config.git
|
||||||
cd desktop-config
|
cd desktop-config
|
||||||
|
bash prerequisites.sh
|
||||||
|
|
||||||
# Customize the applications you want to install
|
# Customize the applications you want to install
|
||||||
nano main.yml
|
nano main.yml
|
||||||
|
|
||||||
# Run the playbook
|
# Run the playbook
|
||||||
ansible-playbook -i inventory/ --ask-become-pass main.yml
|
ansible-playbook --ask-become-pass -i inventory/ main.yml
|
||||||
|
|
||||||
# Reboot after the playbook completes
|
# Reboot after the playbook completes
|
||||||
sudo reboot
|
sudo reboot
|
||||||
|
@ -60,7 +59,7 @@ To update an already installed system, use the following commands:
|
||||||
```bash
|
```bash
|
||||||
cd desktop-config
|
cd desktop-config
|
||||||
git pull
|
git pull
|
||||||
ansible-playbook -i inventory/ --ask-become-pass main.yml
|
ansible-playbook --ask-become-pass -i inventory/ main.yml
|
||||||
|
|
||||||
# Reboot after the playbook completes
|
# Reboot after the playbook completes
|
||||||
sudo reboot
|
sudo reboot
|
||||||
|
|
|
@ -1,3 +1,16 @@
|
||||||
|
- name: Set apt default-release to "testing"
|
||||||
|
become: yes
|
||||||
|
copy:
|
||||||
|
src: "{{ role_path }}/files/20-tum.conf"
|
||||||
|
dest: "/etc/apt/apt.conf.d/20-tum.conf"
|
||||||
|
|
||||||
|
- name: Add unstable repository
|
||||||
|
become: yes
|
||||||
|
ansible.builtin.apt_repository:
|
||||||
|
repo: "deb http://deb.debian.org/debian unstable main contrib non-free-firmware"
|
||||||
|
state: present
|
||||||
|
update_cache: true
|
||||||
|
|
||||||
- name: Install build dependencies
|
- name: Install build dependencies
|
||||||
become: yes
|
become: yes
|
||||||
apt:
|
apt:
|
||||||
|
@ -43,7 +56,7 @@
|
||||||
- libxcb-composite0-dev
|
- libxcb-composite0-dev
|
||||||
- libxcb-res0-dev
|
- libxcb-res0-dev
|
||||||
- xwayland
|
- xwayland
|
||||||
- libzip5
|
- libzip4t64
|
||||||
- libre2-dev
|
- libre2-dev
|
||||||
# xdg-desktop-portal-hyprland
|
# xdg-desktop-portal-hyprland
|
||||||
- qt6-wayland
|
- qt6-wayland
|
||||||
|
|
|
@ -1,3 +1,15 @@
|
||||||
|
- name: Add Mozilla repository
|
||||||
|
become: yes
|
||||||
|
deb822_repository:
|
||||||
|
name: mozilla
|
||||||
|
types: deb
|
||||||
|
uris: https://packages.mozilla.org/apt
|
||||||
|
suites: mozilla
|
||||||
|
components: main
|
||||||
|
signed_by: https://packages.mozilla.org/apt/repo-signing-key.gpg
|
||||||
|
state: present
|
||||||
|
enabled: yes
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
become: yes
|
become: yes
|
||||||
apt:
|
apt:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue