Compare commits

...

112 commits
suse ... main

Author SHA1 Message Date
27fe69cfa0
fix(os/el): enable Google repo and RPMfusion
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-30 15:11:16 +02:00
67d4083b97
feat(ptyxis): add new role for a terminal
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-30 15:08:54 +02:00
1d65e7e176
feat(sshd): adjust for archLinux
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-22 11:36:40 +02:00
9d89a874ec
fix(firewalld): adjust firewall only when it's set up
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-22 10:39:21 +02:00
eaaf707b60
fix(vscode)!: do not install
Always fails right now

Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-22 10:37:20 +02:00
f59e074ef8
fix(zsh): use correct *box script for name
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-22 10:37:16 +02:00
044d0e42ab
fix(helix): correct the installation
* Do not use Copr repo for AlmaLinux
* Make a generic install action for Helix from official repositories

Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-22 10:36:56 +02:00
ca89c810cd
fix(flatpak): install flatpak if not present
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-15 19:42:30 +02:00
7760066325
fix(wg): correct path to config and variable
* use correct path to the template for the config
* use correct variable when adjusting the DNS on AlmaLinux

Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-15 15:44:30 +02:00
f2be2f7b95
fix(base/desktop): create applications directory
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-15 15:43:43 +02:00
c13adc9084
fix(zsh): adjust the starship config
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-13 10:07:08 +02:00
0554e665c5
chore: move out user roles
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 21:23:02 +02:00
281b95d824
chore: move out system roles
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 21:19:42 +02:00
6a732703f7
chore: move out yubikey roles
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 21:15:31 +02:00
cfc02949d6
chore: move out the OS-specific roles
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 21:15:31 +02:00
c7293cd6ea
chore: move out the server roles
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 21:15:31 +02:00
0283426127
chore: move out the base roles
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 21:07:20 +02:00
bc2d4a291e
chore(wg): factor out the wireguard role
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 19:53:09 +02:00
f0d4f84ec7
feat(user/yubikey): implement setup for Yubikey auth
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 15:02:51 +02:00
28531a4f07
feat(system/yubikey): implement PAM auth for Yubikey OTP
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 15:02:18 +02:00
918f7c8fbf
feat(system/cockpit): implement Cockpit role
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 15:01:52 +02:00
1380efe400
feat(server/nginx): implement nginx role
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 15:00:55 +02:00
34798fd196
feat(server/cups): implement CUPS role
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:58:28 +02:00
d5137bc5fb
docs(user/tmpfiles): document variables
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:57:21 +02:00
d6bcb2b018
fix(ssh): maxwell → mountainside
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:56:59 +02:00
8f28841fef
fix(shell/zsh): use variables in the zshrc
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:56:34 +02:00
42aeacb47b
fix(secrets/bw): use correct variables
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:56:07 +02:00
749be7227e
fix(system/wg-admin): use variables
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:55:29 +02:00
741f570235
fix(system/sshd): use HashiCorp Vault address from variable
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:53:42 +02:00
c116552ab8
docs(system/sshd): document variables
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:53:30 +02:00
d5e843f088
docs(system/flatpak): document variable
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:53:12 +02:00
8e97008f4d
fix(server/ddns): use variables instead of hardcoded values
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:51:18 +02:00
473d1d70f9
feat: add default variables with explanation
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:50:34 +02:00
c8fb0de709
chore(git): add gitignore
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:50:33 +02:00
904ae8d189
feat: add playground playbook
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-12 14:50:32 +02:00
4d84398657
feat(server/ddns): implement DDNS support using inadyn
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-10 16:45:45 +02:00
90bac3a306
feat(server/certbot): add support for certbot
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-10 16:43:18 +02:00
282d61d808
fix(system/base): some systems may not have unzip
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-10 16:40:29 +02:00
f78364e2a8
feat(server/base): create a directory for potential secrets
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-10 16:40:05 +02:00
4e0bf02507
feat(bootstrap): include system/cockpit
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-10 15:32:35 +02:00
fc34091749
fix(system/sshd): handle firewall
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-10 15:16:47 +02:00
3e261ce668
fix(system/sshd): notify SELinux about the port change
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-10 15:02:17 +02:00
2c9fc903f4
feat(user/zsh): use kdialog instead of yad
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-07 17:46:23 +02:00
3c4950bcd0
feat(user/zsh): install eza and bat
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-07 17:45:54 +02:00
11b52ab87d
fix(user/vscode): install .desktop in correct location
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-07 17:44:42 +02:00
6701783d72
feat(user/kitty): add color schemes
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-07 17:44:00 +02:00
5a7214989b
feat(user/kitty): update configs
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-07 17:42:59 +02:00
7eac7d1cef
feat(user/vscode): update config
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-07 17:41:53 +02:00
3616d51167
fix(bootstrap): do not install flatpak for Ubuntu
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-07 17:39:42 +02:00
0d9cdb85e7
chore(ansible): add posix to requirements
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-07 17:39:01 +02:00
933c3dae34
feat(user/zsh): install zoxide
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 21:59:11 +02:00
2d8f1f7f36
fix(user/bw): directories must be executable
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 21:58:39 +02:00
7d98bdbea2
fix(user/fonts): switch to rsync
Use rsync for uploading the fonts as it's much faster the builtin.copy

Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 21:58:10 +02:00
7d311ad5b3
fix(user/neovim): switch to kickstart
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 21:57:47 +02:00
1a481b7686
fix: improve SUSE detection
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 21:56:44 +02:00
4332b6d1de
style(bootstrap): move tags to the end
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 17:02:43 +02:00
73090a0db1
feat(user/ssh): install vssh script
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 13:21:55 +02:00
0f7de0b35a
feat(user/zsh): adjust aliases
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 13:18:39 +02:00
6028605f82
feat(user/zsh): fix autosuggest highlighting
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 13:18:05 +02:00
ab9d42c684
fix(user/zsh): yeet useless parts of PATH
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 13:17:03 +02:00
888a816c5f
fix: do not hardcode user in the config files
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 13:16:14 +02:00
49a034d6d7
feat(user/git): allow signing with SSH key
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-07-01 11:11:17 +02:00
f4f6169fa5
fix(user/tmpfiles): need ‹+x› over directories
It's a temporary »directory«, thus it needs an exec permission flag…

Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-06-04 14:25:00 +02:00
7c20e9c509
feat(user/tmpfiles): create role for user's tmpdir
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-06-03 21:59:43 +02:00
a87a455844
feat: deduce gitlab login and user group from login
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-06-03 21:56:50 +02:00
548fe9fa95
fix(user/ssh): update the config
- add sourcehut git
- add codeberg
- remove FIT BUT

Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-05-07 13:46:52 +02:00
219da943b9
fix(user/shell/zsh): update zshrc
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-05-07 13:46:15 +02:00
8f7968a020
fix(user/shell/zsh): update the starship config
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-05-07 13:45:20 +02:00
b614d5205f
ci: ansible lint only relevant files
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-05-07 13:45:06 +02:00
1ead7b5d0b
style(user/secrets/hcv): adjust debug comment
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-05-07 13:40:56 +02:00
1866b1e4c4
fix(user/secrets/bw): use environment variables
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-05-07 13:34:27 +02:00
01adcb99d4
feat(user/git): add syntax theme for delta
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-05-07 13:14:38 +02:00
78dd7a9166
chore(pre-commit): update
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-05-06 23:52:05 +02:00
dcc13e1558
fix(idiom): prefix variables with rule path
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-05-06 23:52:05 +02:00
c83836b900
feat(wg-admin): add playbooks for wg-admin clients
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-10-01 17:02:49 +02:00
5f99af32cf
feat(git): add git-delta
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-10-01 11:48:13 +02:00
d61dcf3c00
fix(vscode): use absolute path to the script
Needed when using `become: true`, otherwise it defaults to the root's
home directory.

Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-16 23:09:06 +02:00
272700e6e2
fix(system/el): use explicit EL9 Copr chroot
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-16 23:08:35 +02:00
47f0553dd4
feat(user/gpg): create a GPG role
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-16 23:08:02 +02:00
7505e307fb
feat: introduce GitLab login variable
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-16 23:07:20 +02:00
e5b555c577
fix(flatpak): install flatpak system-wide
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-16 23:06:50 +02:00
280ba57964
fix(flatpak): use stable branch of chatterino
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-16 23:05:17 +02:00
28710d9632
fix(terminals/alacritty): allow mf's Copr and install
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-15 18:22:55 +02:00
e4f00dc77c
fix(system/base): fix openSUSE upgrades
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-09 15:23:08 +02:00
3f09655707
feat(editors/helix): add support for Helix
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-09 15:19:45 +02:00
db826b8fdc
fix(terminals/kitty): add missing schemes and update config
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-09-06 14:34:43 +02:00
51a4b071e9
fix(secrets/hcv): remove invalid ‹creates›
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-09-06 13:31:40 +02:00
0e6dd1af63
fix(user/secrets/hcv): add tags and missing privilege escalation
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-06 13:10:48 +02:00
5d8334c7f5
fix: remove duplicate after reorg
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-09-06 11:45:56 +02:00
fbabbebaaf
fix: uncomment HCV in playbook
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-09-06 11:43:21 +02:00
a1235a25b4
fix(user/secrets/hcv): include vssh script
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-09-06 11:42:26 +02:00
6f29e49597
feat(user/secrets/hcv): add HC Vault task
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-09-06 11:25:37 +02:00
27876a9d7e
fix: don't use deprecated modules
also don't believe everything that ansible says while it runs

Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-09-05 15:43:33 +02:00
11a445ca8e
chore: windows is cancelled and format requirements
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-09-05 15:42:18 +02:00
221185076f
chore(user/ssh): add FIT and change ports on private
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-09-05 09:51:39 +02:00
89b2ac114e
fix(user/editors/vscode): update the config
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-02 17:18:17 +02:00
7e769b7906
fix(user/editors/vscode): tag as install
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-09-02 17:17:05 +02:00
25bfa523f2
fix: switch to hosts instead of inventory
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-31 11:54:36 +02:00
0d359aa19f
fix: don't nest vars to improve UX
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-31 11:52:00 +02:00
eb6d77de65
roles(user/fonts): upload fonts
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-30 17:03:59 +02:00
d449c3ae2c
chore: add ansible inventory
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-30 15:44:13 +02:00
657f0e30ea
roles(system/el): create a role for EL distros
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-30 15:42:27 +02:00
16d977227c
feat: make ansible tags more granular
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-30 15:42:27 +02:00
e47ac5b8f6
chore: remove unused toolboxes
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-30 15:42:27 +02:00
2d4cc595e8
roles(system/sshd): create SSH server config
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-30 15:42:27 +02:00
b4a1a63982
roles(system/podman): create podman configuration
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-30 15:42:27 +02:00
23d24dc342
roles(user/bw): create a Bitwarden CLI role
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-30 15:42:27 +02:00
01225fd44d
chore: rework directory structure
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-30 15:42:26 +02:00
1fbdeb0d21
chore: add ansible config
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-27 11:41:29 +02:00
61980438fa
ci: reformat ansible-lint config
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-08-27 11:41:08 +02:00
78e9dbc452
ci: upgrade pre-commit and init ansible-lint config
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-08-25 20:10:25 +02:00
7478d76b5e
fix(fedora/packages): remove non-existing task
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-08-25 20:05:26 +02:00
287 changed files with 3842 additions and 3079 deletions

