From 64de7ba238c927b2eac2c0b58dde79ad73b7084a Mon Sep 17 00:00:00 2001 From: Bluemedia Date: Wed, 6 Aug 2025 15:47:40 +0200 Subject: [PATCH] Target Debian unstable --- README.md | 17 +++++++++-------- roles/desktop-environment/tasks/hyprland.yml | 15 +-------------- roles/firefox/tasks/main.yml | 12 ------------ 3 files changed, 10 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 20ab86f..85e499e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 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 similar to a dotfiles repository but with extended functionality. +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. ## 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) - [Emote](https://flathub.org/apps/com.tomjwatson.Emote) (emoji picker) - Hyprhelpr (custom bash script for common tasks) -- Additional background tools (e.g., PipeWire, polkit-kde-agent) +- Additional background tools (PipeWire, polkit-kde-agent, gnome-keyring etc.) ## Customization @@ -25,28 +25,29 @@ 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. +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 -This playbook is designed to be run on Debian `testing/sid` with only the "default tools" option selected during installation. +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. ### Steps to Set Up a New System Run the following commands to set up a fully configured system: ```bash -# Install git -sudo apt update && sudo apt install -y git +# Install git and ansible +sudo apt update && sudo apt install -y git ansible # Clone and prepare the repository git clone https://git.bluemedia.dev/Bluemedia/desktop-config.git cd desktop-config -bash prerequisites.sh # Customize the applications you want to install nano main.yml # Run the playbook -ansible-playbook --ask-become-pass -i inventory/ main.yml +ansible-playbook -i inventory/ --ask-become-pass main.yml # Reboot after the playbook completes sudo reboot @@ -59,7 +60,7 @@ To update an already installed system, use the following commands: ```bash cd desktop-config git pull -ansible-playbook --ask-become-pass -i inventory/ main.yml +ansible-playbook -i inventory/ --ask-become-pass main.yml # Reboot after the playbook completes sudo reboot diff --git a/roles/desktop-environment/tasks/hyprland.yml b/roles/desktop-environment/tasks/hyprland.yml index ee1e2d4..aff174c 100644 --- a/roles/desktop-environment/tasks/hyprland.yml +++ b/roles/desktop-environment/tasks/hyprland.yml @@ -1,16 +1,3 @@ -- 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 become: yes apt: @@ -56,7 +43,7 @@ - libxcb-composite0-dev - libxcb-res0-dev - xwayland - - libzip4t64 + - libzip5 - libre2-dev # xdg-desktop-portal-hyprland - qt6-wayland diff --git a/roles/firefox/tasks/main.yml b/roles/firefox/tasks/main.yml index 34e2d04..4efac7b 100644 --- a/roles/firefox/tasks/main.yml +++ b/roles/firefox/tasks/main.yml @@ -1,15 +1,3 @@ -- 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 become: yes apt: