diff --git a/playbook.yml b/playbook.yml index 8f73c66..9c570f8 100644 --- a/playbook.yml +++ b/playbook.yml @@ -384,6 +384,60 @@ - distro == 'archlinux' - machine.gpu is defined and machine.gpu == 'amd' + - block: + - name: create rust build user + user: + name: rust_build + home: /var/lib/rust_build + create_home: true + shell: /bin/bash + system: true + become: true + + - name: set crate list + set_fact: + cargo_crate_list: + - crate: just + binary: just + version: 0.10.2 + - crate: ripgrep + binary: rg + version: 13.0.0 + - crate: fd-find + binary: fd + version: 8.2.1 + - crate: bat + binary: bat + version: 0.18.3 + - crate: exa + binary: exa + version: 0.10.1 + - crate: watchexec-cli + binary: watchexec + version: 1.17.1 + - name: build rust crates + shell: | + cargo install --version {{ item.version }} {{ item.crate }} + mv /var/lib/rust_build/.cargo/bin/{{ item. binary }} /var/lib/rust_build/.cargo/bin/{{ item.binary }}.{{ item.version }} + args: + creates: /var/lib/rust_build/.cargo/bin/{{ item.binary }}.{{ item.version }} + become: true # do not build as root! + become_user: rust_build + loop: "{{ cargo_crate_list }}" + + - name: link binaries + file: + src: /var/lib/rust_build/.cargo/bin/{{ item.binary }}.{{ item.version }} + dest: /usr/local/bin/{{ item.binary }} + owner: root + group: root + state: link + force: true + become: true + loop: "{{ cargo_crate_list }}" + tags: + - rust_binaries + - block: - name: set go version set_fact: diff --git a/zsh/zshrc.d/20_aliases.sh b/zsh/zshrc.d/20_aliases.sh index d9a9dc8..e902d91 100644 --- a/zsh/zshrc.d/20_aliases.sh +++ b/zsh/zshrc.d/20_aliases.sh @@ -1,8 +1,9 @@ alias vim="nvim" -### COMMON OPERATIONS -alias ll='ls -AlFh' -alias la='ls -A' +### BETTER COMMANDS +alias ls="exa" +alias ll='ls -alF' +alias la='ls -a' alias spm="sudo pacman" @@ -31,8 +32,6 @@ alias tmux="tmux -2" alias chmod="chmod -c" alias chown="chown -c" -alias ls="ls --group-directories-first --classify --color=auto" - alias diff="diff --color=auto" alias grep='grep --color=auto'