25
.ansible-lint Normal file
View file

@ -0,0 +1,25 @@
# vim:filetype=yaml
# https://ansible-lint.readthedocs.io/en/latest/configuring.html
skip_list:
# clashes with prettier
- yaml
# I DO WANT TO UPGRADE PACKAGES!!!
- package-latest
# I want the latest…
- latest[git]
# I want some directory structure to this…
- role-name[path]
warn_list:
# sometimes this is desired
- command-instead-of-module
# htpasswd -> community.general.web_infrastructure.htpasswd
- fqcn[action]
# false positive: Unsupported parameters for k8s module
- args[module]

8
.gitignore vendored Normal file
View file

@ -0,0 +1,8 @@
# Ignore VSCode files
.vscode
# Ignore deps
node_modules
# Ignore changes to the playground playbook
playbooks/playground.yml

View file

@ -2,18 +2,18 @@
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- repo: https://github.com/prettier/pre-commit
rev: 57f39166b5a5a504d6808b87ab98d41ebf095b46
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
hooks:
- id: prettier
- repo: https://github.com/ansible/ansible-lint.git
rev: v6.4.0
rev: v24.2.3
hooks:
- id: ansible-lint
files: \.(yaml|yml)$
files: ^.*(defaults|handlers|tasks).*\.(yaml|yml)$

View file

@ -1,11 +1,10 @@
.PHONY: deps bootstrap fedora-deps fedora-release-upgrade fedora-switch-repository gpg keys
CONNECTION ?= local
INVENTORY ?= localhost
HOSTS ?= localhost
TAGS ?= all
ANSIBLE_PYTHON := /usr/bin/python3
AP := ansible-playbook -vv -K -c $(CONNECTION) -i $(INVENTORY), -e ansible_python_interpreter=$(ANSIBLE_PYTHON) --tags $(TAGS) $(AP_ARGS)
AP := ansible-playbook -vv -K -l $(HOSTS) -e ansible_python_interpreter=$(ANSIBLE_PYTHON) --tags $(TAGS) $(AP_ARGS)
deps:
ansible-galaxy collection install community.general

3
ansible.cfg Normal file
View file

@ -0,0 +1,3 @@
[defaults]
inventory = inventory/
roles_path = roles/

View file

@ -1,3 +1,4 @@
---
collections:
- community.general
- ansible.posix
- community.general

51
defaults/main.yml Normal file
View file

@ -0,0 +1,51 @@
---
# Username of the user that's being set up
target_user: None
# Group of the user that's being set up
target_group: None
# GitLab username used to obtain the public GPG key and public SSH keys
gitlab_login: None
# Full name for git
fullname: None
# Email used for git
git_email: None
# Signing key used for signing git commits and tags
gpg_signingkey: None
# Used as the FQDN that's set up in DNS and reachable from the network
host_fqdn: None
# Address of the HashiCorp Vault that is used to download the trusted CA
# certificate for an SSH server setup
hashicorp_vault_address: None
# Address of the Vaultwarden instance
vaultwarden_address: None
# Used for Certbot and DDNS
# Certbot: used for DNS verification of the domain during renewal
# DDNS: used to update the DNS records of the public IP
cloudflare_token: None
# Cloudflare zone, the domain
cloudflare_zone: None
# Public ID tied to the Yubikey OTP
yubikey_token_id: None
# Wireguard connections
# List of connections to set up, example:
#
# - ifname: interface name
# generate_keypair: true/false
# domain: domain, adjust DNS resolution, if set
# gateway: part of the DNS resolution setup
# address: assigned address on the VPN
# peers:
# - { note, public_key, allowed_ips, endpoint, keepalive }
wg_connections: []

1
files/.gitignore vendored
View file

@ -1 +0,0 @@
stylus-windows.json

View file

@ -1,5 +0,0 @@
generate-stylus-for-windows:
cat stylus.json | perl -ne "s/Extended/Expanded/g; print;" | tee stylus-windows.json
generate-stylus-from-windows:
cat stylus-windows.json | perl -ne "s/Expanded/Extended/g; print;" | tee stylus.json

23
inventory/desktops.yml Normal file
View file

@ -0,0 +1,23 @@
---
desktops:
hosts:
hertz:
ampere:
git_email: "mfocko@redhat.com"
ohm:
vars:
sshd_port: 22
sshd_sign_host_keys: false
sshd_auth_password_authentication: "yes"
flatpak_apps:
- "com.chatterino.chatterino/{{ ansible_architecture }}/stable"
- com.discordapp.Discord
- com.spotify.Client
# - net.ankiweb.Anki
- org.gnome.DejaDup
- org.mozilla.Thunderbird
# - org.raspberrypi.rpi-imager
- org.telegram.desktop
# - org.x.Warpinator

9
inventory/global.yml Normal file
View file

@ -0,0 +1,9 @@
---
all:
vars:
target_user: "mfocko"
target_group: "{{ target_user }}"
gitlab_login: "{{ target_user }}"
fullname: "Matej Focko"
git_email: "me@mfocko.xyz"
gpg_signingkey: "7C47D46246790496"

9
inventory/servers.yml Normal file
View file

@ -0,0 +1,9 @@
---
servers:
hosts:
poincare:
maxwell:
system_sshd_port: 6969
vars:
cloudflare_token: None

6
inventory/ssh_only.yml Normal file
View file

@ -0,0 +1,6 @@
---
ssh_only:
hosts:
aisa:
anxur:
merlin:

View file

