move ansible to submodule
This commit is contained in:
parent
dd6d398060
commit
42df133903
27 changed files with 5 additions and 561 deletions
|
|
@ -1,6 +1,4 @@
|
|||
[
|
||||
"io.gitlab.librewolf-community",
|
||||
"com.system76.CosmicFiles",
|
||||
"kitty",
|
||||
"com.system76.CosmicSettings",
|
||||
]
|
||||
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[submodule "DesktopAnsible"]
|
||||
path = DesktopAnsible
|
||||
url = git@gitlab.com:developerdurp/DesktopAnsible.git
|
||||
1
DesktopAnsible
Submodule
1
DesktopAnsible
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 35cad5fc467f7f373d52c3089ce1b5a91ab325b7
|
||||
2
Makefile
2
Makefile
|
|
@ -2,4 +2,4 @@ include .env
|
|||
export
|
||||
|
||||
run:
|
||||
ansible-playbook ./ansible/local.yml -K
|
||||
ansible-playbook ./DesktopAnsible/local.yml -K
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
- hosts: localhost
|
||||
connection: local
|
||||
become: true
|
||||
vars:
|
||||
GITLAB_TOKEN: "{{ lookup('env', 'GITLAB_TOKEN') }}"
|
||||
# vars_prompt:
|
||||
|
||||
roles:
|
||||
- packages
|
||||
- customize
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
ansible-galaxy collection install community.general
|
||||
pip install psutil
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
- name: install fonts
|
||||
include_tasks: "./scripts/install_fonts.yml"
|
||||
|
||||
- name: generate ssh keys
|
||||
include_tasks: "./scripts/configure_ssh.yml"
|
||||
|
||||
#- name: Configure Gitlab SSH
|
||||
# become_user: user
|
||||
# ansible.builtin.command: pwsh -f ./scripts/configure_gitlab.ps1 "{{ GITLAB_TOKEN }}"
|
||||
|
||||
- user:
|
||||
name: "user"
|
||||
shell: /usr/bin/zsh
|
||||
|
||||
- name: Create bin folder
|
||||
become_user: user
|
||||
ansible.builtin.file:
|
||||
path: ~/.local/bin
|
||||
owner: "user"
|
||||
group: "user"
|
||||
mode: '0770'
|
||||
state: directory
|
||||
|
||||
- name: run stow
|
||||
become_user: user
|
||||
shell: "stow --adopt ."
|
||||
args:
|
||||
chdir: ~/.dotfiles
|
||||
|
||||
- name: set gnome config
|
||||
become_user: user
|
||||
dconf:
|
||||
key: "{{ item.key }}"
|
||||
value: "{{ item.value }}"
|
||||
with_items: "{{ dconf }}"
|
||||
when: dconf is defined
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
- name: Load a variable file
|
||||
include_vars: "{{ item }}"
|
||||
with_first_found:
|
||||
- "vars/{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml"
|
||||
- "vars/{{ ansible_distribution }}.yml"
|
||||
- "vars/{{ ansible_os_family }}.yml"
|
||||
- "vars/defaults.yml"
|
||||
|
||||
- name:
|
||||
include_tasks: "defaults.yml"
|
||||
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fonts:
|
||||
- {name: 'GoMonoNerd', url: "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Go-Mono.zip"}
|
||||
- {name: 'FiraCodeNerd', url: "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/FiraCode.zip"}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
dconf:
|
||||
- {key: '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings', value: "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']"}
|
||||
- {key: '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/binding', value: "'<Super>t'"}
|
||||
- {key: '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/command', value: "'terminator'"}
|
||||
- {key: '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/name', value: "'Terminator'"}
|
||||
- {key: '/org/gnome/desktop/background/picture-uri', value: "'file://${HOME}/.config/configfiles/wallpaper.png'"}
|
||||
- {key: '/org/gnome/desktop/background/picture-uri-dark', value: "'file://${HOME}/.config/configfiles/wallpaper.png'"}
|
||||
|
||||
fonts:
|
||||
- {name: 'GoMonoNerd', url: "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Go-Mono.zip"}
|
||||
- {name: 'FiraCodeNerd', url: "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/FiraCode.zip"}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fonts:
|
||||
- {name: 'GoMonoNerd', url: "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Go-Mono.zip"}
|
||||
- {name: 'FiraCodeNerd', url: "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/FiraCode.zip"}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
- name: install apt
|
||||
include_tasks: "./scripts/install_apt.yml"
|
||||
|
||||
- name: install brew
|
||||
include_tasks: "./scripts/install_brew.yml"
|
||||
|
||||
- name: install pacman
|
||||
include_tasks: "./scripts/install_pacman.yml"
|
||||
|
||||
- name: install go apps
|
||||
include_tasks: "./scripts/install_goapps.yml"
|
||||
|
||||
- name: install flatpak
|
||||
include_tasks: "./scripts/install_flatpak.yml"
|
||||
|
||||
- name: configure systemd
|
||||
include_tasks: "./scripts/configure_systemd.yml"
|
||||
|
||||
- name: configure qemu
|
||||
include_tasks: "./scripts/configure_qemu.yml"
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
- name: Load a variable file
|
||||
include_vars: "{{ item }}"
|
||||
with_first_found:
|
||||
- "vars/{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml"
|
||||
- "vars/{{ ansible_distribution }}.yml"
|
||||
- "vars/{{ ansible_os_family }}.yml"
|
||||
- "vars/defaults.yml"
|
||||
|
||||
- name:
|
||||
include_tasks: "defaults.yml"
|
||||
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
required_packages_pacman:
|
||||
- sway
|
||||
- waybar
|
||||
- stow
|
||||
- lazygit
|
||||
- tmux
|
||||
- fzf
|
||||
- zoxide
|
||||
- bitwarden-cli
|
||||
- glab
|
||||
- go
|
||||
- neovim
|
||||
- ffmpeg
|
||||
- ttyd
|
||||
- wl-clipboard
|
||||
- xsel
|
||||
- pavucontrol
|
||||
- wofi
|
||||
- swaybg
|
||||
- swayidle
|
||||
- swaylock
|
||||
- swayimg
|
||||
- swaync
|
||||
- pipewire
|
||||
- pipewire-pulse
|
||||
- openssh
|
||||
- xorg-xwayland
|
||||
- wayland
|
||||
- kanshi
|
||||
- xdg-desktop-portal-gtk
|
||||
- nautilus
|
||||
- eza
|
||||
- bat
|
||||
- wget
|
||||
- curl
|
||||
- nmap
|
||||
- kubectl
|
||||
- terraform
|
||||
- podman
|
||||
- grim
|
||||
- slurp
|
||||
- helm
|
||||
- networkmanager-openvpn
|
||||
- openresolv
|
||||
- xsettingsd
|
||||
- vivid
|
||||
- lxappearance
|
||||
- qt5ct
|
||||
- gnome-calculator
|
||||
- powertop
|
||||
- iptables
|
||||
- gnome-disk-utility
|
||||
- ranger
|
||||
- qemu-base
|
||||
- virt-manager
|
||||
- virt-viewer
|
||||
- dnsmasq
|
||||
- vde2
|
||||
- bridge-utils
|
||||
- openbsd-netcat
|
||||
- dmidecode
|
||||
- libguestfs
|
||||
- polkit-kde-agent
|
||||
- libusb
|
||||
- qemu-hw-usb-host
|
||||
- flatpak
|
||||
- ly
|
||||
- seahorse
|
||||
- kitty
|
||||
|
||||
flatpak_remote:
|
||||
- {name: 'flathub', url: "https://dl.flathub.org/repo/flathub.flatpakrepo"}
|
||||
|
||||
required_packages_flatpak:
|
||||
- com.discordapp.Discord
|
||||
- io.gitlab.librewolf-community
|
||||
- org.gtk.Gtk3theme.Pop-dark
|
||||
- com.github.tchx84.Flatseal
|
||||
- com.vscodium.codium
|
||||
|
||||
systemd_service:
|
||||
- ly.service
|
||||
- libvirtd.service
|
||||
|
||||
go_apps:
|
||||
- github.com/jorgerojas26/lazysql@latest
|
||||
- github.com/charmbracelet/vhs@latest
|
||||
- github.com/charmbracelet/glow@latest
|
||||
- github.com/swaggo/swag/cmd/swag@latest
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
install_homebrew_if_missing: true
|
||||
|
||||
required_packages_brew:
|
||||
- lazygit
|
||||
- fzf
|
||||
- glab
|
||||
- go
|
||||
- neovim
|
||||
- oh-my-posh
|
||||
- tpm
|
||||
- terraform
|
||||
- kubernetes-cli
|
||||
- zsh-autosuggestions
|
||||
- bitwarden-cli
|
||||
- hashicorp/tap/vault
|
||||
- ffmpeg
|
||||
- ttyd
|
||||
- bat
|
||||
- eza
|
||||
- fastfetch
|
||||
- vivid
|
||||
- yazi
|
||||
|
||||
apt_keys:
|
||||
- https://packages.microsoft.com/keys/microsoft.asc
|
||||
apt_repo:
|
||||
- deb [arch=amd64] https://packages.microsoft.com/ubuntu/22.04/prod jammy main
|
||||
|
||||
required_packages_apt:
|
||||
- powershell
|
||||
- curl
|
||||
- wofi
|
||||
- swaybg
|
||||
- swayidle
|
||||
- swaylock
|
||||
- swayimg
|
||||
- kanshi
|
||||
- waybar
|
||||
#- sway-notification-center
|
||||
- grim
|
||||
- slurp
|
||||
- openresolv
|
||||
- podman
|
||||
- brightnessctl
|
||||
- pavucontrol
|
||||
- kitty
|
||||
|
||||
flatpak_remote:
|
||||
- {name: 'flathub', url: "https://dl.flathub.org/repo/flathub.flatpakrepo"}
|
||||
|
||||
required_packages_flatpak:
|
||||
- VSCodium
|
||||
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
install_homebrew_if_missing: true
|
||||
|
||||
required_packages_brew:
|
||||
- lazygit
|
||||
- fzf
|
||||
- glab
|
||||
- go
|
||||
- neovim
|
||||
- oh-my-posh
|
||||
- tpm
|
||||
- terraform
|
||||
- kubernetes-cli
|
||||
- zsh-autosuggestions
|
||||
- bitwarden-cli
|
||||
- "hashicorp/tap/vault"
|
||||
- ffmpeg
|
||||
- ttyd
|
||||
- bat
|
||||
- eza
|
||||
- fastfetch
|
||||
- vivid
|
||||
- yazi
|
||||
- ansible
|
||||
- zsh-history-substring-search
|
||||
- opentofu
|
||||
- helm
|
||||
|
||||
#apt_keys:
|
||||
# - https://packages.microsoft.com/keys/microsoft.asc
|
||||
#apt_repo:
|
||||
# - deb [arch=amd64] https://packages.microsoft.com/ubuntu/24.04/prod noble main
|
||||
|
||||
required_packages_apt:
|
||||
# - powershell
|
||||
- sway
|
||||
- htop
|
||||
- stow
|
||||
- zsh
|
||||
- curl
|
||||
- wofi
|
||||
- swaybg
|
||||
- swayidle
|
||||
- swaylock
|
||||
- swayimg
|
||||
- kanshi
|
||||
- waybar
|
||||
- sway-notification-center
|
||||
- grim
|
||||
- slurp
|
||||
- xsel
|
||||
# - openresolv
|
||||
- wl-clipboard
|
||||
- podman
|
||||
- brightnessctl
|
||||
- pavucontrol
|
||||
- kitty
|
||||
- wget
|
||||
- apt-transport-https
|
||||
- software-properties-common
|
||||
- wdisplays
|
||||
- eza
|
||||
- bat
|
||||
- ripgrep
|
||||
- fzf
|
||||
- zoxide
|
||||
- flameshot
|
||||
- qemu-kvm
|
||||
- qemu-system
|
||||
- qemu-utils
|
||||
- python3
|
||||
- python3-pip
|
||||
- libvirt-clients
|
||||
- libvirt-daemon-system
|
||||
- bridge-utils
|
||||
- virtinst
|
||||
- libvirt-daemon
|
||||
- virt-manager
|
||||
- nautilus
|
||||
- vlc
|
||||
|
||||
flatpak_remote:
|
||||
- {name: 'flathub', url: "https://dl.flathub.org/repo/flathub.flatpakrepo"}
|
||||
|
||||
required_packages_flatpak:
|
||||
- io.gitlab.librewolf-community
|
||||
- org.gnome.eog
|
||||
- me.proton.Pass
|
||||
- me.proton.Mail
|
||||
- com.protonvpn.www
|
||||
- org.remmina.Remmina
|
||||
- org.gnome.Calculator
|
||||
|
||||
go_apps:
|
||||
- github.com/charmbracelet/vhs@latest
|
||||
- github.com/charmbracelet/glow@latest
|
||||
- github.com/swaggo/swag/cmd/swag@latest
|
||||
- github.com/air-verse/air@latest
|
||||
|
||||
systemd_service:
|
||||
- libvirtd.service
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
param ($GITLAB_TOKEN)
|
||||
if (!$GITLAB_TOKEN){
|
||||
Write-Output "Please unlock Bitwarden"
|
||||
break
|
||||
}
|
||||
|
||||
#Gitlab set ssh key
|
||||
|
||||
$header = @{
|
||||
"PRIVATE-TOKEN"=$GITLAB_TOKEN
|
||||
}
|
||||
$GitlabAPI = "https://gitlab.com/api/v4"
|
||||
|
||||
$publickey = Get-Content ~/.ssh/id_ed25519.pub
|
||||
|
||||
$body = @{
|
||||
title = "Ansible Script"
|
||||
key = "$publickey"
|
||||
} | ConvertTo-Json
|
||||
|
||||
Try{
|
||||
Invoke-RestMethod -Headers $header -Uri $GitlabAPI/user/keys -Body $body -Method Post -ContentType application/json -ErrorVariable gitlabkey | Out-Null
|
||||
}Catch{
|
||||
if($gitlabkey -like "*Token is expired*"){
|
||||
Write-Error "Token Has Expired"
|
||||
exit -1
|
||||
}
|
||||
if($gitlabkey -notlike "*has already been taken*"){
|
||||
Write-Error "Failed to upload key"
|
||||
exit -1
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
- name: set default network
|
||||
shell: "{{ item }}"
|
||||
with_items:
|
||||
- "virsh net-start default"
|
||||
- "virsh net-autostart default"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: add user to libvirt
|
||||
user:
|
||||
name: user
|
||||
groups: libvirt,libvirt-qemu,kvm,input,disk
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
- name: Create ssh folder
|
||||
become_user: user
|
||||
ansible.builtin.file:
|
||||
path: ~/.ssh
|
||||
owner: "user"
|
||||
group: "user"
|
||||
mode: '0700'
|
||||
state: directory
|
||||
|
||||
- name: Generate an OpenSSH keypair
|
||||
become_user: user
|
||||
community.crypto.openssh_keypair:
|
||||
path: ~/.ssh/id_ed25519
|
||||
type: ed25519
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
- name: Enable Systemd Services
|
||||
ansible.builtin.systemd_service:
|
||||
name: "{{ item }}"
|
||||
state: started
|
||||
enabled: true
|
||||
with_items: "{{ systemd_service }}"
|
||||
when: systemd_service is defined
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
- name: add apt repository key
|
||||
apt_key:
|
||||
url: "{{ item }}"
|
||||
with_items: "{{ apt_keys }}"
|
||||
become: yes
|
||||
when: apt_keys is defined
|
||||
|
||||
- name: add apt repository
|
||||
apt_repository:
|
||||
repo: "{{ item }}"
|
||||
with_items: "{{ apt_repo }}"
|
||||
become: yes
|
||||
when: apt_repo is defined
|
||||
|
||||
- name: Upgrade Packages
|
||||
package:
|
||||
update_cache: yes
|
||||
upgrade: safe
|
||||
become: yes
|
||||
when: required_packages_apt is defined
|
||||
|
||||
- name: Install Packages
|
||||
apt:
|
||||
state: latest
|
||||
update_cache: yes
|
||||
pkg: "{{ required_packages_apt }}"
|
||||
become: yes
|
||||
when: required_packages_apt is defined
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
- name: Ensuring Homebrew Is Installed
|
||||
stat:
|
||||
path: /home/linuxbrew/.linuxbrew/bin/
|
||||
register: homebrew_check
|
||||
when: required_packages_brew is defined
|
||||
|
||||
- name: Fail If Homebrew Is Not Installed and install_homebrew_if_missing Is False
|
||||
fail:
|
||||
msg: Homebrew is missing, install from http://brew.sh
|
||||
when:
|
||||
- required_packages_brew is defined
|
||||
- not homebrew_check.stat.exists
|
||||
- not install_homebrew_if_missing
|
||||
|
||||
- name: Installing Homebrew
|
||||
become_user: user
|
||||
shell: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
when:
|
||||
- required_packages_brew is defined
|
||||
- not homebrew_check.stat.exists
|
||||
- install_homebrew_if_missing
|
||||
|
||||
- name: Load Brew shellenv
|
||||
become_user: user
|
||||
shell: eval "$(/home/linuxbrew/.linuxbrew/bin brew shellenv)"
|
||||
when:
|
||||
- required_packages_brew is defined
|
||||
- not homebrew_check.stat.exists
|
||||
- install_homebrew_if_missing
|
||||
|
||||
- name: Install Brew Taps
|
||||
become_user: user
|
||||
community.general.homebrew_tap:
|
||||
name: "{{ item }}"
|
||||
with_items: "{{ required_taps }}"
|
||||
when: required_taps is defined
|
||||
|
||||
- name: Install Brew Casks
|
||||
become_user: user
|
||||
community.general.homebrew_cask:
|
||||
name: "{{ item }}"
|
||||
with_items: "{{ required_packages_casks }}"
|
||||
when: required_packages_casks is defined
|
||||
|
||||
- name: Install Brew Packages
|
||||
become_user: user
|
||||
community.general.homebrew:
|
||||
name: "{{ required_packages_brew }}"
|
||||
when: required_packages_brew is defined
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
- name: configure flatpak
|
||||
community.general.flatpak_remote:
|
||||
name: "{{ item.name }}"
|
||||
state: present
|
||||
flatpakrepo_url: "{{ item.url }}"
|
||||
method: system
|
||||
with_items: "{{ flatpak_remote }}"
|
||||
when: flatpak_remote is defined
|
||||
|
||||
- name: update flatpaks
|
||||
become_user: user
|
||||
shell:
|
||||
cmd: flatpak update --noninteractive
|
||||
when: required_packages_flatpak is defined
|
||||
|
||||
- name: install flatpak
|
||||
become_user: user
|
||||
community.general.flatpak:
|
||||
name: "{{ item }}"
|
||||
with_items: "{{ required_packages_flatpak }}"
|
||||
when: required_packages_flatpak is defined
|
||||
ignore_errors: yes
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
- name: ensure fonts directory
|
||||
become_user: user
|
||||
file:
|
||||
path: "~/.fonts"
|
||||
state: directory
|
||||
when: fonts is defined
|
||||
|
||||
- name: Ensuring Fonts Exists
|
||||
become_user: user
|
||||
shell: "ls ~/.fonts/*{{ item.name }}*"
|
||||
register: fonts_exist
|
||||
ignore_errors: yes
|
||||
with_items: "{{ fonts }}"
|
||||
when: fonts is defined
|
||||
|
||||
- name: Download Fonts
|
||||
when: fonts_exist is failed
|
||||
become_user: user
|
||||
ansible.builtin.unarchive:
|
||||
src: "{{ item.url }}"
|
||||
dest: "~/.fonts/"
|
||||
remote_src: yes
|
||||
with_items: "{{ fonts }}"
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
- name: Installing Go apps
|
||||
become_user: user
|
||||
shell: "go install {{ item }}"
|
||||
with_items: "{{ go_apps }}"
|
||||
when: go_apps is defined
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
- name: Upgrade Packages
|
||||
community.general.pacman:
|
||||
state: latest
|
||||
update_cache: yes
|
||||
become: yes
|
||||
when: required_packages_pacman is defined
|
||||
|
||||
- name: Install Packages
|
||||
community.general.pacman:
|
||||
state: present
|
||||
update_cache: yes
|
||||
name: "{{ required_packages_pacman }}"
|
||||
become: yes
|
||||
when: required_packages_pacman is defined
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
- name: Install tmux TPM
|
||||
become_user: user
|
||||
shell: "git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm"
|
||||
ignore_errors: yes
|
||||
Loading…
Add table
Add a link
Reference in a new issue