update dots management
This commit is contained in:
parent
add508264b
commit
dfe6b7fe40
9 changed files with 16 additions and 187 deletions
|
|
@ -7,9 +7,11 @@
|
||||||
depends = [ "cli-utils" ]
|
depends = [ "cli-utils" ]
|
||||||
|
|
||||||
[default.files]
|
[default.files]
|
||||||
"configs/containers" = "~/.config/containers"
|
"configs/containers" = "~/.config/containers"
|
||||||
"configs/mpv" = "~/.config/mpv"
|
"configs/just" = "~/.config/just"
|
||||||
"configs/swappy" = "~/.config/swappy"
|
"configs/just/dots.just" = { target = "~/.config/just/dots.just", type = "template" }
|
||||||
|
"configs/mpv" = "~/.config/mpv"
|
||||||
|
"configs/swappy" = "~/.config/swappy"
|
||||||
|
|
||||||
[default.variables]
|
[default.variables]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
systemctl --user daemon-reload
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eou pipefail
|
|
||||||
|
|
||||||
export ANSIBLE_STDOUT_CALLBACK=minimal
|
|
||||||
|
|
||||||
if ! command -v uv >/dev/null 2>&1; then
|
|
||||||
echo -e "Installing UV...\n"
|
|
||||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "Executing playbook...\n"
|
|
||||||
|
|
||||||
if [[ -d ~/.config/dotfiles ]]; then
|
|
||||||
pushd ~/.config/dotfiles/bootstrap/ || exit
|
|
||||||
|
|
||||||
# dotfiles are cloned, executed localy
|
|
||||||
uvx --from ansible ansible-playbook --ask-become-pass bootstrap.yaml
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
# dotfiles are not cloned, executed remotly
|
|
||||||
uvx --from ansible ansible-pull --ask-become-pass --url ssh://git@git.alecodes.page:24062/alecodes/dots.git bootstrap/bootstrap.yaml
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
popd || exit
|
|
||||||
|
|
||||||
echo -e "Done!\n"
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
- name: Bootstrap system installation
|
|
||||||
hosts: localhost
|
|
||||||
vars_files:
|
|
||||||
- ./variables.yaml
|
|
||||||
tasks:
|
|
||||||
- name: Fedora setup
|
|
||||||
when: ansible_facts['distribution'] == "Fedora"
|
|
||||||
block:
|
|
||||||
- name: Enable copr repos
|
|
||||||
become: true
|
|
||||||
loop: "{{ distros.fedora.copr }}"
|
|
||||||
community.general.copr:
|
|
||||||
state: enabled
|
|
||||||
name: "{{ item }}"
|
|
||||||
|
|
||||||
- name: Install packages
|
|
||||||
become: true
|
|
||||||
ansible.builtin.package:
|
|
||||||
state: present
|
|
||||||
name: "{{ distros.Global.packages }}"
|
|
||||||
|
|
||||||
- name: 'Ensure rustup is setup'
|
|
||||||
ansible.builtin.command: "{{ (ansible_facts['pkg_mgr'] in ['dnf5']) | ternary('rustup-init -y --no-modify-path', 'rustup --no-modify-path -y') }}"
|
|
||||||
args:
|
|
||||||
creates: ~/.cargo/env
|
|
||||||
|
|
||||||
- name: "Installing Cargo Binstall"
|
|
||||||
ansible.builtin.unarchive:
|
|
||||||
remote_src: true
|
|
||||||
src: https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-x86_64-unknown-linux-musl.tgz
|
|
||||||
dest: "{{ ansible_env.HOME }}/.cargo/bin/"
|
|
||||||
keep_newer: true
|
|
||||||
extra_opts:
|
|
||||||
- "--no-anchored"
|
|
||||||
- "cargo-binstall"
|
|
||||||
|
|
||||||
|
|
||||||
- name: 'Install cargo packages'
|
|
||||||
loop: "{{ distros[ansible_facts['distribution']].cargo }}"
|
|
||||||
register: cargo_log
|
|
||||||
notify:
|
|
||||||
- Deploy dots
|
|
||||||
- Install yazi packages
|
|
||||||
ansible.builtin.command:
|
|
||||||
cmd: "cargo binstall --no-confirm --locked {{ item.pkg }}"
|
|
||||||
creates: "{{ ansible_env.HOME }}/.cargo/bin/{{ item.bin }}"
|
|
||||||
|
|
||||||
- name: Generate an OpenSSH keypair
|
|
||||||
community.crypto.openssh_keypair:
|
|
||||||
path: ~/.ssh/id_ed25519
|
|
||||||
type: ed25519
|
|
||||||
|
|
||||||
- name: Clone dotfiles
|
|
||||||
ignore_errors: true
|
|
||||||
notify:
|
|
||||||
- Deploy dots
|
|
||||||
- Install yazi packages
|
|
||||||
ansible.builtin.git:
|
|
||||||
accept_newhostkey: true
|
|
||||||
repo: ssh://git@git.alecodes.page:24062/alecodes/dots.git
|
|
||||||
dest: ~/.config/dotfiles
|
|
||||||
update: true
|
|
||||||
version: main
|
|
||||||
|
|
||||||
handlers:
|
|
||||||
- name: Deploy dots
|
|
||||||
ansible.builtin.command: tuckr add *
|
|
||||||
- name: Install yazi packages
|
|
||||||
ansible.builtin.command: ya pkg install
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
distros:
|
|
||||||
Fedora:
|
|
||||||
copr:
|
|
||||||
- atim/lazygit
|
|
||||||
- the4runner/firefox-dev
|
|
||||||
packages: {}
|
|
||||||
cargo:
|
|
||||||
- pkg: yazi-fm
|
|
||||||
bin: yazi
|
|
||||||
- pkg: yazi-cli
|
|
||||||
bin: yazi
|
|
||||||
- pkg: tuckr
|
|
||||||
bin: tuckr
|
|
||||||
|
|
||||||
Arch:
|
|
||||||
packages:
|
|
||||||
- tuckr-git
|
|
||||||
cargo: {}
|
|
||||||
|
|
||||||
Global:
|
|
||||||
packages:
|
|
||||||
- adwaita-cursor-theme
|
|
||||||
- adwaita-icon-theme
|
|
||||||
- adwaita-icon-theme-legacy
|
|
||||||
- adwaita-mono-fonts
|
|
||||||
- adwaita-sans-fonts
|
|
||||||
- bat
|
|
||||||
- breeze-icon-theme
|
|
||||||
- breeze-icon-theme-fedora
|
|
||||||
- curl
|
|
||||||
- duf
|
|
||||||
- eza
|
|
||||||
- fd-find
|
|
||||||
- firefox-dev
|
|
||||||
- fish
|
|
||||||
- flatpak
|
|
||||||
- fzf
|
|
||||||
- git
|
|
||||||
- grim
|
|
||||||
- kitty
|
|
||||||
- lazygit
|
|
||||||
- neovim
|
|
||||||
- nodejs
|
|
||||||
- openssh
|
|
||||||
- openssh-askpass
|
|
||||||
- openssh-clients
|
|
||||||
- openssh-server
|
|
||||||
- openssl
|
|
||||||
- openssl-devel
|
|
||||||
- openssl-libs
|
|
||||||
- php-cli
|
|
||||||
- php-common
|
|
||||||
- php-intl
|
|
||||||
- php-mbstring
|
|
||||||
- php-pecl-zip
|
|
||||||
- php-process
|
|
||||||
- php-soap
|
|
||||||
- php-xml
|
|
||||||
- rhythmbox
|
|
||||||
- ripgrep
|
|
||||||
- rofi-themes
|
|
||||||
- rofi-wayland
|
|
||||||
- rofimoji
|
|
||||||
- rootfiles
|
|
||||||
- rsync
|
|
||||||
- rustup
|
|
||||||
- sd
|
|
||||||
- sed
|
|
||||||
- sushi
|
|
||||||
- swappy
|
|
||||||
- tailscale
|
|
||||||
- tealdeer
|
|
||||||
- trash-cli
|
|
||||||
- tree
|
|
||||||
- tree-sitter-cli
|
|
||||||
- udisks2
|
|
||||||
- unrar
|
|
||||||
- unrar-free
|
|
||||||
- unzip
|
|
||||||
- zip
|
|
||||||
- zoxide
|
|
||||||
3
configs/fish/functions/dots.fish
Normal file
3
configs/fish/functions/dots.fish
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
function dots --wraps='just -g' --description 'alias dots just -g'
|
||||||
|
just -g $argv
|
||||||
|
end
|
||||||
|
|
@ -3,10 +3,10 @@ packages_file := quote(justfile_directory() / "bootstrap/pkgs_arch.txt")
|
||||||
bootstrap: setup_pacman setup_paru install_packages
|
bootstrap: setup_pacman setup_paru install_packages
|
||||||
|
|
||||||
|
|
||||||
install_packages: update_packages
|
install_packages: update
|
||||||
paru -S --needed --noconfirm - < {{ packages_file }}
|
paru -S --needed --noconfirm - < {{ packages_file }}
|
||||||
|
|
||||||
update_packages:
|
update:
|
||||||
paru -Syu --noconfirm
|
paru -Syu --noconfirm
|
||||||
|
|
||||||
clean_orphans:
|
clean_orphans:
|
||||||
4
configs/just/dots.just
Normal file
4
configs/just/dots.just
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
set working-directory := "{{ dotter.current_dir }}"
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
dotter deploy
|
||||||
2
configs/just/justfile
Normal file
2
configs/just/justfile
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
mod dots
|
||||||
|
mod arch
|
||||||
Loading…
Add table
Add a link
Reference in a new issue