@ -1,20 +1,119 @@
---
- name: Bootstrap installation
- name: Bootstrap fresh installation
hosts: all
gather_facts: yes
gather_facts: true
roles:
- role: fedora
become: yes
become_method: sudo
vars:
# set to "local" or "remote"
source: "local"
# Handle distribution-specific changes before the generic ones
- role: os/fedora
become: true
when: ansible_distribution == "Fedora"
- flatpaks
- ssh
- shell
- role: os/el
become: true
when: ansible_distribution in [ "AlmaLinux", "CentOS" ]
# Upgrade all packages and install the basic-bitch ones
- role: base/system
become: true
# Enable Cockpit
- role: cockpit
become: true
tags: cockpit
# Enable Flathub repository and install configured flatpaks
- role: flatpak
when: ansible_distribution != "Ubuntu"
tags: flatpak
# Install Podman and configure UIDs/GIDs for rootless usage
- role: podman
become: true
tags: podman
# Install and configure SSH server
- role: sshd
become: true
tags: sshd
# Handle basic user configuration
- base/desktop
# Shell utilities
- role: shell/zsh
tags: zsh
- role: shell/tmux
tags: tmux
- role: editors/neovim
tags: neovim
# Directory for temporary files
- role: tmpfiles
become: true
tags: tmpfiles
# Configure git
- role: git
tags: git
# Configure ssh
- role: ssh
tags: ssh
# Set up GPG
- role: gpg
tags: gpg
# Configure Alacritty terminal
- role: terminals/alacritty
tags: alacritty
# Configure Kitty terminal
- role: terminals/kitty
tags: kitty
# Install Ptyxis terminal
- role: terminals/ptyxis
when: ansible_distribution != "Ubuntu"
tags: ptyxis
# Install fonts
- role: fonts
tags: fonts
# Install Bitwarden CLI
- role: secrets/bw
tags: bw
# Install HashiCorp Vault
- role: secrets/hcv
tags: hcv
# Install and configure Emacs
- role: editors/emacs
tags: emacs
# Install and configure VSCode
- role: editors/vscode
tags: vscode
# Install and configure Helix
- role: editors/helix
tags: helix
tasks:
# Install the Wireguard VPNs
- name: Wireguard
ansible.builtin.include_role:
name: wg
apply:
become: true
with_items: "{{ wg_connections }}"
vars:
git_email: <insert-email>
gpg_signingkey: <insert-id>
- vscode
wg_ifname: "{{ item.ifname }}"
wg_generate_keypair: "{{ item.generate_keypair }}"
wg_domain: "{{ item.domain }}"
wg_gateway: "{{ item.gateway }}"
wg_address: "{{ item.address }}"
wg_peers: "{{ item.peers }}"
tags: wireguard

View file

@ -1,10 +0,0 @@
---
- name: Fedora repository setup
hosts: all
roles:
- role: fedora/repositories
become: yes
become_method: sudo
vars:
# set to "local" or "remote"
source: "local"

View file

@ -1,9 +0,0 @@
---
- name: Fedora upgrade
hosts: all
roles:
- role: fedora/upgrade
become: yes
become_method: sudo
vars:
releasever: 33

5
playbooks/playground.yml Normal file
View file

@ -0,0 +1,5 @@
---
- name: Playground
hosts: all
gather_facts: true
roles: []

View file

@ -1,4 +0,0 @@
---
dependencies:
- fedora/repositories
- fedora/packages

View file

@ -1,15 +0,0 @@
---
- name: Upgrade all packages
dnf:
name: "*"
state: latest
- name: Install playerctl and flameshot
dnf:
name:
- playerctl
- flameshot
state: present
- include: shell.yml
- include: haskell.yml

View file

@ -1,10 +0,0 @@
---
- name: Install all packages for shell
dnf:
name:
- zsh
- tmux
- neovim
- emacs
- alacritty
state: present

View file

@ -1,38 +0,0 @@
---
- name: Get version of Fedora
shell: rpm -E %fedora
register: fedora_version
tags: install_new_repos
- name: Install RPMFusion RPMs with GPG keys
dnf:
name:
- "https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-{{ fedora_version.stdout }}.noarch.rpm"
- "https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-{{ fedora_version.stdout }}.noarch.rpm"
disable_gpg_check: yes
state: present
tags: install_new_repos
- name: Install Google Chrome repository
template:
src: templates/google-chrome.repo.j2
dest: /etc/yum.repos.d/google-chrome.repo
tags: install_new_repos
- name: Install repositories
template:
src: templates/{{ source }}/{{ item }}.repo.j2
dest: /etc/yum.repos.d/{{ item }}.repo
loop:
- fedora-modular
- fedora-updates-modular
- fedora-updates-testing-modular
- fedora-updates-testing
- fedora-updates
- fedora
- rpmfusion-free-updates-testing
- rpmfusion-free-updates
- rpmfusion-free
- rpmfusion-nonfree-updates-testing
- rpmfusion-nonfree-updates
- rpmfusion-nonfree

View file

@ -1,35 +0,0 @@
[fedora-modular]
name=Fedora Modular $releasever - $basearch
baseurl=https://mirror.gauss.mfocko.xyz/fedora/releases/$releasever/Modular/$basearch/os/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-$releasever&arch=$basearch
enabled=1
#metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[fedora-modular-debuginfo]
name=Fedora Modular $releasever - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Modular/$basearch/debug/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[fedora-modular-source]
name=Fedora Modular $releasever - Source
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Modular/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,38 +0,0 @@
[updates-modular]
name=Fedora Modular $releasever - $basearch - Updates
failovermethod=priority
baseurl=https://mirror.gauss.mfocko.xyz/fedora/updates/$releasever/Modular/$basearch/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-f$releasever&arch=$basearch
enabled=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-modular-debuginfo]
name=Fedora Modular $releasever - $basearch - Updates - Debug
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/Modular/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-debug-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-modular-source]
name=Fedora Modular $releasever - Updates Source
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/Modular/SRPMS/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-source-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,36 +0,0 @@
[updates-testing-modular]
name=Fedora Modular $releasever - $basearch - Test Updates
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/testing/$releasever/Modular/$basearch/
baseurl=https://mirror.gauss.mfocko.xyz/fedora/updates/testing/$releasever/Modular/$basearch/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-modular-f$releasever&arch=$basearch
enabled=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-testing-modular-debuginfo]
name=Fedora Modular $releasever - $basearch - Test Updates Debug
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/Modular/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-modular-debug-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-testing-modular-source]
name=Fedora Modular $releasever - Test Updates Source
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/Modular/SRPMS/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-modular-source-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,35 +0,0 @@
[updates-testing]
name=Fedora $releasever - $basearch - Test Updates
baseurl=https://mirror.gauss.mfocko.xyz/fedora/updates/testing/$releasever/Everything/$basearch/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-f$releasever&arch=$basearch
enabled=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-testing-debuginfo]
name=Fedora $releasever - $basearch - Test Updates Debug
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/testing/$releasever/Everything/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-debug-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-testing-source]
name=Fedora $releasever - Test Updates Source
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/testing/$releasever/Everything/SRPMS/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-source-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,35 +0,0 @@
[updates]
name=Fedora $releasever - $basearch - Updates
baseurl=https://mirror.gauss.mfocko.xyz/fedora/updates/$releasever/Everything/$basearch/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
enabled=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-debuginfo]
name=Fedora $releasever - $basearch - Updates - Debug
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/Everything/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-source]
name=Fedora $releasever - Updates Source
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/Everything/SRPMS/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-source-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,35 +0,0 @@
[fedora]
name=Fedora $releasever - $basearch
baseurl=https://mirror.gauss.mfocko.xyz/fedora/releases/$releasever/Everything/$basearch/os/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[fedora-source]
name=Fedora $releasever - Source
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,31 +0,0 @@
[rpmfusion-free-updates-testing]
name=RPM Fusion for Fedora $releasever - Free - Test Updates
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/testing/$releasever/$basearch/
baseurl=https://mirror.gauss.mfocko.xyz/rpmfusion/free/fedora/updates/testing/$releasever/$basearch/
#metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-testing-$releasever&arch=$basearch
enabled=1
enabled_metadata=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-updates-testing-debuginfo]
name=RPM Fusion for Fedora $releasever - Free - Test Updates Debug
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/testing/$releasever/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-testing-debug-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-updates-testing-source]
name=RPM Fusion for Fedora $releasever - Free - Test Updates Source
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/testing/$releasever/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-testing-source-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever

View file

