Add commands and scripts to user. (#7)
* If we're gonig to exit then we should be more sure about our messaging. * Only have GIMP installed from Flatpak. * Playbook is causing Ubuntu 20.04 to fail. * Define gnome_install.failed since some Ansible versions are picky. * Try again for mad non-Parrot versions of Ansible. * Add debug. * Still trying to make Ubuntu 20.04's Ansible happy. * Fix typos. * Ubuntu does not need to install Dash To Dock. Also ensure `make` is installed on other distros so that the project is compiled. * Remove debug. * Add remount and upgrade commands to RC files. * Copy root scripts to also be for user. * Call the new user script. * Add new commands to rc_common so they're added to the rc files. * Remove update file on Parrot OS.
This commit is contained in:
parent
3dec7e7d82
commit
37c5b122f8
@ -8,7 +8,6 @@
|
|||||||
ansible_python_interpreter: "/usr/bin/python3"
|
ansible_python_interpreter: "/usr/bin/python3"
|
||||||
when: ansible_distribution == "Parrot OS"
|
when: ansible_distribution == "Parrot OS"
|
||||||
|
|
||||||
|
|
||||||
- name: General | Facts | Package | apt
|
- name: General | Facts | Package | apt
|
||||||
set_fact:
|
set_fact:
|
||||||
sshfs: sshfs
|
sshfs: sshfs
|
||||||
@ -16,14 +15,12 @@
|
|||||||
opensshd: openssh-server
|
opensshd: openssh-server
|
||||||
when: ansible_pkg_mgr == "apt"
|
when: ansible_pkg_mgr == "apt"
|
||||||
|
|
||||||
|
|
||||||
- name: General | Facts | Package | pacman
|
- name: General | Facts | Package | pacman
|
||||||
set_fact:
|
set_fact:
|
||||||
sshfs: sshfs
|
sshfs: sshfs
|
||||||
locate: mlocate
|
locate: mlocate
|
||||||
opensshd: openssh
|
opensshd: openssh
|
||||||
when: ansible_pkg_mgr == "pacman"
|
when: ansible_pkg_mgr == "pacman"
|
||||||
|
|
||||||
|
|
||||||
- name: General | Facts | Package | FreeBSD
|
- name: General | Facts | Package | FreeBSD
|
||||||
set_fact:
|
set_fact:
|
||||||
@ -33,3 +30,58 @@
|
|||||||
ansible_python_interpreter: "/usr/local/bin/python3.8"
|
ansible_python_interpreter: "/usr/local/bin/python3.8"
|
||||||
when: ansible_system == "FreeBSD"
|
when: ansible_system == "FreeBSD"
|
||||||
|
|
||||||
|
|
||||||
|
- name: General | Facts | Package | Update Commands | Helpers
|
||||||
|
set_fact:
|
||||||
|
update_accept_var: '$accept'
|
||||||
|
|
||||||
|
- name: General | Facts | Package | Update Commands | apt
|
||||||
|
set_fact:
|
||||||
|
update_package_manager: |
|
||||||
|
echo "*** Apt ***" &&
|
||||||
|
sudo apt update &&
|
||||||
|
sudo apt autoremove {{ update_accept_var }} &&
|
||||||
|
sudo apt dist-upgrade {{ update_accept_var }} &&
|
||||||
|
when: ansible_pkg_mgr == "apt"
|
||||||
|
|
||||||
|
- name: General | Facts | Package | Update Commands | pacman
|
||||||
|
set_fact:
|
||||||
|
update_package_manager: |
|
||||||
|
echo "*** Pacman ***" &&
|
||||||
|
sudo pacman -Syyu &&
|
||||||
|
when: ansible_pkg_mgr == "pacman"
|
||||||
|
|
||||||
|
- name: General | Facts | Package | Update Commands | pkg
|
||||||
|
set_fact:
|
||||||
|
update_package_manager: |
|
||||||
|
echo "*** Pkg ***" &&
|
||||||
|
sudo pkg update &&
|
||||||
|
sudo pkg upgrade &&
|
||||||
|
when: ansible_pkg_mgr == "pkg"
|
||||||
|
|
||||||
|
- name: General | Facts | Package | Update Commands | parrot-upgrade
|
||||||
|
set_fact:
|
||||||
|
update_package_manager: |
|
||||||
|
parrot_mirrors_suck=true
|
||||||
|
echo "*** Parrot ***"
|
||||||
|
while [[ $parrot_mirrors_suck ]]; do
|
||||||
|
unset parrot_mirrors_suck
|
||||||
|
sudo parrot-upgrade
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
parrot_mirrors_suck=true
|
||||||
|
sudo apt update --fix-missing
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
when: ansible_distribution == "Parrot OS"
|
||||||
|
|
||||||
|
- name: General | Facts | Package | Update Commands | flatpak (Linux)
|
||||||
|
set_fact:
|
||||||
|
update_flatpak: |
|
||||||
|
echo "*** Flatpak ***" &&
|
||||||
|
flatpak update &&
|
||||||
|
when: ansible_system == "Linux"
|
||||||
|
|
||||||
|
- name: General | Facts | Package | Update Commands | flatpak (FreeBSD)
|
||||||
|
set_fact:
|
||||||
|
update_flatpak: echo "*** No Flatpak ***"
|
||||||
|
when: ansible_system == "FreeBSD"
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
- include: tasks/general/acct_mgmt/mounts.yml
|
- include: tasks/general/acct_mgmt/mounts.yml
|
||||||
|
|
||||||
- include: tasks/general/scripts/root.yml
|
- include: tasks/general/scripts/root.yml
|
||||||
|
- include: tasks/general/scripts/user.yml
|
||||||
|
|
||||||
- include: tasks/general/cron/ansible.yml
|
- include: tasks/general/cron/ansible.yml
|
||||||
- include: tasks/general/cron/root.yml
|
- include: tasks/general/cron/root.yml
|
||||||
|
@ -113,8 +113,36 @@
|
|||||||
fi
|
fi
|
||||||
curl "https://wttr.in/${1//\ /+}"
|
curl "https://wttr.in/${1//\ /+}"
|
||||||
}
|
}
|
||||||
PS1: |
|
PS1: export PS1='[\u@\h \w]\$ '
|
||||||
export PS1='[\u@\h \w]\$ '
|
remount: alias remount='sudo umount /mnt/*; sudo umount /mnt/*/*; sudo mount -a; echo -e "\nRemount completed!"; mount | grep /mnt'
|
||||||
|
update: |
|
||||||
|
function update() {
|
||||||
|
PROG=$FUNCNAME
|
||||||
|
usage="Usage: $PROG [-y]
|
||||||
|
$PROG is used to run all the system's package manager commands
|
||||||
|
in one swoop. Flow stops if any command returns a failure code.
|
||||||
|
The hope is to run something as easy as 'pacman -Syyu'.
|
||||||
|
-y : Assume yes to any prompts."
|
||||||
|
|
||||||
|
unset OPTIND
|
||||||
|
while getopts ":hy" opt; do
|
||||||
|
case $opt in
|
||||||
|
h) echo -e "$usage"
|
||||||
|
return 0 ;;
|
||||||
|
y) accept="-y" ;;
|
||||||
|
*) echo "ERROR: -$OPTARG is not a recognized option."
|
||||||
|
echo -e "$usage"
|
||||||
|
return 1 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
{{ update_package_manager }}
|
||||||
|
{{ update_flatpak }}
|
||||||
|
return 0
|
||||||
|
|
||||||
|
echo "$PROG experienced a problem and has aborted."
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
- name: General | Account Management | Users | Files | Common Variable
|
- name: General | Account Management | Users | Files | Common Variable
|
||||||
set_fact:
|
set_fact:
|
||||||
@ -127,6 +155,8 @@
|
|||||||
{{ alias_clean_trash }}
|
{{ alias_clean_trash }}
|
||||||
{{ function_wttr }}
|
{{ function_wttr }}
|
||||||
{{ PS1 }}
|
{{ PS1 }}
|
||||||
|
{{ remount }}
|
||||||
|
{{ update }}
|
||||||
|
|
||||||
- name: General | Account Management | Users | Files | .bashrc
|
- name: General | Account Management | Users | Files | .bashrc
|
||||||
blockinfile:
|
blockinfile:
|
||||||
|
70
tasks/general/scripts/user.yml
Normal file
70
tasks/general/scripts/user.yml
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
---
|
||||||
|
# Create file to easily push git changes and call SCM.
|
||||||
|
|
||||||
|
- name: General | Scripts | User | scm.sh
|
||||||
|
blockinfile:
|
||||||
|
path: "{{ user_ling.home }}/bin/scm.sh"
|
||||||
|
block: |
|
||||||
|
# 20210211 - Make life easier!
|
||||||
|
push.sh
|
||||||
|
time curl https://scm.hyperling.com | sudo bash
|
||||||
|
marker: '{mark}'
|
||||||
|
marker_begin: "#!{{ bash_exec.stdout }}"
|
||||||
|
marker_end: "exit 0"
|
||||||
|
state: present
|
||||||
|
create: yes
|
||||||
|
|
||||||
|
- name: General | Scripts | User | scm.sh Permissions
|
||||||
|
file:
|
||||||
|
path: "{{ user_ling.home }}/bin/scm.sh"
|
||||||
|
mode: '0755'
|
||||||
|
|
||||||
|
|
||||||
|
- name: General | Scripts | User | push.sh
|
||||||
|
blockinfile:
|
||||||
|
path: "{{ user_ling.home }}/bin/push.sh"
|
||||||
|
block: |
|
||||||
|
# 20210215 - Make life even easier!
|
||||||
|
ssh ling@leet "cd Code/Ansible/ansible-pull; git push"
|
||||||
|
marker: '{mark}'
|
||||||
|
marker_begin: "#!{{ bash_exec.stdout }}"
|
||||||
|
marker_end: "exit 0"
|
||||||
|
state: present
|
||||||
|
create: yes
|
||||||
|
|
||||||
|
- name: General | Scripts | User | push.sh Permissions
|
||||||
|
file:
|
||||||
|
path: "{{ user_ling.home }}/bin/push.sh"
|
||||||
|
mode: '0755'
|
||||||
|
|
||||||
|
|
||||||
|
- name: General | Scripts | User | scm-dev.sh
|
||||||
|
blockinfile:
|
||||||
|
path: "{{ user_ling.home }}/bin/scm-dev.sh"
|
||||||
|
block: |
|
||||||
|
# 20210713 - Make life easier for development!
|
||||||
|
|
||||||
|
## Variables ##
|
||||||
|
|
||||||
|
# Use a specific branch if it was asked for.
|
||||||
|
branch="dev"
|
||||||
|
if [[ $1 != "" ]]; then
|
||||||
|
branch="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
## Main ##
|
||||||
|
|
||||||
|
push.sh
|
||||||
|
time sudo {{ ansible_pull_exec.stdout }} -U https://github.com/Hyperling/ansible.git --checkout $branch
|
||||||
|
|
||||||
|
marker: '{mark}'
|
||||||
|
marker_begin: "#!{{ bash_exec.stdout }}"
|
||||||
|
marker_end: "exit 0"
|
||||||
|
state: present
|
||||||
|
create: yes
|
||||||
|
|
||||||
|
- name: General | Scripts | User | scm-dev.sh Permissions
|
||||||
|
file:
|
||||||
|
path: "{{ user_ling.home }}/bin/scm-dev.sh"
|
||||||
|
mode: '0755'
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
# Cross-platform package management.
|
# Cross-platform package management.
|
||||||
|
|
||||||
- name: General | Software | Packages | Fix Parrot OS
|
- name: General | Software | Packages | Fix Parrot OS (zypper)
|
||||||
# They have zypper higher in the path, but it's really apt renamed.
|
# They have zypper higher in the path, but it's really apt renamed.
|
||||||
# Probably for "security", but package module does not use the ansible_pkg_mgr variable
|
# Probably for "security", but package module does not use the ansible_pkg_mgr variable
|
||||||
# so resetting the value to apt doesn't work. Just going to move it.
|
# so resetting the value to apt doesn't work. Just going to move it.
|
||||||
@ -10,15 +10,22 @@
|
|||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
when: ansible_distribution == "Parrot OS"
|
when: ansible_distribution == "Parrot OS"
|
||||||
|
|
||||||
- name: General | Software | Packages | Fixed Parrot OS, Exit Incoming
|
- name: General | Software | Packages | Fix Parrot OS (zypper), Exit Incoming
|
||||||
debug:
|
debug:
|
||||||
msg: "A silly zypper file was renamed successfully. Please try running Ansible again."
|
msg: "A silly zypper file was renamed successfully. Please try running Ansible again."
|
||||||
when: ansible_distribution == "Parrot OS" and parrotos_zypper_removed is defined and not parrotos_zypper_removed.failed
|
when: ansible_distribution == "Parrot OS" and parrotos_zypper_removed is defined and not parrotos_zypper_removed.failed
|
||||||
|
|
||||||
- name: General | Software | Packages | Fixed Parrot OS, Exiting
|
- name: General | Software | Packages | Fix Parrot OS (zypper), Exiting
|
||||||
shell: exit 1
|
shell: exit 1
|
||||||
when: ansible_distribution == "Parrot OS" and parrotos_zypper_removed is defined and not parrotos_zypper_removed.failed
|
when: ansible_distribution == "Parrot OS" and parrotos_zypper_removed is defined and not parrotos_zypper_removed.failed
|
||||||
|
|
||||||
|
# More Parrot OS junk. They have a command called update in /usr/bin. Doesn't have sudo or anything in it either.
|
||||||
|
# Hide it in preference for .bashrc update function.
|
||||||
|
- name: General | Software | Packages | Fix Parrot OS 2 (update)
|
||||||
|
shell: "mv `which update` `which update`.zz.`date +%Y%m%d`"
|
||||||
|
ignore_errors: yes
|
||||||
|
when: ansible_distribution == "Parrot OS"
|
||||||
|
|
||||||
|
|
||||||
- name: General | Software | Packages | Cache Refresh (Apt and Pacman)
|
- name: General | Software | Packages | Cache Refresh (Apt and Pacman)
|
||||||
package:
|
package:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user