From 1ef33c16af3a38eb1cd3f840be8ea3d98fb2a00a Mon Sep 17 00:00:00 2001 From: Morten Olsen Date: Mon, 7 Oct 2024 21:53:40 +0200 Subject: [PATCH] update --- Dockerfile | 2 -- .../roles/software/atuin/defaults/main.yml | 14 +++++++++ playbooks/roles/software/atuin/meta/main.yml | 4 +++ playbooks/roles/software/atuin/tasks/main.yml | 30 +++++++++++++++++++ .../roles/software/starship/defaults/main.yml | 14 +++++++++ .../roles/software/starship/meta/main.yml | 4 +++ .../roles/software/starship/tasks/main.yml | 30 +++++++++++++++++++ playbooks/roles/terminal/meta/main.yml | 1 - playbooks/roles/terminal/tasks/main.yml | 26 ++++++++-------- playbooks/roles/terminal/tasks/nvm.yml | 19 ++++++++++++ .../roles/terminal/vars/default/default.yml | 4 +-- playbooks/test.yml | 5 ++++ requirements.yml | 4 --- 13 files changed, 134 insertions(+), 23 deletions(-) create mode 100644 playbooks/roles/software/atuin/defaults/main.yml create mode 100644 playbooks/roles/software/atuin/meta/main.yml create mode 100644 playbooks/roles/software/atuin/tasks/main.yml create mode 100644 playbooks/roles/software/starship/defaults/main.yml create mode 100644 playbooks/roles/software/starship/meta/main.yml create mode 100644 playbooks/roles/software/starship/tasks/main.yml create mode 100644 playbooks/roles/terminal/tasks/nvm.yml create mode 100644 playbooks/test.yml delete mode 100644 requirements.yml diff --git a/Dockerfile b/Dockerfile index 50a6ab9..c385187 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,5 @@ FROM fedora WORKDIR /app RUN yum update -y && yum install -y \ ansible -COPY requirements.yml /app -RUN ansible-galaxy collection install -r requirements.yml COPY . /app RUN ansible-playbook /app/playbooks/image.yml diff --git a/playbooks/roles/software/atuin/defaults/main.yml b/playbooks/roles/software/atuin/defaults/main.yml new file mode 100644 index 0000000..8d4f742 --- /dev/null +++ b/playbooks/roles/software/atuin/defaults/main.yml @@ -0,0 +1,14 @@ +--- +mirror: "https://github.com/atuinsh/atuin/releases/download/" +version: v18.3.0 +arch_map: + arm64: aarch64 + aarch64: aarch64 +system_map: + Darwin: apple-darwin + Linux: unknown-linux-gnu + +atuin_url: "{{ mirror }}/{{version}}/atuin-{{ arch_map[ansible_architecture] }}-{{ system_map[ansible_system] }}.tar.gz" +download_dir: "/tmp/atuin.tar.gz" +unpack_dir: "/tmp/atuin" +unpack_file: "{{ unpack_dir }}/atuin-{{ arch_map[ansible_architecture] }}-{{ system_map[ansible_system] }}/atuin" diff --git a/playbooks/roles/software/atuin/meta/main.yml b/playbooks/roles/software/atuin/meta/main.yml new file mode 100644 index 0000000..6ec6c73 --- /dev/null +++ b/playbooks/roles/software/atuin/meta/main.yml @@ -0,0 +1,4 @@ +--- +dependencies: + - role: info + - role: system diff --git a/playbooks/roles/software/atuin/tasks/main.yml b/playbooks/roles/software/atuin/tasks/main.yml new file mode 100644 index 0000000..266abbb --- /dev/null +++ b/playbooks/roles/software/atuin/tasks/main.yml @@ -0,0 +1,30 @@ +- name: Download atuin + tags: always + ansible.builtin.get_url: + url: "{{ atuin_url }}" + dest: "{{ download_dir }}" + +- name: Create dir + tags: always + ansible.builtin.file: + path: "{{ unpack_dir }}" + state: directory + +- name: Extract foo.tgz into /var/lib/foo + tags: always + ansible.builtin.unarchive: + src: "{{ download_dir }}" + dest: "{{ unpack_dir }}" + +- name: Ensure dir + tags: always + ansible.builtin.file: + path: "{{ home }}/.scripts" + state: directory +- name: Move bin + tags: always + ansible.builtin.copy: + remote_src: true + mode: 755 + src: "{{ unpack_file }}" + dest: "{{ home }}/.scripts/atuin" diff --git a/playbooks/roles/software/starship/defaults/main.yml b/playbooks/roles/software/starship/defaults/main.yml new file mode 100644 index 0000000..a9815d8 --- /dev/null +++ b/playbooks/roles/software/starship/defaults/main.yml @@ -0,0 +1,14 @@ +--- +mirror: "https://github.com/starship/starship/releases/download/" +version: v1.20.1 +arch_map: + arm64: aarch64 + aarch64: aarch64 +system_map: + Darwin: apple-darwin + Linux: unknown-linux-musl + +download_url: "{{ mirror }}/{{version}}/starship-{{ arch_map[ansible_architecture] }}-{{ system_map[ansible_system] }}.tar.gz" +download_dir: "/tmp/starship.tar.gz" +unpack_dir: "/tmp/starship" +unpack_file: "{{ unpack_dir }}/starship" diff --git a/playbooks/roles/software/starship/meta/main.yml b/playbooks/roles/software/starship/meta/main.yml new file mode 100644 index 0000000..6ec6c73 --- /dev/null +++ b/playbooks/roles/software/starship/meta/main.yml @@ -0,0 +1,4 @@ +--- +dependencies: + - role: info + - role: system diff --git a/playbooks/roles/software/starship/tasks/main.yml b/playbooks/roles/software/starship/tasks/main.yml new file mode 100644 index 0000000..10c6b93 --- /dev/null +++ b/playbooks/roles/software/starship/tasks/main.yml @@ -0,0 +1,30 @@ +- name: Download starship + tags: always + ansible.builtin.get_url: + url: "{{ download_url }}" + dest: "{{ download_dir }}" + +- name: Create dir + tags: always + ansible.builtin.file: + path: "{{ unpack_dir }}" + state: directory + +- name: Extract starship + tags: always + ansible.builtin.unarchive: + src: "{{ download_dir }}" + dest: "{{ unpack_dir }}" + +- name: Ensure dir + tags: always + ansible.builtin.file: + path: "{{ home }}/.scripts" + state: directory +- name: Move bin + tags: always + ansible.builtin.copy: + remote_src: true + mode: 755 + src: "{{ unpack_file }}" + dest: "{{ home }}/.scripts/atuin" diff --git a/playbooks/roles/terminal/meta/main.yml b/playbooks/roles/terminal/meta/main.yml index 75f605c..6ec6c73 100644 --- a/playbooks/roles/terminal/meta/main.yml +++ b/playbooks/roles/terminal/meta/main.yml @@ -2,4 +2,3 @@ dependencies: - role: info - role: system - # - elliotweiser.osx-command-line-tools diff --git a/playbooks/roles/terminal/tasks/main.yml b/playbooks/roles/terminal/tasks/main.yml index b14961a..68c98a7 100644 --- a/playbooks/roles/terminal/tasks/main.yml +++ b/playbooks/roles/terminal/tasks/main.yml @@ -22,25 +22,23 @@ tags: - config -- name: Clone nvm +- name: Install atuin tags: - install - ansible.builtin.git: - accept_newhostkey: true - clone: true - force: true - recursive: false - repo: https://github.com/nvm-sh/nvm - dest: "{{ home }}/.nvm" + include_role: + name: software/atuin -- name: Install node and set version +- name: Install starship + tags: + - install + include_role: + name: software/starship + +- name: Setup node tags: - config - register: nodeinstall - ansible.builtin.shell: source {{ home }}/.nvm/nvm.sh && nvm install 22 - changed_when: "'is already installed' not in nodeinstall.stderr" - args: - executable: /bin/bash + - install + include_tasks: "nvm.yml" - name: Setup nvim tags: diff --git a/playbooks/roles/terminal/tasks/nvm.yml b/playbooks/roles/terminal/tasks/nvm.yml new file mode 100644 index 0000000..af3289a --- /dev/null +++ b/playbooks/roles/terminal/tasks/nvm.yml @@ -0,0 +1,19 @@ +- name: Clone nvm + tags: + - install + ansible.builtin.git: + accept_newhostkey: true + clone: true + force: true + recursive: false + repo: https://github.com/nvm-sh/nvm + dest: "{{ home }}/.nvm" + +- name: Install node and set version + tags: + - config + register: nodeinstall + ansible.builtin.shell: source {{ home }}/.nvm/nvm.sh && nvm install 22 + changed_when: "'is already installed' not in nodeinstall.stderr" + args: + executable: /bin/bash diff --git a/playbooks/roles/terminal/vars/default/default.yml b/playbooks/roles/terminal/vars/default/default.yml index c9c97d1..790011a 100644 --- a/playbooks/roles/terminal/vars/default/default.yml +++ b/playbooks/roles/terminal/vars/default/default.yml @@ -1,6 +1,6 @@ --- terminal_pkgs: - #- atuin + # - atuin - bat - eza - direnv @@ -10,7 +10,7 @@ terminal_pkgs: - ripgrep - neovim - gh - #- starship + # - starship - tmux - zoxide - git diff --git a/playbooks/test.yml b/playbooks/test.yml new file mode 100644 index 0000000..6e35112 --- /dev/null +++ b/playbooks/test.yml @@ -0,0 +1,5 @@ +--- +- name: Setup host + hosts: localhost + roles: + - software/atuin diff --git a/requirements.yml b/requirements.yml deleted file mode 100644 index a0dcad8..0000000 --- a/requirements.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -roles: - - name: elliotweiser.osx-command-line-tools - - name: andrewrothstein.starship