@ -1,31 +0,0 @@
[rpmfusion-free-updates]
name=RPM Fusion for Fedora $releasever - Free - Updates
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/$releasever/$basearch/
baseurl=https://mirror.gauss.mfocko.xyz/rpmfusion/free/fedora/updates/$releasever/$basearch/
#metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-$releasever&arch=$basearch
enabled=1
enabled_metadata=1
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-updates-debuginfo]
name=RPM Fusion for Fedora $releasever - Free - Updates Debug
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/$releasever/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-debug-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-updates-source]
name=RPM Fusion for Fedora $releasever - Free - Updates Source
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/$releasever/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-source-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever

View file

@ -1,33 +0,0 @@
[rpmfusion-free]
name=RPM Fusion for Fedora $releasever - Free
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/os/
baseurl=https://mirror.gauss.mfocko.xyz/rpmfusion/free/fedora/releases/$releasever/Everything/$basearch/os/
#metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=14d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-debuginfo]
name=RPM Fusion for Fedora $releasever - Free - Debug
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-source]
name=RPM Fusion for Fedora $releasever - Free - Source
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/source/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever

View file

@ -1,31 +0,0 @@
[rpmfusion-nonfree-updates-testing]
name=RPM Fusion for Fedora $releasever - Nonfree - Test Updates
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/testing/$releasever/$basearch/
baseurl=https://mirror.gauss.mfocko.xyz/rpmfusion/nonfree/fedora/updates/testing/$releasever/$basearch/
#metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-testing-$releasever&arch=$basearch
enabled=1
enabled_metadata=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-updates-testing-debuginfo]
name=RPM Fusion for Fedora $releasever - Nonfree - Test Updates Debug
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/testing/$releasever/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-testing-debug-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-updates-testing-source]
name=RPM Fusion for Fedora $releasever - Nonfree - Test Updates Source
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/testing/$releasever/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-testing-source-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever

View file

@ -1,31 +0,0 @@
[rpmfusion-nonfree-updates]
name=RPM Fusion for Fedora $releasever - Nonfree - Updates
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/$basearch/
baseurl=https://mirror.gauss.mfocko.xyz/rpmfusion/nonfree/fedora/updates/$releasever/$basearch/
#metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch
enabled=1
enabled_metadata=1
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-updates-debuginfo]
name=RPM Fusion for Fedora $releasever - Nonfree - Updates Debug
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-released-debug-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-updates-source]
name=RPM Fusion for Fedora $releasever - Nonfree - Updates Source
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-released-source-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever

View file

@ -1,34 +0,0 @@
[rpmfusion-nonfree]
name=RPM Fusion for Fedora $releasever - Nonfree
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/releases/$releasever/Everything/$basearch/os/
baseurl=https://mirror.gauss.mfocko.xyz/rpmfusion/nonfree/fedora/releases/$releasever/Everything/$basearch/os/
#metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-$releasever&arch=$basearch
enabled=1
enabled_metadata=1
metadata_expire=14d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-debuginfo]
name=RPM Fusion for Fedora $releasever - Nonfree - Debug
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/releases/$releasever/Everything/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-source]
name=RPM Fusion for Fedora $releasever - Nonfree - Source
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/releases/$releasever/Everything/source/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever

View file

@ -1,36 +0,0 @@
[fedora-modular]
name=Fedora Modular $releasever - $basearch
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Modular/$basearch/os/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-$releasever&arch=$basearch
enabled=1
countme=1
#metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[fedora-modular-debuginfo]
name=Fedora Modular $releasever - $basearch - Debug
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Modular/$basearch/debug/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[fedora-modular-source]
name=Fedora Modular $releasever - Source
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Modular/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-modular-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,36 +0,0 @@
[updates-modular]
name=Fedora Modular $releasever - $basearch - Updates
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Modular/$basearch/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-f$releasever&arch=$basearch
enabled=1
countme=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-modular-debuginfo]
name=Fedora Modular $releasever - $basearch - Updates - Debug
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Modular/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-debug-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-modular-source]
name=Fedora Modular $releasever - Updates Source
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Modular/SRPMS/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-source-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,36 +0,0 @@
[updates-testing-modular]
name=Fedora Modular $releasever - $basearch - Test Updates
#baseurl=http://download.example/pub/fedora/linux/updates/testing/$releasever/Modular/$basearch/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-modular-f$releasever&arch=$basearch
enabled=0
countme=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-testing-modular-debuginfo]
name=Fedora Modular $releasever - $basearch - Test Updates Debug
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Modular/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-modular-debug-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-testing-modular-source]
name=Fedora Modular $releasever - Test Updates Source
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Modular/SRPMS/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-modular-source-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,36 +0,0 @@
[updates-testing]
name=Fedora $releasever - $basearch - Test Updates
#baseurl=http://download.example/pub/fedora/linux/updates/testing/$releasever/Everything/$basearch/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-f$releasever&arch=$basearch
enabled=0
countme=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-testing-debuginfo]
name=Fedora $releasever - $basearch - Test Updates Debug
#baseurl=http://download.example/pub/fedora/linux/updates/testing/$releasever/Everything/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-debug-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-testing-source]
name=Fedora $releasever - Test Updates Source
#baseurl=http://download.example/pub/fedora/linux/updates/testing/$releasever/Everything/SRPMS/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-source-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,36 +0,0 @@
[updates]
name=Fedora $releasever - $basearch - Updates
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Everything/$basearch/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
enabled=1
countme=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-debuginfo]
name=Fedora $releasever - $basearch - Updates - Debug
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Everything/$basearch/debug/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates-source]
name=Fedora $releasever - Updates Source
#baseurl=http://download.example/pub/fedora/linux/updates/$releasever/Everything/SRPMS/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-source-f$releasever&arch=$basearch
enabled=0
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,36 +0,0 @@
[fedora]
name=Fedora $releasever - $basearch
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
enabled=1
countme=1
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[fedora-source]
name=Fedora $releasever - Source
#baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Everything/source/tree/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

View file

@ -1,30 +0,0 @@
[rpmfusion-free-updates-testing]
name=RPM Fusion for Fedora $releasever - Free - Test Updates
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/testing/$releasever/$basearch/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-testing-$releasever&arch=$basearch
enabled=1
enabled_metadata=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-updates-testing-debuginfo]
name=RPM Fusion for Fedora $releasever - Free - Test Updates Debug
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/testing/$releasever/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-testing-debug-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-updates-testing-source]
name=RPM Fusion for Fedora $releasever - Free - Test Updates Source
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/testing/$releasever/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-testing-source-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever

View file

@ -1,30 +0,0 @@
[rpmfusion-free-updates]
name=RPM Fusion for Fedora $releasever - Free - Updates
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/$releasever/$basearch/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-$releasever&arch=$basearch
enabled=1
enabled_metadata=1
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-updates-debuginfo]
name=RPM Fusion for Fedora $releasever - Free - Updates Debug
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/$releasever/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-debug-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-updates-source]
name=RPM Fusion for Fedora $releasever - Free - Updates Source
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/$releasever/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-source-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever

View file

@ -1,32 +0,0 @@
[rpmfusion-free]
name=RPM Fusion for Fedora $releasever - Free
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/os/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=14d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-debuginfo]
name=RPM Fusion for Fedora $releasever - Free - Debug
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
[rpmfusion-free-source]
name=RPM Fusion for Fedora $releasever - Free - Source
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/source/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever

View file

@ -1,30 +0,0 @@
[rpmfusion-nonfree-updates-testing]
name=RPM Fusion for Fedora $releasever - Nonfree - Test Updates
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/testing/$releasever/$basearch/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-testing-$releasever&arch=$basearch
enabled=1
enabled_metadata=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-updates-testing-debuginfo]
name=RPM Fusion for Fedora $releasever - Nonfree - Test Updates Debug
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/testing/$releasever/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-testing-debug-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-updates-testing-source]
name=RPM Fusion for Fedora $releasever - Nonfree - Test Updates Source
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/testing/$releasever/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-testing-source-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever

View file

@ -1,30 +0,0 @@
[rpmfusion-nonfree-updates]
name=RPM Fusion for Fedora $releasever - Nonfree - Updates
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/$basearch/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch
enabled=1
enabled_metadata=1
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-updates-debuginfo]
name=RPM Fusion for Fedora $releasever - Nonfree - Updates Debug
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-released-debug-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-updates-source]
name=RPM Fusion for Fedora $releasever - Nonfree - Updates Source
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-released-source-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever

