From fa0c63ab838d8a426caec5c8962a536710799433 Mon Sep 17 00:00:00 2001 From: tobjend Date: Mon, 1 Sep 2025 14:44:13 +0200 Subject: [PATCH] feat: Create intranet branch with only portainer and its dependencies --- playbooks/main.yml | 21 +--- playbooks/roles/common/defaults/main.yml | 8 -- playbooks/roles/common/tasks/main.yml | 20 --- .../subroles/pihole/defaults/main.yml | 16 --- .../subroles/pihole/files/stack.yml | 15 --- .../containers/subroles/pihole/meta/main.yml | 3 - .../containers/subroles/pihole/tasks/main.yml | 114 ----------------- .../pihole/templates/pi-hole-compose.j2 | 21 ---- playbooks/roles/gitea/defaults/main.yml | 10 -- playbooks/roles/gitea/meta/main.yml | 3 - playbooks/roles/gitea/tasks/main.yml | 33 ----- .../gitea/templates/docker-compose.yml.j2 | 17 --- playbooks/roles/network/defaults/main.yml | 22 ---- playbooks/roles/network/meta/main.yml | 3 - playbooks/roles/network/tasks/main.yml | 89 -------------- .../roles/network/templates/docker-compose.j2 | 48 -------- playbooks/roles/postgres/defaults/main.yml | 7 -- playbooks/roles/postgres/tasks/main.yml | 14 --- playbooks/roles/zsh_with_style/files/.zshrc | 116 ------------------ .../files/archey4_4.15.0.0-1_all.deb | Bin 76476 -> 0 bytes .../subroles/ohmyzsh/meta/main.yml | 3 - .../subroles/ohmyzsh/tasks/main.yml | 33 ----- .../zsh_with_style/subroles/zsh/meta/main.yml | 2 - .../zsh_with_style/subroles/zsh/tasks/zsh.yml | 14 --- playbooks/roles/zsh_with_style/tasks/main.yml | 91 -------------- 25 files changed, 3 insertions(+), 720 deletions(-) delete mode 100644 playbooks/roles/common/defaults/main.yml delete mode 100644 playbooks/roles/common/tasks/main.yml delete mode 100644 playbooks/roles/containers/subroles/pihole/defaults/main.yml delete mode 100644 playbooks/roles/containers/subroles/pihole/files/stack.yml delete mode 100644 playbooks/roles/containers/subroles/pihole/meta/main.yml delete mode 100644 playbooks/roles/containers/subroles/pihole/tasks/main.yml delete mode 100644 playbooks/roles/containers/subroles/pihole/templates/pi-hole-compose.j2 delete mode 100644 playbooks/roles/gitea/defaults/main.yml delete mode 100644 playbooks/roles/gitea/meta/main.yml delete mode 100644 playbooks/roles/gitea/tasks/main.yml delete mode 100644 playbooks/roles/gitea/templates/docker-compose.yml.j2 delete mode 100644 playbooks/roles/network/defaults/main.yml delete mode 100644 playbooks/roles/network/meta/main.yml delete mode 100644 playbooks/roles/network/tasks/main.yml delete mode 100644 playbooks/roles/network/templates/docker-compose.j2 delete mode 100644 playbooks/roles/postgres/defaults/main.yml delete mode 100644 playbooks/roles/postgres/tasks/main.yml delete mode 100644 playbooks/roles/zsh_with_style/files/.zshrc delete mode 100644 playbooks/roles/zsh_with_style/files/archey4_4.15.0.0-1_all.deb delete mode 100644 playbooks/roles/zsh_with_style/subroles/ohmyzsh/meta/main.yml delete mode 100644 playbooks/roles/zsh_with_style/subroles/ohmyzsh/tasks/main.yml delete mode 100644 playbooks/roles/zsh_with_style/subroles/zsh/meta/main.yml delete mode 100644 playbooks/roles/zsh_with_style/subroles/zsh/tasks/zsh.yml delete mode 100644 playbooks/roles/zsh_with_style/tasks/main.yml diff --git a/playbooks/main.yml b/playbooks/main.yml index 7fe8e7f..7f283e4 100644 --- a/playbooks/main.yml +++ b/playbooks/main.yml @@ -1,21 +1,6 @@ -- name: Set up reverse Proxy +- name: Set up Portainer hosts: sublimePorte become: true roles: - # - common - # - zsh_with_style - # - docker - # - portainer - #- network - # - containers -- name: Set up webservices - hosts: webservices - become: true - roles: - - gitea - # - authentik - # - common - # - zsh_with_style - # - docker - # - portainer - # - containers + - docker + - portainer \ No newline at end of file diff --git a/playbooks/roles/common/defaults/main.yml b/playbooks/roles/common/defaults/main.yml deleted file mode 100644 index 83e9052..0000000 --- a/playbooks/roles/common/defaults/main.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -common_packages: - - git - - nano - - tree - - htop - - iputils-ping - - zsh diff --git a/playbooks/roles/common/tasks/main.yml b/playbooks/roles/common/tasks/main.yml deleted file mode 100644 index 4a4a67a..0000000 --- a/playbooks/roles/common/tasks/main.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- name: Update apt cache - apt: - update_cache: true - cache_valid_time: 3600 - become: true - -- name: Install Common packages - apt: - name: "{{ common_packages }}" - state: present - become: true - -- name: Set zsh as the default shell - shell: chsh -s $(which zsh) {{ ansible_user }} - become: true - when: ansible_user != "root" - register: chsh_result - failed_when: chsh_result.rc != 0 - changed_when: false diff --git a/playbooks/roles/containers/subroles/pihole/defaults/main.yml b/playbooks/roles/containers/subroles/pihole/defaults/main.yml deleted file mode 100644 index da9f968..0000000 --- a/playbooks/roles/containers/subroles/pihole/defaults/main.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -# Pi-Hole container configuration -pi_hole_container_name: "pihole" -pi_hole_image: "pihole/pihole:latest" -pi_hole_host_port: "314" -pi_hole_dns_port: "53" -pi_hole_timezone: "Europe/Berlin" -pi_hole_volume_dir: "/opt/pi-hole" # Directory to store Pi-Hole data -pi_hole_web_password: "{{ vault_pi_hole_web_password }}" -blocklists: - - https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/pro.txt - - https://raw.githubusercontent.com/daylamtayari/Pi-Hole-Blocklist/master/Pi-Hole-Blocklist.txt - - https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/tif.txt - -# Docker network configuration -docker_network_name: "pi-hole-net" diff --git a/playbooks/roles/containers/subroles/pihole/files/stack.yml b/playbooks/roles/containers/subroles/pihole/files/stack.yml deleted file mode 100644 index 3f6d0fa..0000000 --- a/playbooks/roles/containers/subroles/pihole/files/stack.yml +++ /dev/null @@ -1,15 +0,0 @@ -services: - pihole: - image: pihole/pihole:latest - ports: - - '53:53/tcp' - - '53:53/udp' - - '67:67/udp' - - '80:80/tcp' - environment: - - TZ=Europe/Berlin - - WEBPASSWORD={{ vault_pi_hole_web_password }} - volumes: - - './etc-pihole:/etc/pihole' - - './etc-dnsmasq.d:/etc/dnsmasq.d' - restart: unless-stopped diff --git a/playbooks/roles/containers/subroles/pihole/meta/main.yml b/playbooks/roles/containers/subroles/pihole/meta/main.yml deleted file mode 100644 index 9c32df3..0000000 --- a/playbooks/roles/containers/subroles/pihole/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - role: portainer diff --git a/playbooks/roles/containers/subroles/pihole/tasks/main.yml b/playbooks/roles/containers/subroles/pihole/tasks/main.yml deleted file mode 100644 index 81458d7..0000000 --- a/playbooks/roles/containers/subroles/pihole/tasks/main.yml +++ /dev/null @@ -1,114 +0,0 @@ ---- -- name: Ensure Pi-Hole data directory exists - file: - path: "{{ pi_hole_volume_dir }}" - state: directory - owner: root - group: root - mode: '0755' - become: true - -- name: Generate Docker Compose file for Pi-Hole - template: - src: pi-hole-compose.j2 - dest: /opt/pi-hole/docker-compose.yml - owner: root - group: root - mode: '0644' - become: true - -- name: Ensure Docker network exists - community.docker.docker_network: - name: "{{ docker_network_name }}" - driver: bridge - state: present - -- name: Ensure systemd-resolved is installed - ansible.builtin.apt: - name: systemd-resolved - state: present - become: true - -- name: Disable DNSStubListener in resolved.conf - ansible.builtin.lineinfile: - path: /etc/systemd/resolved.conf - regexp: '^#?DNSStubListener=' - line: 'DNSStubListener=no' - create: true - mode: '0644' # Secure file permissions - become: true - -- name: Restart systemd-resolved service - ansible.builtin.service: - name: systemd-resolved - state: restarted - become: true - changed_when: false - -- name: Verify port 53 is no longer in use by systemd-resolved - ansible.builtin.command: ss -tuln | grep ':53' - register: port_check - failed_when: port_check.rc == 0 and '127.0.0.53:53' in port_check.stdout - changed_when: false - become: true - -- name: Ensure Docker service directory exists - file: - path: /etc/systemd/system/docker.service.d - state: directory - owner: root - group: root - mode: '0755' - become: true - -- name: Add custom DNS settings to Docker service - lineinfile: - path: /etc/systemd/system/docker.service.d/docker.conf - create: true - line: | - [Service] - ExecStart= - ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --dns 8.8.8.8 --dns 8.8.4.4 - regexp: '^ExecStart=' - insertafter: '^\[Service\]' - state: present - mode: '0644' - become: true - -- name: Reload systemd daemon - systemd: - daemon_reload: true - become: true - -- name: Restart Docker service - service: - name: docker - state: restarted - become: true - -- name: Deploy Pi-Hole container using Docker Compose V2 - community.docker.docker_compose_v2: - project_src: /opt/pi-hole - state: present - become: true - -- name: Ensure Pi-Hole container is running - community.docker.docker_container_info: - name: "{{ pi_hole_container_name }}" - register: container_info - -- name: Restart Pi-Hole container if not running - community.docker.docker_container: - name: "{{ pi_hole_container_name }}" - state: started - restart: true - when: not container_info.container.State.Running - -- name: Wait for the container to be fully operational - command: docker exec {{ pi_hole_container_name }} pihole status - register: pihole_status - until: "'Pi-hole blocking is enabled' in pihole_status.stdout" - retries: 30 - delay: 5 - ignore_errors: true - changed_when: false diff --git a/playbooks/roles/containers/subroles/pihole/templates/pi-hole-compose.j2 b/playbooks/roles/containers/subroles/pihole/templates/pi-hole-compose.j2 deleted file mode 100644 index 470c16d..0000000 --- a/playbooks/roles/containers/subroles/pihole/templates/pi-hole-compose.j2 +++ /dev/null @@ -1,21 +0,0 @@ -services: - pihole: - container_name: {{ pi_hole_container_name }} - image: {{ pi_hole_image }} - ports: - - "{{ pi_hole_host_port }}:80/tcp" - - "{{ pi_hole_dns_port }}:53/tcp" - - "{{ pi_hole_dns_port }}:53/udp" - environment: - TZ: {{ pi_hole_timezone }} - WEBPASSWORD: {{ pi_hole_web_password }} - volumes: - - "{{ pi_hole_volume_dir }}/etc-pihole:/etc/pihole" - - "{{ pi_hole_volume_dir }}/etc-dnsmasq.d:/etc/dnsmasq.d" - networks: - - {{ docker_network_name }} - restart: unless-stopped - -networks: - {{ docker_network_name }}: - driver: bridge \ No newline at end of file diff --git a/playbooks/roles/gitea/defaults/main.yml b/playbooks/roles/gitea/defaults/main.yml deleted file mode 100644 index 6f5d3ab..0000000 --- a/playbooks/roles/gitea/defaults/main.yml +++ /dev/null @@ -1,10 +0,0 @@ -# roles/gitea/defaults/main.yml -gitea_version: "latest" -gitea_container_name: "gitea" -gitea_data_path: "/opt/gitea" -gitea_port: 3000 -postgres_host: "localhost" -postgres_port: 5432 -postgres_db: "postgres" -postgres_user: "ansible" -postgres_password: "{{ vault_postgres_password }}" diff --git a/playbooks/roles/gitea/meta/main.yml b/playbooks/roles/gitea/meta/main.yml deleted file mode 100644 index 347cf69..0000000 --- a/playbooks/roles/gitea/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - role: postgres diff --git a/playbooks/roles/gitea/tasks/main.yml b/playbooks/roles/gitea/tasks/main.yml deleted file mode 100644 index ae81976..0000000 --- a/playbooks/roles/gitea/tasks/main.yml +++ /dev/null @@ -1,33 +0,0 @@ -- name: Create Gitea data directory - file: - path: "{{ gitea_data_path }}" - state: directory - owner: "1000" - group: "1000" - mode: '0755' - become: true - -- name: Copy Docker Compose file - template: - src: docker-compose.yml.j2 - dest: "{{ gitea_data_path }}/docker-compose.yml" - mode: '0644' - become: true - -- name: Deploy Gitea container using Docker Compose V2 - community.docker.docker_compose_v2: - project_src: "{{ gitea_data_path }}" - state: present - become: true - -- name: Ensure Gitea container is running - community.docker.docker_container_info: - name: "{{ gitea_container_name }}" - register: container_info - -- name: Restart Gitea container if not running - community.docker.docker_container: - name: "{{ gitea_container_name }}" - state: started - restart: true - when: not container_info.container.State.Running diff --git a/playbooks/roles/gitea/templates/docker-compose.yml.j2 b/playbooks/roles/gitea/templates/docker-compose.yml.j2 deleted file mode 100644 index 5fde0a6..0000000 --- a/playbooks/roles/gitea/templates/docker-compose.yml.j2 +++ /dev/null @@ -1,17 +0,0 @@ -services: - gitea: - image: gitea/gitea:{{ gitea_version }} - container_name: {{ gitea_container_name }} - environment: - - USER_UID=1000 - - USER_GID=1000 - - DB_TYPE=postgres - - DB_HOST={{ postgres_host }}:{{ postgres_port }} - - DB_NAME={{ postgres_db }} - - DB_USER={{ postgres_user }} - - DB_PASSWD={{ postgres_password }} - restart: always - volumes: - - {{ gitea_data_path }}:/data - ports: - - "{{ gitea_port }}:3000" diff --git a/playbooks/roles/network/defaults/main.yml b/playbooks/roles/network/defaults/main.yml deleted file mode 100644 index 8aadd05..0000000 --- a/playbooks/roles/network/defaults/main.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -nginx_proxy_manager_image: "jc21/nginx-proxy-manager:latest" -nginx_proxy_manager_container_name: "nginx-proxy-manager" -nginx_proxy_manager_data_path: "/opt/nginx-proxy-manager/data" -nginx_proxy_manager_letsencrypt_path: "/opt/nginx-proxy-manager/letsencrypt" -nginx_proxy_manager_compose_path: "/opt/nginx-proxy-manager/docker-compose.yml" -nginx_proxy_manager_admin_email: "tobend85@gmail.com" -nginx_proxy_manager_admin_password: "{{ vault_nginx_proxy_manager_admin_password }}" -nginx_proxy_manager_port: "9900" -nginx_proxy_manager_ssl_port: "443" -# Docker network configuration -docker_network_name: "sublime-net" -# Wireguard-Easy container configuration -wireguard_easy_image: "ghcr.io/wg-easy/wg-easy" -wireguard_easy_version: "latest" -wireguard_easy_port: "51820" -wireguard_easy_admin_port: "51821" -wireguard_easy_data_dir: "/etc/wireguard" -wireguard_easy_config_dir: "/opt/network" -wireguard_easy_host: "130.162.231.152" -wireguard_easy_password: "{{ vault_wireguard_easy_password }}" -wireguard_easy_password_hash: "" diff --git a/playbooks/roles/network/meta/main.yml b/playbooks/roles/network/meta/main.yml deleted file mode 100644 index 9c32df3..0000000 --- a/playbooks/roles/network/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - role: portainer diff --git a/playbooks/roles/network/tasks/main.yml b/playbooks/roles/network/tasks/main.yml deleted file mode 100644 index 90f8544..0000000 --- a/playbooks/roles/network/tasks/main.yml +++ /dev/null @@ -1,89 +0,0 @@ -- name: Update apt cache - apt: - update_cache: true - -- name: Install WireGuard and required packages - apt: - name: - - wireguard - - wireguard-tools - - resolvconf - state: present - -- name: Ensure WireGuard module is loaded - modprobe: - name: wireguard - state: present - -- name: Enable IP forwarding - sysctl: - name: net.ipv4.ip_forward - value: '1' - state: present - -- name: Ensure wireguard config directory exists - file: - path: "{{ wireguard_easy_config_dir }}" - state: directory - mode: '0755' - become: true - -- name: Ensure WireGuard configuration file exists (optional) - file: - path: "{{ wireguard_easy_data_dir }}/wg0.conf" - state: touch - owner: root - group: root - mode: '0644' - -- name: Ensure nginx data directory exists - file: - path: "{{ nginx_proxy_manager_data_path }}" - state: directory - mode: '0755' - become: true - -- name: Copy Nginx configuration files - copy: - src: nginx/data - dest: "{{ nginx_proxy_manager_data_path }}" - owner: root - group: root - mode: '0644' - -- name: Ensure Let's Encrypt directory exists - file: - path: "{{ nginx_proxy_manager_letsencrypt_path }}" - state: directory - mode: '0755' - become: true - -- name: Copy Let's Encrypt files - copy: - src: nginx/letsencrypt - dest: "{{ nginx_proxy_manager_letsencrypt_path }}" - owner: root - group: root - mode: '0644' - notify: Restart Nginx - -- name: Generate Docker Compose file for Wireguard and Nginx - template: - src: docker-compose.j2 - dest: /opt/network/docker-compose.yml - owner: root - group: root - mode: '0644' - become: true - -- name: Deploy Containers - community.docker.docker_compose_v2: - project_src: /opt/network - state: present - restart: true - become: true - -- name: Ensure Nginx container is running - community.docker.docker_container_info: - name: "{{ nginx_proxy_manager_container_name }}" - register: nginx_container_info diff --git a/playbooks/roles/network/templates/docker-compose.j2 b/playbooks/roles/network/templates/docker-compose.j2 deleted file mode 100644 index d1ed63e..0000000 --- a/playbooks/roles/network/templates/docker-compose.j2 +++ /dev/null @@ -1,48 +0,0 @@ -services: - wireguard-easy: - image: "{{ wireguard_easy_image }}:{{ wireguard_easy_version }}" - container_name: wireguard-easy - devices: - - /dev/net/tun - environment: - - WG_HOST={{ wireguard_easy_host }} - - PASSWORD_HASH={{ wireguard_easy_password_hash }} - ports: - - "{{ wireguard_easy_port }}:51820/udp" - - "{{ wireguard_easy_admin_port }}:51821/tcp" - - "80:80" - - "{{ nginx_proxy_manager_port }}:81" - - "{{ nginx_proxy_manager_ssl_port }}:443" - volumes: - - "{{ wireguard_easy_data_dir }}:/etc/wireguard" - - "{{ wireguard_easy_config_dir }}:/opt/network" - cap_add: - - NET_ADMIN - - SYS_MODULE - sysctls: - - net.ipv4.ip_forward=1 - - net.ipv6.conf.all.disable_ipv6=0 - networks: - - {{ docker_network_name }} - restart: unless-stopped - - nginx-proxy-manager: - image: "{{ nginx_proxy_manager_image }}" - container_name: "{{ nginx_proxy_manager_container_name }}" - cap_add: - - NET_ADMIN - - SYS_MODULE - restart: always - network_mode: service:wireguard-easy - depends_on: - - wireguard-easy - environment: - INITIAL_ADMIN_EMAIL: {{ nginx_proxy_manager_admin_email }} - INITIAL_ADMIN_PASSWORD: {{ nginx_proxy_manager_admin_password }} - volumes: - - "{{ nginx_proxy_manager_data_path }}:/data" - - "{{ nginx_proxy_manager_letsencrypt_path }}:/etc/letsencrypt" - -networks: - {{ docker_network_name }}: - driver: bridge \ No newline at end of file diff --git a/playbooks/roles/postgres/defaults/main.yml b/playbooks/roles/postgres/defaults/main.yml deleted file mode 100644 index 660583c..0000000 --- a/playbooks/roles/postgres/defaults/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -postgres_container_name: postgres -postgres_port: 5432 -postgres_user: "ansible" -postgres_password: "{{ vault_postgres_password }}" -postgres_data_dir: /var/lib/postgresql/data/pgdata -postgres_volume: /opt/postgresData diff --git a/playbooks/roles/postgres/tasks/main.yml b/playbooks/roles/postgres/tasks/main.yml deleted file mode 100644 index 1cc30bc..0000000 --- a/playbooks/roles/postgres/tasks/main.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -- name: Run PostgreSQL Docker container - docker_container: - name: "{{ postgres_container_name }}" - image: postgres - state: started - ports: - - "{{ postgres_port }}:5432" - env: - POSTGRES_USER: "{{ postgres_user }}" - POSTGRES_PASSWORD: "{{ postgres_password }}" - PGDATA: "{{ postgres_data_dir }}" - volumes: - - "{{ postgres_volume }}:{{ postgres_data_dir }}" diff --git a/playbooks/roles/zsh_with_style/files/.zshrc b/playbooks/roles/zsh_with_style/files/.zshrc deleted file mode 100644 index dd5d8e1..0000000 --- a/playbooks/roles/zsh_with_style/files/.zshrc +++ /dev/null @@ -1,116 +0,0 @@ -# If you come from bash you might have to change your $PATH. -# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH - -# Path to your Oh My Zsh installation. -export ZSH="$HOME/.oh-my-zsh" - -#ZSH_THEME="powerlevel9k/powerlevel9k" -#POWERLEVEL9K_MODE="nerdfont-complete" -#source $ZSH/themes/powerlevel9k/powerlevel9k.zsh-theme - -# Set name of the theme to load --- if set to "random", it will -# load a random theme each time Oh My Zsh is loaded, in which case, -# to know which specific one was loaded, run: echo $RANDOM_THEME -# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes -ZSH_THEME="robbyrussell" - -# Set list of themes to pick from when loading at random -# Setting this variable when ZSH_THEME=random will cause zsh to load -# a theme from this variable instead of looking in $ZSH/themes/ -# If set to an empty array, this variable will have no effect. -# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) - -# Uncomment the following line to use case-sensitive completion. -CASE_SENSITIVE="false" - -# Uncomment the following line to use hyphen-insensitive completion. -# Case-sensitive completion must be off. _ and - will be interchangeable. -HYPHEN_INSENSITIVE="true" - -# Uncomment one of the following lines to change the auto-update behavior -# zstyle ':omz:update' mode disabled # disable automatic updates -# zstyle ':omz:update' mode auto # update automatically without asking -# zstyle ':omz:update' mode reminder # just remind me to update when it's time - -# Uncomment the following line to change how often to auto-update (in days). -# zstyle ':omz:update' frequency 13 - -# Uncomment the following line if pasting URLs and other text is messed up. -# DISABLE_MAGIC_FUNCTIONS="true" - -# Uncomment the following line to disable colors in ls. -# DISABLE_LS_COLORS="true" - -# Uncomment the following line to disable auto-setting terminal title. -# DISABLE_AUTO_TITLE="true" - -# Uncomment the following line to enable command auto-correction. -# ENABLE_CORRECTION="true" - -# Uncomment the following line to display red dots whilst waiting for completion. -# You can also set it to another string to have that shown instead of the default red dots. -# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f" -# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765) -# COMPLETION_WAITING_DOTS="true" - -# Uncomment the following line if you want to disable marking untracked files -# under VCS as dirty. This makes repository status check for large repositories -# much, much faster. -# DISABLE_UNTRACKED_FILES_DIRTY="true" - -# Uncomment the following line if you want to change the command execution time -# stamp shown in the history command output. -# You can set one of the optional three formats: -# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" -# or set a custom format using the strftime function format specifications, -# see 'man strftime' for details. -HIST_STAMPS="dd.mm.yyyy" - -# Would you like to use another custom folder than $ZSH/custom? -# ZSH_CUSTOM=/path/to/new-custom-folder - -# Which plugins would you like to load? -# Standard plugins can be found in $ZSH/plugins/ -# Custom plugins may be added to $ZSH_CUSTOM/plugins/ -# Example format: plugins=(rails git textmate ruby lighthouse) -# Add wisely, as too many plugins slow down shell startup. - -plugins=(git zsh-syntax-highlighting) - -source $ZSH/oh-my-zsh.sh - -# User configuration - -# export MANPATH="/usr/local/man:$MANPATH" - -# You may need to manually set your language environment -# export LANG=en_US.UTF-8 - -# Preferred editor for local and remote sessions -# if [[ -n $SSH_CONNECTION ]]; then -# export EDITOR='vim' -# else -# export EDITOR='nvim' -# fi - -# Compilation flags -# export ARCHFLAGS="-arch $(uname -m)" - -# Set personal aliases, overriding those provided by Oh My Zsh libs, -# plugins, and themes. Aliases can be placed here, though Oh My Zsh -# users are encouraged to define aliases within a top-level file in -# the $ZSH_CUSTOM folder, with .zsh extension. Examples: -# - $ZSH_CUSTOM/aliases.zsh -# - $ZSH_CUSTOM/macos.zsh -# For a full list of active aliases, run `alias`. -# -# Example aliases -alias zshconfig="nano ~/.zshrc" - -#alias ls="colorls" -#function cd { builtin cd "$@" && colorls } -#PATH=$PATH:~/.local/share/gem/ruby/3.3.0/bin -alias cat="batcat" -alias top="htop" -archey -ls \ No newline at end of file diff --git a/playbooks/roles/zsh_with_style/files/archey4_4.15.0.0-1_all.deb b/playbooks/roles/zsh_with_style/files/archey4_4.15.0.0-1_all.deb deleted file mode 100644 index aff58327b14b39f065b6ed4327761efb43971d5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76476 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 diff --git a/playbooks/roles/zsh_with_style/subroles/ohmyzsh/meta/main.yml b/playbooks/roles/zsh_with_style/subroles/ohmyzsh/meta/main.yml deleted file mode 100644 index a88d990..0000000 --- a/playbooks/roles/zsh_with_style/subroles/ohmyzsh/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - role: zsh_with_style/subroles/zsh diff --git a/playbooks/roles/zsh_with_style/subroles/ohmyzsh/tasks/main.yml b/playbooks/roles/zsh_with_style/subroles/ohmyzsh/tasks/main.yml deleted file mode 100644 index b4ef02d..0000000 --- a/playbooks/roles/zsh_with_style/subroles/ohmyzsh/tasks/main.yml +++ /dev/null @@ -1,33 +0,0 @@ -- name: Check if Oh My Zsh is already installed - stat: - path: "{{ user_home }}/.oh-my-zsh" - register: oh_my_zsh_installed - notify: Debug Oh My Zsh installation status - - -- name: Debug Oh My Zsh installation status - debug: - msg: "Oh My Zsh is {{ 'installed' if oh_my_zsh_installed.stat.exists else 'not installed' }}" - when: oh_my_zsh_installed is defined - -- name: Download Oh My Zsh install script using wget - get_url: - url: https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh - dest: /tmp/install-ohmyzsh.sh - mode: '0755' # Makes it executable - when: not oh_my_zsh_installed.stat.exists - -- name: Install Oh My Zsh for the current user - shell: | - RUNZSH=no CHSH=no sh /tmp/install-ohmyzsh.sh - args: - creates: "{{ user_home }}/.oh-my-zsh" - when: not oh_my_zsh_installed.stat.exists - become: true - become_user: "{{ ansible_user }}" - -- name: Clone zsh-syntax-highlighting repository - git: - repo: 'https://github.com/zsh-users/zsh-syntax-highlighting.git' - dest: "{{ user_home }}/.oh-my-zsh/plugins/zsh-syntax-highlighting" - version: master diff --git a/playbooks/roles/zsh_with_style/subroles/zsh/meta/main.yml b/playbooks/roles/zsh_with_style/subroles/zsh/meta/main.yml deleted file mode 100644 index a03dab3..0000000 --- a/playbooks/roles/zsh_with_style/subroles/zsh/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -# No dependencies for this subrole diff --git a/playbooks/roles/zsh_with_style/subroles/zsh/tasks/zsh.yml b/playbooks/roles/zsh_with_style/subroles/zsh/tasks/zsh.yml deleted file mode 100644 index 9ae4549..0000000 --- a/playbooks/roles/zsh_with_style/subroles/zsh/tasks/zsh.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- - -- name: Install zsh - apt: - name: zsh - state: present - -- name: Set zsh as the default shell - shell: chsh -s $(which zsh) {{ ansible_user }} - become: true - when: ansible_user != "root" - register: chsh_result - failed_when: chsh_result.rc != 0 - changed_when: false diff --git a/playbooks/roles/zsh_with_style/tasks/main.yml b/playbooks/roles/zsh_with_style/tasks/main.yml deleted file mode 100644 index 459197c..0000000 --- a/playbooks/roles/zsh_with_style/tasks/main.yml +++ /dev/null @@ -1,91 +0,0 @@ ---- -- name: Set home directory for the user - set_fact: - user_home: "/home/{{ ansible_user }}" - -- name: Set up Zsh - include_role: - name: zsh_with_style/subroles/zsh - -- name: Set up Oh My Zsh - include_role: - name: zsh_with_style/subroles/ohmyzsh - -- name: Install bat - apt: - name: bat - state: present - update_cache: true - become: true - -- name: Ensure ~/.local/bin directory exists - file: - path: "{{ user_home }}/.local/bin" - state: directory - mode: '0755' - -- name: Copy the archey 4 .deb package to the remote host - copy: - src: archey4_4.15.0.0-1_all.deb # Name of the .deb file in the `files` folder - dest: /tmp/archey4_4.15.0.0-1_all.deb - mode: '0644' - -- name: Install archey 4 - apt: - deb: /tmp/archey4_4.15.0.0-1_all.deb - state: present - become: true - -- name: Create symlink from batcat to bat - file: - src: /usr/bin/batcat - dest: "{{ user_home }}/.local/bin/bat" - state: link - -- name: Deploy custom .zshrc file - copy: - src: .zshrc - dest: ~{{ ansible_user }}/.zshrc - owner: "{{ ansible_user }}" - group: "{{ ansible_user }}" - mode: '0644' - when: ansible_user != "root" - -- name: Source .zshrc to apply changes - shell: | - source {{ user_home }}/.zshrc - args: - executable: /bin/zsh - become_user: "{{ ansible_user }}" - become: true - changed_when: false - -# - name: Ensure Ruby is installed -# apt: -# name: ruby -# state: present -# become: yes - -# - name: Get Ruby version -# command: ruby -e 'puts RUBY_VERSION' -# register: ruby_version_output -# become: yes - -# - name: Set Ruby version fact -# set_fact: -# ruby_version: "{{ ruby_version_output.stdout }}" - -# # - name: Ensure gem binary directory is in the user's PATH -# # lineinfile: -# # path: "{{ ansible_user_dir }}/.zshrc" -# # line: 'export PATH="$HOME/.local/share/gem/ruby/{{ ruby_version }}/bin:$PATH"' -# # create: yes -# # become: yes -# # become_user: "{{ ansible_user }}" - - -# - name: Install colorls gem for the current user -# gem: -# name: colorls -# become: yes -# become_user: "{{ ansible_user }}"