mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 15:06:26 +02:00
General optimations during inventory cleanup
This commit is contained in:
28
roles/desk-nextcloud/README.md
Normal file
28
roles/desk-nextcloud/README.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Nextcloud Client ☁️
|
||||
|
||||
## Description
|
||||
|
||||
This Ansible role installs and configures the Nextcloud desktop client on Arch Linux systems. It also manages symbolic links from commonly used user directories (like `Documents`, `Pictures`, etc.) to the respective folders inside a cloud-synced Nextcloud directory. This ensures user data is seamlessly integrated into the synchronized cloud folder.
|
||||
|
||||
## Overview
|
||||
|
||||
Targeting user environments on Arch Linux (e.g., Manjaro), this role sets up the official `nextcloud-client` and dynamically links key directories from the user's home folder to Nextcloud. This makes it easy to use the Nextcloud client without needing to manually configure folders.
|
||||
|
||||
## Purpose
|
||||
|
||||
The purpose of this role is to automate the configuration of cloud-integrated user directories by ensuring that common folders like `Downloads`, `Music`, and `Workspaces` are transparently redirected into a centralized cloud structure. This makes it easier to maintain sys-bkp-friendly, cloud-ready setups for homelab and professional workflows.
|
||||
|
||||
## Features
|
||||
|
||||
- **Installs the Nextcloud Desktop Client:** Uses `pacman` via the `community.general.pacman` module.
|
||||
- **Symbolic Linking of User Folders:** Maps home folders (e.g., `Documents`, `Videos`, `Workspaces`) into their Nextcloud equivalents.
|
||||
- **Dynamic Cloud Directory Resolution:** Builds the target cloud directory path from user and cloud variables.
|
||||
- **Dump Folder Mapping:** Links `InstantUpload` from the cloud to a `~/Dump` folder for quick camera/file access.
|
||||
|
||||
## Credits 📝
|
||||
|
||||
Developed and maintained by **Kevin Veen-Birkenbach**.
|
||||
Learn more at [www.veen.world](https://www.veen.world)
|
||||
|
||||
Part of the [CyMaIS Project](https://github.com/kevinveenbirkenbach/cymais)
|
||||
License: [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl)
|
27
roles/desk-nextcloud/meta/main.yml
Normal file
27
roles/desk-nextcloud/meta/main.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
galaxy_info:
|
||||
author: "Kevin Veen-Birkenbach"
|
||||
description: "Installs and links Nextcloud desktop client folders for cloud-integrated user environments."
|
||||
license: "CyMaIS NonCommercial License (CNCL)"
|
||||
license_url: "https://s.veen.world/cncl"
|
||||
company: |
|
||||
Kevin Veen-Birkenbach
|
||||
Consulting & Coaching Solutions
|
||||
https://www.veen.world
|
||||
min_ansible_version: "2.9"
|
||||
platforms:
|
||||
- name: Archlinux
|
||||
versions:
|
||||
- rolling
|
||||
galaxy_tags:
|
||||
- nextcloud
|
||||
- cloud
|
||||
- archlinux
|
||||
- user
|
||||
- desktop
|
||||
- automation
|
||||
repository: https://s.veen.world/cymais
|
||||
issue_tracker_url: https://s.veen.world/cymaisissues
|
||||
documentation: https://s.veen.world/cymais
|
||||
|
||||
dependencies: []
|
34
roles/desk-nextcloud/tasks/main.yml
Normal file
34
roles/desk-nextcloud/tasks/main.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
- name: Install nextcloud-client
|
||||
community.general.pacman:
|
||||
name: nextcloud-client
|
||||
state: present
|
||||
|
||||
- name: Link homefolders to cloud
|
||||
ansible.builtin.file:
|
||||
src: "{{cloud_directory}}{{item}}"
|
||||
dest: "{{user_home_directory}}{{item}}"
|
||||
owner: "{{users.client.username}}"
|
||||
group: "{{users.client.username}}"
|
||||
state: link
|
||||
force: yes
|
||||
ignore_errors: true # Just temporary @todo remove
|
||||
loop:
|
||||
- Templates
|
||||
- Documents
|
||||
- Videos
|
||||
- Pictures
|
||||
- Music
|
||||
- Desktop
|
||||
- Software
|
||||
- Downloads
|
||||
- Workspaces
|
||||
- Books
|
||||
- Screenshots
|
||||
|
||||
- name: Link dump folder
|
||||
ansible.builtin.file:
|
||||
src: "{{cloud_directory}}InstantUpload"
|
||||
dest: "{{user_home_directory}}Dump"
|
||||
owner: "{{users.client.username}}"
|
||||
group: "{{users.client.username}}"
|
||||
state: link
|
3
roles/desk-nextcloud/vars/main.yml
Normal file
3
roles/desk-nextcloud/vars/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
user_home_directory: /home/{{users.client.username}}/
|
||||
cloud_directory: '{{user_home_directory}}Clouds/{{cloud_fqdn}}/{{users.client.username}}/'
|
||||
application_id: desk-nextcloud
|
Reference in New Issue
Block a user