View file

@ -1,33 +0,0 @@
[rpmfusion-nonfree]
name=RPM Fusion for Fedora $releasever - Nonfree
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/releases/$releasever/Everything/$basearch/os/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-$releasever&arch=$basearch
enabled=1
enabled_metadata=1
metadata_expire=14d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-debuginfo]
name=RPM Fusion for Fedora $releasever - Nonfree - Debug
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/releases/$releasever/Everything/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
[rpmfusion-nonfree-source]
name=RPM Fusion for Fedora $releasever - Nonfree - Source
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/releases/$releasever/Everything/source/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever

View file

@ -1,24 +0,0 @@
---
- name: Switch to remote repositories
include_role:
name: fedora/repositories
vars:
source: "remote"
- name: Update all packages
dnf:
name: "*"
state: latest
- name: Install system-upgrade plugin
dnf:
name: dnf-plugin-system-upgrade
- name: Switch to local repositories
include_role:
name: fedora/repositories
vars:
source: "local"
- name: Start the release update
shell: dnf system-upgrade download -y --releasever={{ releasever }}

View file

@ -1,5 +0,0 @@
---
- name: Create git config
template:
src: templates/gitconfig.j2
dest: ~/.gitconfig

View file

@ -1,36 +0,0 @@
[alias]
scommit = commit --signoff
graph = log --oneline --decorate --graph --all
[commit]
gpgsign = true
[core]
editor = code --wait
excludesfile = ~/.gitignore
[diff]
tool = vscode-difftool
[difftool "vscode-difftool"]
cmd = code --wait --diff $LOCAL $REMOTE
[gpg]
program = gpg2
[init]
defaultBranch = main
[pull]
rebase = true
[rebase]
autoStash = true
[tag]
gpgSign = true
[user]
name = Matej Focko
email = {{ git_email }}
signingkey = {{ gpg_signingkey }}

View file

@ -1,10 +0,0 @@
---
- name: Create directories for configuration
file:
path: ~/.ghc
state: directory
- name: Install ghci.conf
template:
src: templates/ghci.conf.j2
dest: ~/.ghc/ghci.conf

View file

@ -1,5 +0,0 @@
---
- name: Install alacritty configuration
copy:
src: templates/alacritty
dest: ~/.config/

View file

@ -1,8 +0,0 @@
---
- name: Install Doom Emacs
block:
- git:
repo: https://github.com/hlissner/doom-emacs
dest: ~/.emacs.d
depth: 1
# - shell: ~/.emacs.d/bin/doom install -y

View file

@ -1,16 +0,0 @@
---
- name: Set default shell
become: yes
become_method: sudo
user:
name: mfocko
shell: /bin/zsh
# - name: Install Nord theme for Konsole
# shell: wget -O ~/.local/share/konsole/nord.colorscheme https://raw.githubusercontent.com/arcticicestudio/nord-konsole/develop/src/nord.colorscheme
- include: nvim.yml
- include: emacs.yml
- include: zsh.yml
- include: tmux.yml
- include: alacritty.yml

View file

@ -1,12 +0,0 @@
---
- name: Create init.vim
block:
- file:
path: ~/.config/nvim
state: directory
- template:
src: templates/init.vim.j2
dest: ~/.config/nvim/init.vim
- name: Install vim-plug
shell: sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'

View file

@ -1,56 +0,0 @@
---
- name: Create directories in `~/.local`
file:
path: "{{ item }}"
state: directory
loop:
- ~/.local/bin
- ~/.local/share
- name: Check for oh-my-zsh
stat:
path: ~/.oh-my-zsh
register: ohmyzsh_directory
- name: Install oh-my-zsh
shell: sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
when: not ohmyzsh_directory.stat.exists
- name: Clone zsh-autosuggestions
git:
repo: https://github.com/zsh-users/zsh-autosuggestions
dest: ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
- name: Clone zsh-syntax-highlighting
git:
repo: https://github.com/zsh-users/zsh-syntax-highlighting.git
dest: ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
- name: Clone starship
shell: sh -c "$(curl -fsSL https://starship.rs/install.sh)" "" -f -b $HOME/.local/bin
- name: Create zshrc
template:
src: templates/zshrc.j2
dest: ~/.zshrc
- name: Create starship configuration
template:
src: templates/starship.toml.j2
dest: ~/.config/starship.toml
- name: Install script for toolbox name retrieval
template:
src: templates/scripts/toolbox_name.sh
dest: ~/.local/bin/toolbox_name.sh
- name: Install script for paste.sr.ht
template:
src: templates/scripts/srht.py
dest: ~/.local/bin/srht.py
- name: Symlink paste.sr.ht
ansible.builtin.file:
src: ./srht.py
dest: ~/.local/bin/srht
state: link

View file

@ -1,75 +0,0 @@
import:
# - /home/mfocko/.config/alacritty/colors/ayu_dark.yml
# - /home/mfocko/.config/alacritty/colors/ayu_mirage.yml
# - /home/mfocko/.config/alacritty/colors/breeze.yml
# - /home/mfocko/.config/alacritty/colors/campbell.yml
# - /home/mfocko/.config/alacritty/colors/default.yml
# - /home/mfocko/.config/alacritty/colors/gruvbox_dark.yml
# - /home/mfocko/.config/alacritty/colors/gruvbox_light.yml
# - /home/mfocko/.config/alacritty/colors/monokai/classic.yml
# - /home/mfocko/.config/alacritty/colors/monokai/pro.yml
# - /home/mfocko/.config/alacritty/colors/monokai/pro_filter_machine.yml
# - /home/mfocko/.config/alacritty/colors/monokai/pro_filter_octagon.yml
# - /home/mfocko/.config/alacritty/colors/monokai/pro_filter_ristretto.yml
# - /home/mfocko/.config/alacritty/colors/monokai/pro_filter_spectrum.yml
# - /home/mfocko/.config/alacritty/colors/night_owl.yml
# - /home/mfocko/.config/alacritty/colors/nord.yml
# - /home/mfocko/.config/alacritty/colors/ocean.yml
# - /home/mfocko/.config/alacritty/colors/one_dark.yml
# - /home/mfocko/.config/alacritty/colors/one_dark_pro.yml
# - /home/mfocko/.config/alacritty/colors/one_light.yml
# - /home/mfocko/.config/alacritty/colors/outrun_electric.yml
# - /home/mfocko/.config/alacritty/colors/rainier.yml
# - /home/mfocko/.config/alacritty/colors/rainier_retro.yml
# - /home/mfocko/.config/alacritty/colors/rose-pine.yml
# - /home/mfocko/.config/alacritty/colors/rose-pine-dawn.yml
# - /home/mfocko/.config/alacritty/colors/rose-pine-moon.yml
# - /home/mfocko/.config/alacritty/colors/solarized_dark.yml
# - /home/mfocko/.config/alacritty/colors/solarized_light.yml
# - /home/mfocko/.config/alacritty/colors/tokyo_night.yml
# - /home/mfocko/.config/alacritty/colors/tokyo_night_storm.yml
- /home/mfocko/.config/alacritty/colors/tomorrow_day.yml
# - /home/mfocko/.config/alacritty/colors/tomorrow_night.yml
# - /home/mfocko/.config/alacritty/colors/tomorrow_night_bright.yml
env:
TERM: alacritty
window:
dynamic_padding: true
decorations: none
font:
normal:
# family: BlexMono Nerd Font
# family: CascadiaMonoPL Nerd Font
# family: CozetteVector
# family: FiraCode Nerd Font
# family: Hack Nerd Font
# family: Inconsolata Nerd Font
# family: InputMonoNarrow Nerd Font
# family: Iosevka Term
# family: Iosevka Term Slab
family: JetBrainsMonoNL Nerd Font
# family: RecMonoLinear Nerd Font
# family: RobotoMono Nerd Font
# family: SauceCodePro Nerd Font
# family: SFMono Nerd Font
# family: VictorMono Nerd Font
size: 15.0
cursor:
# Block, Underline, Beam
style: Beam
thickness: 0.33
blinking: On
key_bindings:
- key: F11
action: ToggleFullscreen
- key: N
mods: Control|Shift
action: SpawnNewInstance
- key: K
mods: Control|Shift
action: ClearHistory

View file

