73 lines
1.5 KiB
Markdown
73 lines
1.5 KiB
Markdown
# Ansible Role: common
|
|
|
|
This role configures a baseline set of common configurations for Debian-based systems, including time synchronization, essential packages, hostname, and specific developer tools.
|
|
|
|
## Requirements
|
|
|
|
None.
|
|
|
|
## Role Variables
|
|
|
|
Available variables are listed below, along with default values (see `vars/main.yml`):
|
|
|
|
```yaml
|
|
# A list of common packages to install via apt.
|
|
common_packages:
|
|
- build-essential
|
|
- curl
|
|
- git
|
|
- iperf3
|
|
- neovim
|
|
- rsync
|
|
- smartmontools
|
|
- sudo
|
|
- systemd-timesyncd
|
|
- tree
|
|
- screen
|
|
- bat
|
|
- fd-find
|
|
- ripgrep
|
|
- nfs-common
|
|
- open-iscsi
|
|
- parted
|
|
|
|
# The hostname to configure.
|
|
hostname: "new-host"
|
|
```
|
|
|
|
## Tasks
|
|
|
|
The role performs the following tasks:
|
|
|
|
1. **Configure Time**: Sets up `systemd-timesyncd` and timezone.
|
|
2. **Configure Packages**: Installs the list of `common_packages`.
|
|
3. **Configure Hostname**: Sets the system hostname.
|
|
4. **Configure Extra-Packages**:
|
|
- Installs `eza` (modern ls replacement).
|
|
- Installs `bottom` (process viewer).
|
|
- Installs `neovim` from AppImage and clones a custom configuration.
|
|
5. **Configure Bash**: Sets up bash aliases and prompt.
|
|
6. **Configure SSH**: Configures `sshd_config` for security.
|
|
|
|
## Dependencies
|
|
|
|
None.
|
|
|
|
## Example Playbook
|
|
|
|
```yaml
|
|
- hosts: servers
|
|
roles:
|
|
- role: common
|
|
vars:
|
|
hostname: "my-server"
|
|
```
|
|
|
|
## License
|
|
|
|
MIT
|
|
|
|
## Author Information
|
|
|
|
This role was created in 2025 by [TuDatTr](https://codeberg.org/tudattr/).
|