Compare commits

...
5 Commits
Author SHA1 Message Date
me 2cf83a2fcf zeroclaw, add links to install guides and other details. 2026-10-05 15:27:05 -07:00
me d6dbe38e17 local, add zeroclaw to slow workstation list. 2026-10-05 15:13:12 -07:00
me 813a96c469 local, use FQCN. 2026-10-05 15:12:37 -07:00
me fbe5f54b7f zeroclaw, add initial playbook. 2026-10-05 14:53:03 -07:00
me b1d70789e7 flutter, fix lint issues. 2026-10-05 14:37:38 -07:00
3 changed files with 169 additions and 104 deletions

No files matched your search

+100 -99
View File
@@ -14,8 +14,8 @@
- name: Main | Lock - name: Main | Lock
block: block:
- include_tasks: tasks/general/tests/lock_check.yml - ansible.builtin.include_tasks: tasks/general/tests/lock_check.yml
- include_tasks: tasks/general/tests/lock_create.yml - ansible.builtin.include_tasks: tasks/general/tests/lock_create.yml
####### Gather ####### ####### Gather #######
@@ -23,22 +23,22 @@
- name: Main | Gather - name: Main | Gather
block: block:
- include_tasks: facts/general/gather.yml - ansible.builtin.include_tasks: facts/general/gather.yml
- include_tasks: tasks/general/acct_mgmt/provision_config.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/provision_config.yml
- include_tasks: facts/general/system.yml - ansible.builtin.include_tasks: facts/general/system.yml
- include_tasks: facts/general/package.yml - ansible.builtin.include_tasks: facts/general/package.yml
- include_tasks: facts/general/service.yml - ansible.builtin.include_tasks: facts/general/service.yml
- include_tasks: facts/general/user.yml - ansible.builtin.include_tasks: facts/general/user.yml
- include_tasks: tasks/general/tests/internet_check.yml - ansible.builtin.include_tasks: tasks/general/tests/internet_check.yml
####### Start ####### ####### Start #######
- name: Main | Start - name: Main | Start
block: block:
- include_tasks: tasks/general/acct_mgmt/notify.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/notify.yml
vars: vars:
notify_message: "Provisioning Started" notify_message: "Provisioning Started"
@@ -49,34 +49,34 @@
- name: Main | NixOS Setup - name: Main | NixOS Setup
block: block:
- include_tasks: tasks/general/software/nixos.yml - ansible.builtin.include_tasks: tasks/general/software/nixos.yml
# TBD if we are going to use this many, then just have IF statements # TBD if we are going to use this many, then just have IF statements
# and use blocks within the General area for NixOS vs not-NixOS. # and use blocks within the General area for NixOS vs not-NixOS.
- include_tasks: tasks/general/software/swap.yml - ansible.builtin.include_tasks: tasks/general/software/swap.yml
- include_tasks: tasks/general/acct_mgmt/groups.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/groups.yml
- include_tasks: tasks/general/acct_mgmt/users.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/users.yml
- include_tasks: tasks/general/acct_mgmt/sudo.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/sudo.yml
- include_tasks: tasks/general/acct_mgmt/doas.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/doas.yml
- include_tasks: tasks/general/scripts/root.yml - ansible.builtin.include_tasks: tasks/general/scripts/root.yml
- include_tasks: tasks/general/scripts/user.yml - ansible.builtin.include_tasks: tasks/general/scripts/user.yml
- include_tasks: tasks/general/scripts/install.yml - ansible.builtin.include_tasks: tasks/general/scripts/install.yml
- include_tasks: tasks/general/cron/ansible.yml - ansible.builtin.include_tasks: tasks/general/cron/ansible.yml
# psutil does not work in NixOS. Cannot figure out how to fix it. Maybe # psutil does not work in NixOS. Cannot figure out how to fix it. Maybe
# time to start looking into home-manager but still not wanting to # time to start looking into home-manager but still not wanting to
# maintain two different GNOME setups. HMMMM! # maintain two different GNOME setups. HMMMM!
- include_tasks: tasks/workstation/shared/settings/gnome.yml - ansible.builtin.include_tasks: tasks/workstation/shared/settings/gnome.yml
when: workstation when: workstation
# Try including these. Really need to get NixOS working with the rest! # Try including these. Really need to get NixOS working with the rest!
#- include_tasks: tasks/general/software/telegraf.yml # "Could not find a module for unknown."" #- ansible.builtin.include_tasks: tasks/general/software/telegraf.yml # "Could not find a module for unknown.""
- include_tasks: tasks/general/tests/services.yml - ansible.builtin.include_tasks: tasks/general/tests/services.yml
- include_tasks: tasks/general/tests/lynis.yml - ansible.builtin.include_tasks: tasks/general/tests/lynis.yml
- include_tasks: tasks/general/tests/nmap.yml - ansible.builtin.include_tasks: tasks/general/tests/nmap.yml
- name: NixOS | Complete - name: NixOS | Complete
ansible.builtin.meta: end_play ansible.builtin.meta: end_play
@@ -89,42 +89,42 @@
- name: Main | General Setup - name: Main | General Setup
block: block:
- include_tasks: tasks/general/software/swap.yml - ansible.builtin.include_tasks: tasks/general/software/swap.yml
- include_tasks: tasks/general/software/packages.yml - ansible.builtin.include_tasks: tasks/general/software/packages.yml
when: internet when: internet
- include_tasks: tasks/general/software/services.yml - ansible.builtin.include_tasks: tasks/general/software/services.yml
- include_tasks: tasks/general/software/sendmail.yml - ansible.builtin.include_tasks: tasks/general/software/sendmail.yml
when: ansible_system == "FreeBSD" when: ansible_system == "FreeBSD"
and internet and internet
- include_tasks: tasks/general/software/aur.yml - ansible.builtin.include_tasks: tasks/general/software/aur.yml
when: internet and ansible_pkg_mgr == "pacman" when: internet and ansible_pkg_mgr == "pacman"
# Gather again in case missing programs have now been installed. # Gather again in case missing programs have now been installed.
- include_tasks: facts/general/gather.yml - ansible.builtin.include_tasks: facts/general/gather.yml
- include_tasks: tasks/general/settings/keyboard.yml - ansible.builtin.include_tasks: tasks/general/settings/keyboard.yml
- include_tasks: tasks/general/acct_mgmt/groups.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/groups.yml
- include_tasks: tasks/general/acct_mgmt/users.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/users.yml
- include_tasks: tasks/general/acct_mgmt/sudo.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/sudo.yml
- include_tasks: tasks/general/acct_mgmt/doas.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/doas.yml
when: internet when: internet
- include_tasks: tasks/general/software/env-shared.yml - ansible.builtin.include_tasks: tasks/general/software/env-shared.yml
when: internet when: internet
- include_tasks: tasks/general/scripts/root.yml - ansible.builtin.include_tasks: tasks/general/scripts/root.yml
- include_tasks: tasks/general/scripts/user.yml - ansible.builtin.include_tasks: tasks/general/scripts/user.yml
- include_tasks: tasks/general/scripts/install.yml - ansible.builtin.include_tasks: tasks/general/scripts/install.yml
- include_tasks: tasks/general/cron/ansible.yml - ansible.builtin.include_tasks: tasks/general/cron/ansible.yml
# TODO Need to refactor. Maybe tasks/general/cron/freebsd.yml # TODO Need to refactor. Maybe tasks/general/cron/freebsd.yml
- include_tasks: tasks/workstation/freebsd/cron/ansible.yml - ansible.builtin.include_tasks: tasks/workstation/freebsd/cron/ansible.yml
when: ansible_system == "FreeBSD" when: ansible_system == "FreeBSD"
- include_tasks: tasks/general/software/metasploit.yml - ansible.builtin.include_tasks: tasks/general/software/metasploit.yml
when: internet when: internet
when: provision when: provision
@@ -135,31 +135,31 @@
- name: Main | Workstation Setup - name: Main | Workstation Setup
block: block:
- include_tasks: facts/workstation/package.yml - ansible.builtin.include_tasks: facts/workstation/package.yml
## Desktop Environments ## ## Desktop Environments ##
- include_tasks: tasks/workstation/freebsd/software/gpu.yml - ansible.builtin.include_tasks: tasks/workstation/freebsd/software/gpu.yml
when: ansible_system == "FreeBSD" when: ansible_system == "FreeBSD"
and bsd_gpu and bsd_gpu
and internet and internet
# Window Managers without true Desktop Environments # # Window Managers without true Desktop Environments #
- include_tasks: tasks/workstation/shared/software/dwm.yml - ansible.builtin.include_tasks: tasks/workstation/shared/software/dwm.yml
when: internet when: internet
- include_tasks: tasks/workstation/shared/software/i3.yml - ansible.builtin.include_tasks: tasks/workstation/shared/software/i3.yml
when: internet when: internet
# Polished Desktop Environments # # Polished Desktop Environments #
- include_tasks: tasks/workstation/freebsd/software/gnome.yml - ansible.builtin.include_tasks: tasks/workstation/freebsd/software/gnome.yml
when: ansible_system == "FreeBSD" when: ansible_system == "FreeBSD"
and internet and internet
- name: Main | Workstation | Fancy Desktop Environments - name: Main | Workstation | Fancy Desktop Environments
block: block:
- include_tasks: tasks/workstation/linux/software/gnome.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/gnome.yml
when: ansible_service_mgr == "systemd" when: ansible_service_mgr == "systemd"
- include_tasks: tasks/workstation/linux/software/cinnamon.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/cinnamon.yml
- include_tasks: tasks/workstation/linux/software/lxqt.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/lxqt.yml
when: ansible_system == "Linux" when: ansible_system == "Linux"
and internet and internet
# TBD: Implement this: and extra_desktops # TBD: Implement this: and extra_desktops
@@ -168,56 +168,57 @@
- name: Main | Workstation Setup | Linux - name: Main | Workstation Setup | Linux
block: block:
- include_tasks: tasks/workstation/linux/software/packages.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/packages.yml
- include_tasks: tasks/workstation/linux/software/tlp.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/tlp.yml
- include_tasks: tasks/workstation/linux/software/lutris.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/lutris.yml
- include_tasks: tasks/workstation/linux/software/vscodium.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/vscodium.yml
- include_tasks: tasks/workstation/linux/software/vpn.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/vpn.yml
- include_tasks: tasks/workstation/linux/software/nodejs.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/nodejs.yml
- include_tasks: tasks/workstation/linux/software/hugo.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/hugo.yml
- include_tasks: tasks/workstation/linux/software/brave.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/brave.yml
when: ansible_pkg_mgr in ("apt", "dnf", "zypper") and not mobile when: ansible_pkg_mgr in ("apt", "dnf", "zypper") and not mobile
when: ansible_system == "Linux" when: ansible_system == "Linux"
and internet and internet
- include_tasks: tasks/workstation/freebsd/software/packages.yml - ansible.builtin.include_tasks: tasks/workstation/freebsd/software/packages.yml
when: ansible_system == "FreeBSD" when: ansible_system == "FreeBSD"
and internet and internet
- include_tasks: tasks/workstation/mac-os/software/brew.yml - ansible.builtin.include_tasks: tasks/workstation/mac-os/software/brew.yml
when: ansible_system == "Darwin" when: ansible_system == "Darwin"
and internet and internet
## Configuration Tasks ## ## Configuration Tasks ##
- name: Main | Workstation Setup | Configuration - name: Main | Workstation Setup | Configuration
block: block:
- include_tasks: tasks/workstation/shared/settings/gnome.yml - ansible.builtin.include_tasks: tasks/workstation/shared/settings/gnome.yml
- include_tasks: tasks/workstation/shared/settings/cinnamon.yml - ansible.builtin.include_tasks: tasks/workstation/shared/settings/cinnamon.yml
- include_tasks: tasks/workstation/shared/settings/xdg_autostart.yml - ansible.builtin.include_tasks: tasks/workstation/shared/settings/xdg_autostart.yml
- include_tasks: tasks/workstation/linux/cron/ansible.yml - ansible.builtin.include_tasks: tasks/workstation/linux/cron/ansible.yml
when: ansible_system == "Linux" when: ansible_system == "Linux"
when: not mobile when: not mobile
- include_tasks: tasks/workstation/shared/settings/nfs.yml - ansible.builtin.include_tasks: tasks/workstation/shared/settings/nfs.yml
- include_tasks: tasks/workstation/shared/settings/rdp.yml - ansible.builtin.include_tasks: tasks/workstation/shared/settings/rdp.yml
when: rdp when: rdp
- include_tasks: tasks/workstation/shared/settings/vnc.yml - ansible.builtin.include_tasks: tasks/workstation/shared/settings/vnc.yml
when: vnc when: vnc
- include_tasks: tasks/workstation/shared/settings/services.yml - ansible.builtin.include_tasks: tasks/workstation/shared/settings/services.yml
- include_tasks: tasks/workstation/shared/settings/templates.yml - ansible.builtin.include_tasks: tasks/workstation/shared/settings/templates.yml
## Final Tasks (SLOW) ## ## Final Tasks (SLOW) ##
- name: Main | Workstation Setup | Linux [Slow] - name: Main | Workstation Setup | Linux [Slow]
block: block:
- include_tasks: tasks/workstation/linux/software/flatpaks.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/flatpaks.yml
when: flatpak_distro when: flatpak_distro
- include_tasks: tasks/workstation/linux/software/java.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/java.yml
- include_tasks: tasks/workstation/linux/software/flutter.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/flutter.yml
- include_tasks: tasks/workstation/linux/software/android.yml - ansible.builtin.include_tasks: tasks/workstation/linux/software/android.yml
- ansible.builtin.include_tasks: tasks/workstation/linux/software/zeroclaw.yml
when: ansible_system == "Linux" when: ansible_system == "Linux"
and internet and internet
@@ -232,35 +233,35 @@
# block: # block:
# #
# ##### Setup ##### # ##### Setup #####
# - include_tasks: tasks/miner/debug.yml # - ansible.builtin.include_tasks: tasks/miner/debug.yml
# #
# - include_tasks: tasks/miner/acct_mgmt/users.yml # - ansible.builtin.include_tasks: tasks/miner/acct_mgmt/users.yml
# #
# - include_tasks: facts/miner/system.yml # - ansible.builtin.include_tasks: facts/miner/system.yml
# - include_tasks: facts/miner/config.yml # - ansible.builtin.include_tasks: facts/miner/config.yml
# - include_tasks: facts/miner/pool.yml # - ansible.builtin.include_tasks: facts/miner/pool.yml
# #
# ##### Installations ##### # ##### Installations #####
# ### CPU SECTION ### # ### CPU SECTION ###
# # Monero # # # Monero #
# - include_tasks: tasks/miner/software/xmr-stak-cpu.yml # - ansible.builtin.include_tasks: tasks/miner/software/xmr-stak-cpu.yml
# when: xmr_stak_cpu is defined # when: xmr_stak_cpu is defined
# #
# ### GPU Section ### # ### GPU Section ###
# ## Drivers ## # ## Drivers ##
# - include_tasks: tasks/miner/drivers/amdgpu.yml # - ansible.builtin.include_tasks: tasks/miner/drivers/amdgpu.yml
# when: ansible_distribution == "Ubuntu" and amdgpu # when: ansible_distribution == "Ubuntu" and amdgpu
# #
# # Ethereum # # # Ethereum #
# - include_tasks: tasks/miner/software/ethminer.yml # - ansible.builtin.include_tasks: tasks/miner/software/ethminer.yml
# when: ethminer # when: ethminer
# #
# - include_tasks: tasks/miner/software/nanominer.yml # - ansible.builtin.include_tasks: tasks/miner/software/nanominer.yml
# when: nanominer # when: nanominer
# #
# ##### Scheduling ##### # ##### Scheduling #####
# - include_tasks: tasks/miner/cron/ansible.yml # - ansible.builtin.include_tasks: tasks/miner/cron/ansible.yml
# - include_tasks: tasks/miner/cron/mfn.yml # - ansible.builtin.include_tasks: tasks/miner/cron/mfn.yml
# #
# when: miner # when: miner
@@ -270,25 +271,25 @@
- name: Main | Server Setup - name: Main | Server Setup
block: block:
- include_tasks: tasks/server/software/services.yml - ansible.builtin.include_tasks: tasks/server/software/services.yml
- block: - block:
- include_tasks: tasks/server/software/certbot.yml - ansible.builtin.include_tasks: tasks/server/software/certbot.yml
- include_tasks: tasks/server/cron/certbot.yml - ansible.builtin.include_tasks: tasks/server/cron/certbot.yml
when: certbot when: certbot
- block: - block:
- include_tasks: tasks/server/software/onlyoffice.yml - ansible.builtin.include_tasks: tasks/server/software/onlyoffice.yml
when: onlyoffice when: onlyoffice
- include_tasks: tasks/server/software/influxdb1.yml - ansible.builtin.include_tasks: tasks/server/software/influxdb1.yml
when: influxdb1 when: influxdb1
- include_tasks: tasks/server/software/influxdb2.yml - ansible.builtin.include_tasks: tasks/server/software/influxdb2.yml
when: influxdb2 when: influxdb2
- include_tasks: tasks/server/software/grafana.yml - ansible.builtin.include_tasks: tasks/server/software/grafana.yml
when: grafana when: grafana
when: ansible_pkg_mgr == "apt" when: ansible_pkg_mgr == "apt"
- include_tasks: tasks/server/software/hugo.yml - ansible.builtin.include_tasks: tasks/server/software/hugo.yml
when: hugo when: hugo
when: server when: server
@@ -299,20 +300,20 @@
- name: Main | Reporting - name: Main | Reporting
block: block:
- include_tasks: tasks/general/software/telegraf.yml - ansible.builtin.include_tasks: tasks/general/software/telegraf.yml
when: internet when: internet
- include_tasks: tasks/general/tests/services.yml - ansible.builtin.include_tasks: tasks/general/tests/services.yml
- include_tasks: tasks/general/tests/lynis.yml - ansible.builtin.include_tasks: tasks/general/tests/lynis.yml
- include_tasks: tasks/general/tests/nmap.yml - ansible.builtin.include_tasks: tasks/general/tests/nmap.yml
####### Finish ####### ####### Finish #######
- name: Main | Finish - name: Main | Finish
block: block:
- include_tasks: tasks/general/acct_mgmt/notify.yml - ansible.builtin.include_tasks: tasks/general/acct_mgmt/notify.yml
vars: vars:
notify_message: "Provisioning Finished" notify_message: "Provisioning Finished"
- include_tasks: tasks/general/tests/lock_remove.yml - ansible.builtin.include_tasks: tasks/general/tests/lock_remove.yml
+7 -5
View File
@@ -92,7 +92,7 @@
block: block:
- name: Workstation | Linux | Software | Flutter | Download SDK - name: Workstation | Linux | Software | Flutter | Download SDK
get_url: ansible.builtin.get_url:
url: "{{ flutter_url }}" url: "{{ flutter_url }}"
dest: "{{ flutter_download_file }}" dest: "{{ flutter_download_file }}"
owner: "{{ user }}" owner: "{{ user }}"
@@ -109,7 +109,7 @@
mode: '0755' mode: '0755'
- name: Workstation | Linux | Software | Flutter | Extract SDK - name: Workstation | Linux | Software | Flutter | Extract SDK
unarchive: ansible.builtin.unarchive:
src: "{{ flutter_download_file }}" src: "{{ flutter_download_file }}"
dest: "{{ flutter_sdk_location }}" dest: "{{ flutter_sdk_location }}"
owner: "{{ user }}" owner: "{{ user }}"
@@ -137,10 +137,10 @@
state: absent state: absent
create: true create: true
backup: true backup: true
mode: "0755"
loop: loop:
- "{{ user_root.home }}" - "{{ user_root.home }}"
- "{{ user_user.home }}" - "{{ user_user.home }}"
ignore_errors: true
when: coding when: coding
and user_root.home != "" and user_root.home != ""
and user_user.home != "" and user_user.home != ""
@@ -154,10 +154,10 @@
state: absent state: absent
create: true create: true
backup: true backup: true
mode: "0755"
loop: loop:
- "{{ user_root.home }}" - "{{ user_root.home }}"
- "{{ user_user.home }}" - "{{ user_user.home }}"
ignore_errors: true
when: coding when: coding
and user_root.home != "" and user_root.home != ""
and user_user.home != "" and user_user.home != ""
@@ -171,10 +171,10 @@
state: present state: present
create: true create: true
backup: true backup: true
mode: "0755"
loop: loop:
- ".bash_profile" - ".bash_profile"
- ".zprofile" - ".zprofile"
ignore_errors: true
when: coding when: coding
and user_user.home != "" and user_user.home != ""
@@ -185,6 +185,8 @@
loop: "{{ flutter_report_commands }}" loop: "{{ flutter_report_commands }}"
become: true become: true
become_user: "{{ user }}" become_user: "{{ user }}"
register: shell_check
changed_when: shell_check.rc == 0
when: coding when: coding
## Uninstall SDK ## ## Uninstall SDK ##
@@ -0,0 +1,62 @@
---
# 2026-10-05 Hyperling
# Install a local LLM for use offline.
# - https://zeroclaw.net/blog/install-zeroclaw
# - https://zeroclaw.net/blog/set-up-zeroclaw-bot-ollama-telegram
#
# Packages Details
# - https://archlinux.org/packages/extra/x86_64/zeroclaw/
# - https://archlinux.org/packages/extra/x86_64/ollama/
#
# Individual Guides
# - https://github.com/zeroclaw-labs/zeroclaw
# - https://wiki.archlinux.org/title/Ollama
# Currently only testing this on Arch based distros (pacman).
- name: Workstation | Linux | Software | ZeroClaw
block:
- name: Workstation | Linux | Software | ZeroClaw | Facts 01
ansible.builtin.set_fact:
zeroclaw: zeroclaw
ollama: ollama
# 1. Install
- name: Workstation | Linux | Software | ZeroClaw | 01 | Install
ansible.builtin.package:
name:
- "{{ zeroclaw }}"
- "{{ ollama }}"
state: present
- name: Workstation | Linux | Software | ZeroClaw | 02 | Pull Model
ansible.builtin.debug:
msg: TBD
### ollama serve & # start Ollama server
### ollama pull llama3.2 # ~2GB, or a smaller model for less RAM
- name: Workstation | Linux | Software | ZeroClaw | 03 | Config
ansible.builtin.debug:
msg: TBD
### ~/.zeroclaw/config.toml`
### `default_provider = "ollama"` pointing at `http://127.0.0.1:11434`
- name: Workstation | Linux | Software | ZeroClaw | 04 | Test
ansible.builtin.debug:
msg: TBD
### zeroclaw agent -m "Hello!" # quick test
- name: Workstation | Linux | Software | ZeroClaw | 05 | Init Scripts | zeroclaw
ansible.builtin.debug:
msg: TBD
### `/run/runit/zeroclaw/run`
### `zeroclaw daemon`
- name: Workstation | Linux | Software | ZeroClaw | 05 | Init Scripts | ollama
ansible.builtin.debug:
msg: TBD
when: ansible_service_mgr == "runit"
### `/run/runit/ollama/run`
### `ollama serve`
when: ansible_pkg_mgr == "pacman"