@ -1,33 +0,0 @@
# Colors (Solarized Dark)
colors:
# Default colors
primary:
background: "#002b36" # base03
foreground: "#839496" # base0
# Cursor colors
cursor:
text: "#002b36" # base03
cursor: "#839496" # base0
# Normal colors
normal:
black: "#073642" # base02
red: "#dc322f" # red
green: "#859900" # green
yellow: "#b58900" # yellow
blue: "#268bd2" # blue
magenta: "#d33682" # magenta
cyan: "#2aa198" # cyan
white: "#eee8d5" # base2
# Bright colors
bright:
black: "#002b36" # base03
red: "#cb4b16" # orange
green: "#586e75" # base01
yellow: "#657b83" # base00
blue: "#839496" # base0
magenta: "#6c71c4" # violet
cyan: "#93a1a1" # base1
white: "#fdf6e3" # base3

View file

@ -1,158 +0,0 @@
" Sample config for pb071 students, available at fi.muni.cz/pb071
" ===============================================================
" Requires VIM-8.0 to enable linting, on aisa run:
" $ module add vim-8.0
" However, the linting will fail silently, if version is older.
"
" Comes with plugin manager Plug: we added 2 colorschemes
" and linting plugin ALE, which uses clang-tidy and gcc
" to highlight some syntax errors.
"
" Install Plug first in bash:
" $ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
" Then run vim and install the plugins using command in normal mode:
" :PlugInstall
"
" Most of the settings come from vimconfig.com.
" We added few handy key mappings:
"
" Ctrl+Up/Down Move line or a block of selected lines
" Ctrl+j/k
" <leader>pp Toggle paste mode on and off
" <leader><cr> Disable search highlight
"
" <cr> is carriage return, "Enter"
" <leader> is backspace, "\", complete the combination in 1 second
set nocompatible
set encoding=utf-8
"""""
""""" Plugin manager Plug from https://github.com/junegunn/vim-plug
"""""
call plug#begin('~/.vim/plugged')
Plug 'vim-airline/vim-airline' " status bar mod
Plug 'vim-airline/vim-airline-themes'
" Plug 'tomasiser/vim-code-dark' " colorscheme codedark
" Plug 'romainl/Apprentice' " colorscheme apprentice
Plug 'w0rp/ale'
Plug 'romainl/vim-cool'
" Plug 'drewtempelmeyer/palenight.vim'
" Plug 'connorholyday/vim-snazzy'
" Plug 'altercation/vim-colors-solarized'
Plug 'scrooloose/nerdtree'
Plug 'arcticicestudio/nord-vim'
call plug#end()
" Setup linting for c99
let g:ale_completion_enabled = 1
let g:ale_linters = {'c': ['gcc', 'clangtidy', 'clang-format']}
let g:ale_c_gcc_executable = 'gcc'
let g:ale_c_gcc_options = '-std=c99 -Wall -Wextra -pedantic'
let g:ale_c_clang_executable = 'gcc'
let g:ale_c_clang_options = '-std=c99 -Wall -Wextra -pedantic'
let g:ale_c_clangtidy_executable = 'clang-tidy'
let g:ale_c_clangtidy_options = '-std=c99 -Wall -Wextra -pedantic'
"""""
""""" Colors
"""""
syntax on
" hi Normal ctermbg=none
" hi NonText ctermbg=none
" Color schemes belong to ~/.vim/colors
" Find yours at https://vimcolors.com
set background=dark
" colorscheme codedark
colorscheme nord
" colorscheme solarized
" colorscheme palenight
" let g:SnazzyTransparent = 1
" colorscheme snazzy
" If using plugin vim-airline
let g:airline_theme = 'nord'
if &term =~ '256color'
" disable Background Color Erase (BCE) so that color schemes
" render properly when inside 256-color tmux and GNU screen.
" see also http://snk.tuxfamily.org/log/vim-256color-bce.html
set t_ut=
endif
" If you happen to still have a problem on some terminal, uncomment:
" set t_Co=256
" set t_ut=
" Color 81. character in line to visualize long lines
highlight ColorColumn ctermbg=magenta
call matchadd('ColorColumn', '\%81v', 100)
"""""
""""" General
"""""
set relativenumber " Show line numbers
set linebreak " Break lines at word (requires Wrap lines)
set showbreak=+++ " Wrap-broken line prefix
set textwidth=80 " Line wrap (number of cols)
set showmatch " Highlight matching brace
set showcmd " Show last command on right
set cursorline " Highlight current line
set hlsearch " Highlight all search results
set smartcase " Enable smart-case search
set ignorecase " Always case-insensitive
set incsearch " Searches for strings incrementally
set autoindent " Auto-indent new lines
set cindent " Use 'C' style program indenting
set shiftwidth=4 " Number of auto-indent spaces
set smartindent " Enable smart-indent
set smarttab " Enable smart-tabs
set softtabstop=4 expandtab " Number of spaces per Tab
set wrap " Wrap lines
"""""
""""" Advanced
"""""
set ruler " Show row and column ruler information
set undolevels=1000 " Number of undo levels
set backspace=indent,eol,start " Backspace behaviour
set guicursor=
"""""
""""" Key mapping
"""""
" Move lines using Ctrl+Up/Down in normal, insert and visual modes
nnoremap <C-Up> :m-2<CR>
nnoremap <C-Down> :m+<CR>
inoremap <C-Up> <Esc>:m-2<CR>
inoremap <C-Down> <Esc>:m+<CR>
vnoremap <C-Up> :m '<-2<CR>gv=gv
vnoremap <C-Down> :m '>+1<CR>gv=gv
" or Ctrl+j/k
nnoremap <C-j> :m .+1<CR>==
nnoremap <C-k> :m .-2<CR>==
inoremap <C-j> <ESC>:m .+1<CR>==gi
inoremap <C-k> <ESC>:m .-2<CR>==gi
vnoremap <C-j> :m '>+1<CR>gv=gv
vnoremap <C-k> :m '<-2<CR>gv=gv
" Toggle paste mode on and off
" \ + pp
map <leader>pp :setlocal paste!<cr>
" Disable search highlight when <leader><cr> is pressed
map <silent> <leader><cr> :noh<cr>
" Tab support
nnoremap <silent> <C-n> :tabnext<CR>
nnoremap <silent> <C-p> :tabprevious<CR>
nnoremap <silent> <C-S-t> :tabnew<CR>
" NERDTree
nmap <silent> <F7> :NERDTreeToggle<CR>
:set guicursor=

File diff suppressed because it is too large Load diff

View file

@ -1,39 +0,0 @@
#!/usr/bin/env python3
import os
import click
import requests
@click.command()
@click.option("--public", "visibility", flag_value="public")
@click.option("--unlisted", "visibility", flag_value="unlisted", default=True)
@click.option("--private", "visibility", flag_value="private")
@click.argument("src", type=click.File("r"), nargs=-1)
def paste(visibility, src):
request = {
"visibility": visibility,
"files": [
{"filename": s.name.split("/")[-1], "contents": s.read()}
for s in src
],
}
response = requests.post(
"https://paste.sr.ht/api/pastes",
json=request,
headers={"Authorization": f"token {os.getenv('SRHT_LEGACY')}"},
).json()
if "sha" in response:
click.secho(
f"Pasted: https://paste.sr.ht/~mfocko/{response['sha']}",
fg="green",
)
else:
click.secho(response, fg="red")
if __name__ == "__main__":
paste()

View file

@ -1,44 +0,0 @@
add_newline = false
format = """$username\
$hostname\
${custom.toolbox}\
$git_branch\
$git_commit\
$git_state\
$git_status\
$nix_shell\
$jobs\
$time\
$cmd_duration\
$line_break\
$directory\
$character"""
[username]
format = "[$user]($style)@"
show_always = true
[hostname]
format = "[$hostname]($style) "
ssh_only = false
[cmd_duration]
format = "\\(took [$duration]($style)\\) "
[time]
disabled = false
format = "at [$time]($style) "
[directory]
format = "[$path]($style)[$read_only]($read_only_style) "
[custom.toolbox]
when = "ls /run/.containerenv"
symbol = " "
command = "bash ~/.local/bin/toolbox_name.sh"
format = "in [$symbol($output )]($style)"
style = "bold purple"
[character]
success_symbol = "[λ](bold green)"
error_symbol = "[λ](bold red)"

View file

@ -1,42 +0,0 @@
export ZSH=/home/mfocko/.oh-my-zsh
CASE_SENSITIVE="true"
ENABLE_CORRECTION="true"
plugins=(git common-aliases history systemd sudo zsh-autosuggestions zsh-syntax-highlighting fzf)
export PATH="$PATH:$HOME/.local/bin"
source $ZSH/oh-my-zsh.sh
export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'
export EDITOR=nvim
export CC=gcc
export CFLAGS="-std=c11 -Wall -Werror"
export CXXFLAGS="-std=c++14 -Wall -Werror"
# export LDLIBS="-lm -lkarel -lcurses"
export LDLIBS="-lm"
export LANG="en_US.UTF-8"
### gpg ###
export GPG_TTY="$(tty)"
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
gpgconf --launch gpg-agent
alias q="exit"
alias k="exit"
alias vim="nvim"
alias ts="tmux new -As default"
alias Reset="reset && tmux clear-history"
alias gcs="git commit -v -s"
function e() {
if [ $# -gt 0 ]; then
emacs $1 &
else
emacs . &
fi
}
eval "$(starship init zsh)"

View file

@ -1,24 +0,0 @@
---
- name: Check if SSH key exists
stat:
path: ~/.ssh/id_ed25519
register: ssh_key
- name: Generate SSH key
user:
name: mfocko
generate_ssh_key: yes
ssh_key_type: ed25519
ssh_key_comment: "$HOSTNAME-{{ ansible_facts['distribution'] }}"
when: not ssh_key.stat.exists
- name: Install SSH config
template:
src: templates/ssh_config.j2
dest: ~/.ssh/config
mode: 0600
- name: Enable sshd
systemd:
name: sshd
enabled: yes

View file

@ -1,38 +0,0 @@
# Public
Host github.com
User git
Hostname github.com
Host gitlab.com
User git
Hostname gitlab.com
# FI
Host gitlab.fi.muni.cz
User git
Hostname gitlab.fi.muni.cz
Host aisa anxur
User xfocko
Hostname %h.fi.muni.cz
# Private
Host maxwell
User mfocko
Hostname maxwell.mfocko.xyz
Port 6969
Host poincare
User mfocko
Hostname mfocko.xyz
Port 10022
Host git.mfocko.xyz
User git
Hostname git.mfocko.xyz
Port 2222
Host git.maxwell.mfocko.xyz
User git
Hostname git.maxwell.mfocko.xyz
Port 6969

View file

@ -1,32 +0,0 @@
---
- name: Create directories for VSCode
file:
path: "{{ item }}"
state: directory
loop:
- ~/.local/bin
- ~/.local/share
- "$HOME/.config/Code - Insiders/User"
- name: Install VSCode script
template:
src: templates/update.sh.j2
dest: ~/.local/bin/code-update.sh
- name: Create app info for VSCode
template:
src: templates/code.desktop.j2
dest: ~/.local/share/visual-studio-code-insiders.desktop
- name: Create app info for VSCode URL handler
template:
src: templates/code-url.desktop.j2
dest: ~/.local/share/visual-studio-code-insiders-url-handler.desktop
- name: Install VSCode configuration
template:
src: templates/{{ item }}.json.j2
dest: "~/.config/Code - Insiders/User/{{ item }}.json"
loop:
- settings
- keybindings

View file

@ -1,34 +0,0 @@
[
{
"key": "alt+f",
"command": "workbench.action.toggleMaximizedPanel"
},
{
"key": "f7",
"command": "workbench.view.explorer"
},
{
"key": "f7",
"command": "workbench.action.toggleSidebarVisibility",
"when": "explorerViewletVisible"
},
{
"key": "ctrl+shift+e",
"command": "-workbench.view.explorer"
},
{
"key": "ctrl+shift+k",
"command": "workbench.action.terminal.clear",
"when": "terminalFocus"
},
{
"key": "ctrl+pagedown",
"command": "workbench.action.terminal.focusNext",
"when": "terminalFocus"
},
{
"key": "ctrl+pageup",
"command": "workbench.action.terminal.focusPrevious",
"when": "terminalFocus"
}
]

View file

@ -1,56 +0,0 @@
{
"breadcrumbs.enabled": false,
"editor.cursorBlinking": "phase",
"editor.cursorStyle": "underline",
// "editor.fontFamily": "BlexMono Nerd Font",
"editor.fontFamily": "CaskaydiaCovePL Nerd Font",
// "editor.fontFamily": "FiraCode Nerd Font",
// "editor.fontFamily": "Hack Nerd Font",
// "editor.fontFamily": "Hasklug Nerd Font",
// "editor.fontFamily": "InputMono Nerd Font",
// "editor.fontFamily": "InputMonoNarrow Nerd Font",
// "editor.fontFamily": "InputMonoCondensed Nerd Font",
// "editor.fontFamily": "InputMonoCompressed Nerd Font",
// "editor.fontFamily": "'Iosevka Term', 'InputMonoCompressed Nerd Font'",
// "editor.fontFamily": "'Iosevka Term Extended', 'InputMonoCompressed Nerd Font'",
// "editor.fontFamily": "'Iosevka Term Slab', 'InputMonoCompressed Nerd Font'",
// "editor.fontFamily": "'Iosevka Term Slab Extended', 'InputMonoCompressed Nerd Font'",
// "editor.fontFamily": "JetBrainsMono Nerd Font",
// "editor.fontFamily": "MonoLisa Nerd Font",
// "editor.fontFamily": "RecMonoLinear Nerd Font",
// "editor.fontFamily": "RobotoMono Nerd Font",
// "editor.fontFamily": "SFMono Nerd Font",
// "editor.fontFamily": "VictorMono Nerd Font",
// "editor.fontWeight": 350,
"editor.fontSize": 16,
"editor.fontLigatures": true,
"terminal.integrated.fontSize": 15,
"editor.highlightActiveIndentGuide": true,
"editor.lineNumbers": "relative",
"editor.minimap.enabled": false,
"editor.minimap.maxColumn": 80,
"editor.renderIndentGuides": true,
"editor.renderWhitespace": "all",
"editor.rulers": [
80,
100,
],
"git.autofetch": true,
"window.menuBarVisibility": "toggle",
"window.titleBarStyle": "custom",
"window.zoomLevel": 0,
"workbench.activityBar.visible": true,
"workbench.colorTheme": "Default Dark+",
"workbench.settings.editor": "json",
"workbench.editor.showTabs": true,
}

View file

@ -1,3 +1,3 @@
#!/bin/bash
#!/bin/sh
cat /run/.containerenv | grep -E '^name=' | sed -e 's/name=\"\(.*\)\"/\1/'

View file

@ -0,0 +1,86 @@
#!/usr/bin/env python3
import os
import click
import requests
def get_username():
response = requests.post(
"https://meta.sr.ht/query",
json={"query": "{ me { canonicalName } }"},
headers={"Authorization": f"Bearer {os.getenv('SRHT')}"},
).json()
return response["data"]["me"]["canonicalName"]
@click.group()
def cli():
pass
@cli.command(help="Prints out canonical name of the authenticated user")
def whoami():
click.echo(get_username())
@cli.command(help="Provides paste to the paste.sr.ht")
@click.option(
"--public",
"visibility",
flag_value="public",
help="Public paste that is visible on the user's profile",
)
@click.option(
"--unlisted",
"visibility",
flag_value="unlisted",
default=True,
help="Unlisted paste that is accessible via a link",
)
@click.option(
"--private",
"visibility",
flag_value="private",
help="Private paste that is accessible only to the authenticated user",
)
@click.argument(
"src",
type=click.File("r"),
nargs=-1,
)
def paste(visibility, src):
request = {
"visibility": visibility,
"files": [
{"filename": s.name.split("/")[-1], "contents": s.read()}
for s in src
],
}
response = requests.post(
"https://paste.sr.ht/api/pastes",
json=request,
headers={"Authorization": f"token {os.getenv('SRHT_LEGACY')}"},
).json()
if "sha" in response:
click.secho("*** Paste link ***", fg="green")
click.secho(
f"https://paste.sr.ht/{response['user']['canonical_name']}/{response['sha']}"
)
click.secho("\n*** Files ***", fg="green")
for file in response["files"]:
filename = file["filename"]
blob_id = file["blob_id"]
click.secho(f"https://paste.sr.ht/blob/{blob_id}\t{filename}")
else:
click.secho(response, fg="red")
if __name__ == "__main__":
cli()

View file

@ -0,0 +1,8 @@
---
- name: Install basic desktop utilities
ansible.builtin.package:
name:
- playerctl
- flameshot
state: present
become: true

View file

@ -0,0 +1,11 @@
---
- name: Initialize directory structure
ansible.builtin.include_tasks: structure.yml
- name: Scripts
ansible.builtin.include_tasks: scripts.yml
tags: base/user/scripts
- name: Desktop utilities
ansible.builtin.include_tasks: desktop-utilities.yml
tags: base/user/desktop-utilities

View file

@ -0,0 +1,12 @@
---
- name: Install script for toolbox/distrobox name retrieval
ansible.builtin.copy:
src: files/boxname.sh
dest: ~/.local/bin/boxname
mode: 0700
- name: Install script for paste.sr.ht
ansible.builtin.copy:
src: files/srht.py
dest: ~/.local/bin/srht
mode: 0700

View file

@ -0,0 +1,21 @@
---
- name: Create directories in `~/.local`
ansible.builtin.file:
path: "{{ item }}"
state: directory
mode: 0700
owner: "{{ target_user }}"
group: "{{ target_user }}"
loop:
- ~/.local/bin
- ~/.local/share
- ~/.local/share/applications
- ~/.ssh
- name: Create empty file for tokens
ansible.builtin.file:
path: ~/.tokens
state: touch
mode: 0600
owner: "{{ target_user }}"
group: "{{ target_user }}"

View file

@ -0,0 +1,8 @@
---
- name: Create a directory for secrets
ansible.builtin.file:
path: /root/.secrets
state: directory
mode: 0700
owner: root
group: root

View file

@ -0,0 +1,13 @@
---
- name: Upgrade all packages
ansible.builtin.include_tasks: upgrade.yml
- name: Install basic packages
ansible.builtin.package:
name:
- ansible
- curl
- git
- make
- wget
- unzip

View file

@ -0,0 +1,19 @@
---
- name: Upgrade all packages with apt
ansible.builtin.apt:
name: "*"
state: latest
update_cache: true
when: ansible_distribution == "Ubuntu"
- name: Upgrade all packages with dnf
ansible.builtin.dnf:
name: "*"
state: latest
when: ansible_distribution in [ "AlmaLinux", "CentOS", "Fedora" ]
- name: Upgrade all packages with zypper
community.general.zypper:
name: "*"
state: latest
when: "'openSUSE' in ansible_distribution"

View file

@ -0,0 +1,7 @@
---
- name: Install the Certbot and Cloudflare plugin
ansible.builtin.package:
name:
- certbot
- python3-certbot-dns-cloudflare
state: present

View file

@ -0,0 +1,12 @@
---
- name: Packages
ansible.builtin.include_tasks: install.yml
tags: install
- name: Install the Cloudflare secrets
ansible.builtin.template:
src: templates/cloudflare.ini
dest: /root/.secrets/cloudflare.ini
mode: 0600
owner: root
group: root

View file

@ -0,0 +1 @@
dns_cloudflare_api_token = {{ cloudflare_token }}

View file

@ -0,0 +1,5 @@
---
# Boolean variable that adjust the Cockpit config when it's being served via
# reverse proxy (adjusts the origin, so that the Cockpit doesn't drop sessions,
# and checks for SSL/TLS connections)
cockpit_has_reverse_proxy: false

View file

@ -0,0 +1,5 @@
---
- name: Install cockpit
ansible.builtin.package:
name: cockpit
state: present

View file

@ -0,0 +1,19 @@
---
- name: Packages
ansible.builtin.include_tasks: install.yml
tags: install
- name: Install config to enable reverse proxy
ansible.builtin.template:
src: templates/cockpit.conf
dest: /etc/cockpit/cockpit.conf
mode: 0644
owner: root
group: root
when: cockpit_has_reverse_proxy
- name: Enable cockpit
ansible.builtin.service:
name: "cockpit.socket"
enabled: true
state: restarted

View file

@ -0,0 +1,3 @@
[WebService]
Origins = https://cockpit.{{ host_fqdn }} wss://cockpit.{{ host_fqdn }}
ProtocolHeader = X-Forwarded-Proto

View file

@ -0,0 +1,7 @@
---
- name: Install the cups and deps
ansible.builtin.package:
name:
- cups
- hplip
state: present

25
roles/cups/tasks/main.yml Normal file
View file

@ -0,0 +1,25 @@
---
- name: Packages
ansible.builtin.include_tasks: install.yml
tags: install
- name: Add target user as an admin
ansible.builtin.user:
name: "{{ target_user }}"
append: true
groups: "lp"
- name: Allow cups on the firewall
ansible.posix.firewalld:
service: ipp
immediate: true
permanent: true
state: enabled
when: ansible_facts.services['firewalld'] is defined
tags: firewall
- name: Enable cups
ansible.builtin.service:
name: cups
enabled: true
state: restarted

View file

@ -0,0 +1,7 @@
[Unit]
Description=Run inadyn in a container to update DNS
After=network.target
[Service]
Type=oneshot
ExecStart=podman run --rm -v "/etc/inadyn.conf:/etc/inadyn.conf" -v "/var/cache/inadyn:/var/cache/inadyn" docker.io/troglobit/inadyn:latest -1 --cache-dir=/var/cache/inadyn

View file

@ -0,0 +1,10 @@
[Unit]
Description=Run inadyn every 15 minutes
[Timer]
OnCalendar=*:00,15,30,45:00
RandomizedDelaySec=1h
Persistent=true
[Install]
WantedBy=timers.target

34
roles/ddns/tasks/main.yml Normal file
View file

@ -0,0 +1,34 @@
---
- name: Install the config file
ansible.builtin.template:
src: templates/inadyn.conf
dest: /etc/inadyn.conf
mode: 0600
owner: root
group: root
- name: Create the cache directory
ansible.builtin.file:
path: /var/cache/inadyn
state: directory
mode: 0700
owner: root
group: root
- name: Install the unit files
ansible.builtin.copy:
src: files/{{ item }}
dest: /etc/systemd/system/{{ item }}
mode: 0644
owner: root
group: root
loop:
- ddns.service
- ddns.timer
- name: Enable the timer
ansible.builtin.systemd_service:
daemon_reload: true
enabled: true
name: ddns.timer
state: "started"

View file

@ -0,0 +1,15 @@
period = 300
allow-ipv6 = true
provider cloudflare.com:1 {
username = {{ cloudflare_zone }}
password = {{ cloudflare_token }}
hostname = {{ host_fqdn }}
}
provider cloudflare.com:2 {
username = {{ cloudflare_zone }}
password = {{ cloudflare_token }}
hostname = {{ host_fqdn }}
wildcard = true
}

View file

@ -0,0 +1,6 @@
---
- name: Install Emacs
ansible.builtin.package:
name: emacs
state: present
become: true

View file

@ -0,0 +1,11 @@
---
- name: Packages
ansible.builtin.include_tasks: install.yml
tags: install
- name: Clone Doom Emacs from GitHub
ansible.builtin.git:
repo: https://github.com/hlissner/doom-emacs
dest: ~/.emacs.d
depth: 1
tags: emacs/doom

View file

@ -0,0 +1,8 @@
theme = "dracula_at_night"
[editor]
line-number = "relative"
rulers = [ 80, 100, 120 ]
[editor.indent-guides]
render = true

View file

@ -0,0 +1 @@
install_fedora-family.yml

View file

@ -0,0 +1 @@
install_generic.yml

View file

@ -0,0 +1 @@
install_fedora-family.yml

View file

@ -0,0 +1 @@
install_fedora-family.yml

View file

@ -0,0 +1,12 @@
---
- name: Enable the PPA for Helix
ansible.builtin.apt_repository:
repo: ppa:maveonair/helix-editor
state: present
become: true
- name: Install the Helix
ansible.builtin.package:
name: helix
state: present
become: true

View file

@ -0,0 +1,13 @@
---
- name: Enable the Copr
community.general.copr:
name: varlad/helix
state: enabled
when: ansible_distribution not in ("AlmaLinux")
become: true
- name: Install the Helix
ansible.builtin.package:
name: helix
state: present
become: true

View file

@ -0,0 +1,6 @@
---
- name: Install the Helix
ansible.builtin.package:
name: helix
state: present
become: true

View file

@ -0,0 +1 @@
install_generic.yml

View file

@ -0,0 +1,16 @@
---
- name: Packages
ansible.builtin.include_tasks: "install_{{ ansible_distribution }}.yml"
tags: install
- name: Create directory for Helix config
ansible.builtin.file:
path: ~/.config/helix
state: directory
mode: 0744
- name: Install the config
ansible.builtin.copy:
src: files/config.toml
dest: ~/.config/helix/config.toml
mode: 0644

Some files were not shown because too many files have changed in this diff Show more