Initial version
This commit is contained in:
commit
ebdb2ee8b1
9
inventory/group_vars/machina/vars.yml
Normal file
9
inventory/group_vars/machina/vars.yml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
cjdns_private_key: "{{ vault_cjdns_private_key }}"
|
||||||
|
cjdns_public_key: "{{ vault_cjdns_public_key }}"
|
||||||
|
cjdns_ipv6: "{{ vault_cjdns_ipv6 }}"
|
||||||
|
cjdns_incoming_username: "{{ vault_cjdns_incoming_username }}"
|
||||||
|
cjdns_incoming_password: "{{ vault_cjdns_incoming_password }}"
|
||||||
|
cjdns_snoopy_username: "{{ vault_cjdns_snoopy_username }}"
|
||||||
|
cjdns_snoopy_password: "{{ vault_cjdns_snoopy_password }}"
|
||||||
|
cjdns_woodstock_username: "{{ vault_cjdns_woodstock_username }}"
|
||||||
|
cjdns_woodstock_password: "{{ vault_cjdns_woodstock_password }}"
|
32
inventory/group_vars/machina/vault
Normal file
32
inventory/group_vars/machina/vault
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
36343161633137616464616236386334623262393334336338316563663937346461326462656134
|
||||||
|
3164373839356632313830616339613630343238303036310a323939376666393466326164333061
|
||||||
|
37653631393664396235383937323933313832333764386234323639636364376362313764396132
|
||||||
|
6335653536616432300a363436353930336336393061343439376233653136303836316438623461
|
||||||
|
35656533386463613864656134663037626662383837646535656231313538613735396638353438
|
||||||
|
37623431356162366365613436626239353064633439623665663037393064633362333333626537
|
||||||
|
30646663396537346661646531326466666266656162616261303963383032626330383837313933
|
||||||
|
37643031323364333061363235396361626630613338626164363736383037636565313639663864
|
||||||
|
61616437323930326636623062663238653531393762373862616466363839386335373732363466
|
||||||
|
61613766353261323861616462653935333734306339383531326234336139623036663434336339
|
||||||
|
64396533346661653235323862656561643737656561366635353637303034663338633132343466
|
||||||
|
64343632326562333465646161633536353465376436653034333036636161323861336163303532
|
||||||
|
39616162656239616533303734313534316632623663613736306130653338333232346165613763
|
||||||
|
33346632373131633066323563343063663664356239653831313163386363353065333539616433
|
||||||
|
35623537333830613066616361333933613838346362656164663466373137353330306435643730
|
||||||
|
63343866373734326437653038313533613566353338653237393761663662326539326435613866
|
||||||
|
39626437326363636137346335356163323239303865353734666263653137626237383436613133
|
||||||
|
37643465613430613133626466646133623166393739373935366132393834373766343831353632
|
||||||
|
61633964353530623134356564323235343966643131663434643137386230643339363661613930
|
||||||
|
33313531646462636662316232346231303033383032343265356632653132353233303736366261
|
||||||
|
32393330316534383862653037333061353339353538663865333439346637393836636264313564
|
||||||
|
34636536373434373236643562323236363137366266396363326361363434346333383833363130
|
||||||
|
36643335363039613732363366623865343330643234666639613934386430353430343534643365
|
||||||
|
38663133623031316161653862323135396661303931393734633735366333333464616233303335
|
||||||
|
36663038656631656366626539623739363964303139643430363138366537336563663233333164
|
||||||
|
66656663636439313564386134653662363030393132646435396538363462613463333163346166
|
||||||
|
63383239646634366537663331646530313337306231323836356331343566346163343536363630
|
||||||
|
61316361366433393334666266346664326662653864356134393435366161663162333662653530
|
||||||
|
39333036653965666438636438366262643861313033326564613837666633386630333138386230
|
||||||
|
39323864376663376437643764386134313563633763323639373037656639346339633761376361
|
||||||
|
376563656336353636613061323263353933
|
2
inventory/hosts
Normal file
2
inventory/hosts
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[machina]
|
||||||
|
machina
|
10
machina.yml
Normal file
10
machina.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
- import_playbook: playbooks/dnf-repos.yml hostlist=machina
|
||||||
|
- import_playbook: playbooks/user.yml hostlist=machina
|
||||||
|
- import_playbook: playbooks/packages.yml hostlist=machina
|
||||||
|
- import_playbook: playbooks/python.yml hostlist=machina
|
||||||
|
- import_playbook: playbooks/npm.yml hostlist=machina
|
||||||
|
- import_playbook: playbooks/user.yml hostlist=machina
|
||||||
|
- import_playbook: playbooks/spotify-install.yml hostlist=machina
|
||||||
|
- import_playbook: playbooks/systemd-user.yml hostlist=machina
|
||||||
|
- import_playbook: playbooks/cjdns.yml hostlist=machina
|
25
playbooks/cjdns.yml
Normal file
25
playbooks/cjdns.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
- hosts: "{{ hostlist }}"
|
||||||
|
tasks:
|
||||||
|
- name: Install cjdns and its tools
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- cjdns
|
||||||
|
- cjdns-tools
|
||||||
|
state: latest
|
||||||
|
- name: Create the configuration file
|
||||||
|
become: true
|
||||||
|
template:
|
||||||
|
src: cjdroute.conf.j2
|
||||||
|
dest: /etc/cjdroute.conf
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0600'
|
||||||
|
validate: 'cjdroute --cleanconf < %s'
|
||||||
|
backup: true
|
||||||
|
- name: Enable and start the service
|
||||||
|
become: true
|
||||||
|
systemd:
|
||||||
|
name: cjdns.service
|
||||||
|
enabled: true
|
||||||
|
state: started
|
29
playbooks/dnf-repos.yml
Normal file
29
playbooks/dnf-repos.yml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
- hosts: "{{ hostlist }}"
|
||||||
|
tasks:
|
||||||
|
- name: Install the RPM Fusion Free GPG key
|
||||||
|
become: true
|
||||||
|
rpm_key:
|
||||||
|
key: "https://rpmfusion.net/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-free-fedora-2020"
|
||||||
|
fingerprint: E9A4 91A3 DE24 7814 E7E0 67EA E06F 8ECD D651 FF2E
|
||||||
|
state: present
|
||||||
|
- name: Enable the RPM Fusion Free repository
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name: "https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-{{ansible_distribution_major_version}}.noarch.rpm"
|
||||||
|
state: present
|
||||||
|
- name: Install the RPM Fusion Non-free GPG key
|
||||||
|
become: true
|
||||||
|
rpm_key:
|
||||||
|
key: "https://rpmfusion.net/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-nonfree-fedora-2020"
|
||||||
|
fingerprint: 79BD B88F 9BBF 7391 0FD4 095B 6A2A F961 9484 3C65
|
||||||
|
state: present
|
||||||
|
- name: Enable the RPM Fusion Non-free repository
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name: "https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-{{ansible_distribution_major_version}}.noarch.rpm"
|
||||||
|
state: present
|
||||||
|
- name: Enable the skidnik/termite repo
|
||||||
|
become: true
|
||||||
|
community.general.copr:
|
||||||
|
name: "skidnik/termite"
|
||||||
|
state: enabled
|
7
playbooks/npm.yml
Normal file
7
playbooks/npm.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
- hosts: "{{ hostlist }}"
|
||||||
|
tasks:
|
||||||
|
- name: Install diff-so-fancy
|
||||||
|
community.general.npm:
|
||||||
|
name: diff-so-fancy
|
||||||
|
global: yes
|
||||||
|
state: latest
|
191
playbooks/packages.yml
Normal file
191
playbooks/packages.yml
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
- hosts: "{{ hostlist }}"
|
||||||
|
tasks:
|
||||||
|
- name: Install Ansible
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name: ansible
|
||||||
|
state: latest
|
||||||
|
- name: Install some daemons
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- pcsc-lite
|
||||||
|
- avahi
|
||||||
|
- cups
|
||||||
|
- libvirt-daemon
|
||||||
|
- postgresql-server
|
||||||
|
- zeromq
|
||||||
|
- redis
|
||||||
|
- mariadb-server
|
||||||
|
- memcached
|
||||||
|
- bind
|
||||||
|
state: latest
|
||||||
|
- name: Install Emacs
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- emacs
|
||||||
|
- maildir-utils
|
||||||
|
- emacs-gettext
|
||||||
|
state: latest
|
||||||
|
- name: Install my favourite command line tools
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- util-linux-user
|
||||||
|
- fish
|
||||||
|
- tar
|
||||||
|
- exa
|
||||||
|
- tmux
|
||||||
|
- mc
|
||||||
|
- fzf
|
||||||
|
- zoxide
|
||||||
|
- the_silver_searcher
|
||||||
|
- pass
|
||||||
|
- vim-enhanced
|
||||||
|
- bat
|
||||||
|
- git
|
||||||
|
- git-email
|
||||||
|
- git-extras
|
||||||
|
- git-gui
|
||||||
|
- vdirsyncer
|
||||||
|
- offlineimap
|
||||||
|
- msmtp
|
||||||
|
- bpytop
|
||||||
|
- pinentry-tty
|
||||||
|
- ffmpeg
|
||||||
|
- tar
|
||||||
|
- gzip
|
||||||
|
- bzip2
|
||||||
|
- xz
|
||||||
|
- khal
|
||||||
|
- khard
|
||||||
|
- krb5-workstation
|
||||||
|
- whois
|
||||||
|
- asciinema
|
||||||
|
- bind-utils
|
||||||
|
state: latest
|
||||||
|
- name: Install development stuff
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- bats
|
||||||
|
- podman
|
||||||
|
- buildah
|
||||||
|
- gdb
|
||||||
|
- autoconf
|
||||||
|
- autoconf-archive
|
||||||
|
- automake
|
||||||
|
- bison
|
||||||
|
- byacc
|
||||||
|
- flex
|
||||||
|
- gcc
|
||||||
|
- gcc-c++
|
||||||
|
- intltool
|
||||||
|
- libtool
|
||||||
|
- yarnpkg
|
||||||
|
- mercurial
|
||||||
|
- cvs
|
||||||
|
- subversion
|
||||||
|
- d-feet
|
||||||
|
- arduino
|
||||||
|
- arduino-builder
|
||||||
|
- fritzing
|
||||||
|
- global
|
||||||
|
- jq
|
||||||
|
state: latest
|
||||||
|
- name: Install my desktop environment
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- sway
|
||||||
|
- mako
|
||||||
|
- wob
|
||||||
|
- swayidle
|
||||||
|
- termite
|
||||||
|
- waybar
|
||||||
|
- swaylock
|
||||||
|
- clipman
|
||||||
|
- wl-clipboard
|
||||||
|
- playerctl
|
||||||
|
- bemenu
|
||||||
|
- kde-connect
|
||||||
|
- pinentry-gtk
|
||||||
|
- epiphany
|
||||||
|
- chromium
|
||||||
|
- mplayer
|
||||||
|
- gajim
|
||||||
|
- youtube-dl
|
||||||
|
- wshowkeys
|
||||||
|
state: latest
|
||||||
|
- name: Install my graphical applications
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- firefox-wayland
|
||||||
|
- meld
|
||||||
|
- nheko
|
||||||
|
- nextcloud-client
|
||||||
|
- calibre
|
||||||
|
- kicad
|
||||||
|
- qcad
|
||||||
|
- openscad
|
||||||
|
- libreoffice
|
||||||
|
- gimp
|
||||||
|
- gimagereader-gtk
|
||||||
|
- blender
|
||||||
|
- audacity
|
||||||
|
- virt-manager
|
||||||
|
- ImageMagick
|
||||||
|
- inkscape
|
||||||
|
- krita
|
||||||
|
state: latest
|
||||||
|
- name: Install some games
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- minetest
|
||||||
|
- warsow
|
||||||
|
- widelands
|
||||||
|
state: latest
|
||||||
|
- name: Install language packs
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name:
|
||||||
|
- aspell-en
|
||||||
|
- aspell-is
|
||||||
|
- autocorr-en
|
||||||
|
- autocorr-hu
|
||||||
|
- autocorr-is
|
||||||
|
- gimp-help-en_GB
|
||||||
|
- glibc-langpack-en
|
||||||
|
- glibc-langpack-hu
|
||||||
|
- glibc-langpack-is
|
||||||
|
- hunspell-en
|
||||||
|
- hunspell-en-GB
|
||||||
|
- hunspell-en-US
|
||||||
|
- hunspell-hu
|
||||||
|
- hunspell-is
|
||||||
|
- hyphen-en
|
||||||
|
- hyphen-hu
|
||||||
|
- hyphen-is
|
||||||
|
- langpacks-core-en
|
||||||
|
- langpacks-core-en_GB
|
||||||
|
- langpacks-core-hu
|
||||||
|
- langpacks-core-is
|
||||||
|
- langpacks-core-font-en
|
||||||
|
- langpacks-core-font-hu
|
||||||
|
- langpacks-core-font-is
|
||||||
|
- langpacks-en
|
||||||
|
- langpacks-en_GB
|
||||||
|
- langpacks-hu
|
||||||
|
- langpacks-is
|
||||||
|
- libreoffice-help-en
|
||||||
|
- libreoffice-help-hu
|
||||||
|
- libreoffice-langpack-en
|
||||||
|
- libreoffice-langpack-hu
|
||||||
|
- mythes-en
|
||||||
|
- mythes-hu
|
||||||
|
- tesseract-langpack-eng
|
||||||
|
- tesseract-langpack-hun
|
||||||
|
- tesseract-langpack-isl
|
6
playbooks/python.yml
Normal file
6
playbooks/python.yml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
- hosts: "{{ hostlist }}"
|
||||||
|
tasks:
|
||||||
|
- name: Install the xdg Python module
|
||||||
|
pip:
|
||||||
|
name: xdg
|
||||||
|
extra_args: --user
|
13
playbooks/spotify-install.yml
Normal file
13
playbooks/spotify-install.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
- hosts: "{{ hostlist }}"
|
||||||
|
tasks:
|
||||||
|
- name: Pre-install Spotify requirements
|
||||||
|
become: true
|
||||||
|
dnf:
|
||||||
|
name: lpf-spotify-client
|
||||||
|
state: latest
|
||||||
|
- name: Approve the Spotify LPF module
|
||||||
|
command: sh -c 'echo y | env PAGER=/bin/cat lpf approve spotify-client'
|
||||||
|
- name: Build the Spotify LPF module
|
||||||
|
command: sh -c 'echo y | lpf build spotify-client'
|
||||||
|
- name: Install the Spotify LPF module
|
||||||
|
command: sh -c 'echo y | lpf install spotify-client'
|
18
playbooks/systemd-user.yml
Normal file
18
playbooks/systemd-user.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
- hosts: "{{ hostlist }}"
|
||||||
|
tasks:
|
||||||
|
- name: Enable Pipewire service
|
||||||
|
systemd:
|
||||||
|
name: pipewire.service
|
||||||
|
enabled: true
|
||||||
|
- name: Enable Pipewire-Pulse service
|
||||||
|
systemd:
|
||||||
|
name: pipewire-pulse.service
|
||||||
|
enabled: true
|
||||||
|
- name: Enable Pipewire socket
|
||||||
|
systemd:
|
||||||
|
name: pipewire.socket
|
||||||
|
enabled: true
|
||||||
|
- name: Enable Pipewire-Pulse socket
|
||||||
|
systemd:
|
||||||
|
name: pipewire-pulse.socket
|
||||||
|
enabled: true
|
68
playbooks/templates/cjdroute.conf.j2
Normal file
68
playbooks/templates/cjdroute.conf.j2
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
{
|
||||||
|
"privateKey": "{{ cjdns_private_key }}",
|
||||||
|
"publicKey": "{{ cjdns_public_key }}",
|
||||||
|
"ipv6": "{{ cjdns_ipv6 }}",
|
||||||
|
"authorizedPasswords": [
|
||||||
|
{"password": "{{ cjdns_incoming_username }}", "user": "{{ cjdns_incoming_password }}"}
|
||||||
|
|
||||||
|
],
|
||||||
|
"admin": {
|
||||||
|
"bind": "127.0.0.1:11234",
|
||||||
|
"password": "NONE"
|
||||||
|
},
|
||||||
|
"interfaces": {
|
||||||
|
"UDPInterface": [
|
||||||
|
{
|
||||||
|
"bind": "0.0.0.0:40183",
|
||||||
|
"connectTo": {
|
||||||
|
"198.211.126.112:44970": {
|
||||||
|
"login": "{{ cjdns_snoopy_username }}",
|
||||||
|
"password": "{{ cjdns_snoopy_password }}",
|
||||||
|
"publicKey": "2vvjxl91bnk2z3h33ys6ulm3rblxr4d427cg846ycgjhccvs1wf0.k",
|
||||||
|
"peerName": "snoopy"
|
||||||
|
},
|
||||||
|
"165.227.155.27:47266": {
|
||||||
|
"login": "{{ cjdns_woodstock_username }}",
|
||||||
|
"password": "{{ cjdns_woodstock_password }}",
|
||||||
|
"publicKey": "m6q1ks6pm72k4wur3knt77yukkku1c1vwzus1ympwvkkk7746sc0.k",
|
||||||
|
"peerName": "woodstock"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bind": "[::]:40183",
|
||||||
|
"connectTo": {}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ETHInterface": [
|
||||||
|
{
|
||||||
|
"bind": "all",
|
||||||
|
"beacon": 2,
|
||||||
|
"connectTo": {}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"router": {
|
||||||
|
"supernodes": [],
|
||||||
|
"interface": {
|
||||||
|
"type": "TUNInterface",
|
||||||
|
"tunDevice": "cjdns"
|
||||||
|
},
|
||||||
|
"ipTunnel": {
|
||||||
|
"allowedConnections": [],
|
||||||
|
"outgoingConnections": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"security": [
|
||||||
|
{ "setuser": "cjdns", "keepNetAdmin": 1 },
|
||||||
|
{ "chroot": "/var/empty/cjdns" },
|
||||||
|
{ "nofiles": 0 },
|
||||||
|
{ "noforks": 1 },
|
||||||
|
{ "seccomp": 1 },
|
||||||
|
{ "setupComplete": 1 }
|
||||||
|
],
|
||||||
|
"logging": {},
|
||||||
|
"noBackground": 0,
|
||||||
|
"pipe": "cjdroute.sock",
|
||||||
|
"version": 2
|
||||||
|
}
|
16
playbooks/user.yml
Normal file
16
playbooks/user.yml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
- hosts: "{{ hostlist }}"
|
||||||
|
tasks:
|
||||||
|
- name: Add the user polesz
|
||||||
|
become: true
|
||||||
|
user:
|
||||||
|
name: polesz
|
||||||
|
comment: POLONKAI Gergely
|
||||||
|
uid: 1000
|
||||||
|
shell: /usr/bin/fish
|
||||||
|
state: present
|
||||||
|
- name: Add user polesz to some extra groups
|
||||||
|
become: true
|
||||||
|
user:
|
||||||
|
name: polesz
|
||||||
|
groups: cdrom,dialout,games,kvm,libvirt,pkg-build,printadmin,video,wheel
|
||||||
|
append: true
|
Loading…
Reference in New Issue
Block a user