mirror of
https://github.com/fscotto/infra.git
synced 2026-05-30 15:39:58 +00:00
Remove Arch/nymph path, restore nymph as Void desktop
Delete all Arch-specific files (packages_arch role, profile_desktop_gnome role, arch.yml group_vars, nymph.yml host_vars, arch dotfiles). Revert nymph to the void group in inventory, remove the arch play from site.yml, and restore profile_desktop_host/tasks/nymph.yml to its pre-Arch state (GRUB + NVIDIA + prime-run). Preserve Void improvements introduced alongside Arch work (desktop_void_dotfiles, desktop_void_source_tools, profile_desktop_i3 dir additions, void-specific conditions). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
14
AGENTS.md
14
AGENTS.md
@@ -1,6 +1,6 @@
|
|||||||
# AGENTS.md
|
# AGENTS.md
|
||||||
|
|
||||||
Ansible-driven personal infrastructure repo for Void/Arch desktops, Linux workstations, Windows+WSL, and an Ubuntu server.
|
Ansible-driven personal infrastructure repo for Void desktops, Linux workstations, Windows+WSL, and an Ubuntu server.
|
||||||
|
|
||||||
## Source Of Truth
|
## Source Of Truth
|
||||||
- Main orchestration: `ansible/site.yml`
|
- Main orchestration: `ansible/site.yml`
|
||||||
@@ -11,8 +11,7 @@ Ansible-driven personal infrastructure repo for Void/Arch desktops, Linux workst
|
|||||||
- Codex config is rendered from `dotfiles/common/.codex/config.toml.j2` so `model_instructions_file` points to the deployed `~/.config/ai/bootstrap.md`.
|
- Codex config is rendered from `dotfiles/common/.codex/config.toml.j2` so `model_instructions_file` points to the deployed `~/.config/ai/bootstrap.md`.
|
||||||
|
|
||||||
## Topology
|
## Topology
|
||||||
- Void desktops: `ikaros`
|
- Void desktops: `ikaros`, `nymph`
|
||||||
- Arch desktops: `nymph`
|
|
||||||
- Native Linux workstations: `deadalus-ubuntu`, `deadalus-fedora`
|
- Native Linux workstations: `deadalus-ubuntu`, `deadalus-fedora`
|
||||||
- Windows host + WSL dev: `deadalus-win`, `deadalus-wsl`
|
- Windows host + WSL dev: `deadalus-win`, `deadalus-wsl`
|
||||||
- Ubuntu server: `prometheus`
|
- Ubuntu server: `prometheus`
|
||||||
@@ -35,15 +34,13 @@ Ansible-driven personal infrastructure repo for Void/Arch desktops, Linux workst
|
|||||||
- `ansible-lint ansible/roles`
|
- `ansible-lint ansible/roles`
|
||||||
- `yamllint ansible/`
|
- `yamllint ansible/`
|
||||||
- Host-focused dry runs:
|
- Host-focused dry runs:
|
||||||
- Void desktop work: `ansible-playbook ansible/site.yml --limit ikaros --check --diff`
|
- Void desktop work: `ansible-playbook ansible/site.yml --limit ikaros --check --diff` or `--limit nymph --check --diff`
|
||||||
- Arch desktop work: `ansible-playbook ansible/site.yml --limit nymph --check --diff`
|
|
||||||
- Ubuntu workstation: `ansible-playbook ansible/site.yml --limit deadalus-ubuntu --check --diff`
|
- Ubuntu workstation: `ansible-playbook ansible/site.yml --limit deadalus-ubuntu --check --diff`
|
||||||
- Fedora workstation: `ansible-playbook ansible/site.yml --limit deadalus-fedora --check --diff`
|
- Fedora workstation: `ansible-playbook ansible/site.yml --limit deadalus-fedora --check --diff`
|
||||||
- WSL dev: `ansible-playbook ansible/site.yml --limit deadalus-wsl --check --diff`
|
- WSL dev: `ansible-playbook ansible/site.yml --limit deadalus-wsl --check --diff`
|
||||||
- Server: `ansible-playbook ansible/site.yml --limit prometheus --check --diff`
|
- Server: `ansible-playbook ansible/site.yml --limit prometheus --check --diff`
|
||||||
- Focused checks:
|
- Focused checks:
|
||||||
- Emacs dotfiles only: `ansible-playbook ansible/site.yml --limit ikaros --tags emacs --check --diff` or `--limit nymph --tags emacs --check --diff`
|
- Emacs dotfiles only: `ansible-playbook ansible/site.yml --limit ikaros --tags emacs --check --diff` or `--limit nymph --tags emacs --check --diff`
|
||||||
- Arch GNOME desktop bootstrap on nymph: `ansible-playbook ansible/site.yml --limit nymph --tags packages,services,gnome --check --diff`
|
|
||||||
- Mail bootstrap: `sh -n scripts/bootstrap_mail.sh` and `shellcheck scripts/bootstrap_mail.sh`
|
- Mail bootstrap: `sh -n scripts/bootstrap_mail.sh` and `shellcheck scripts/bootstrap_mail.sh`
|
||||||
- Windows bootstrap parse: `pwsh -NoProfile -Command "[void][System.Management.Automation.Language.Parser]::ParseFile('scripts/bootstrap_windows_workstation.ps1', [ref]$null, [ref]$null)"`
|
- Windows bootstrap parse: `pwsh -NoProfile -Command "[void][System.Management.Automation.Language.Parser]::ParseFile('scripts/bootstrap_windows_workstation.ps1', [ref]$null, [ref]$null)"`
|
||||||
- Server compose render: `docker compose -f /opt/docker/server/docker-compose.yml config`
|
- Server compose render: `docker compose -f /opt/docker/server/docker-compose.yml config`
|
||||||
@@ -61,15 +58,10 @@ Ansible-driven personal infrastructure repo for Void/Arch desktops, Linux workst
|
|||||||
- `.emacs.d` is deployed by a dedicated `profile_desktop_common` task tagged `emacs`.
|
- `.emacs.d` is deployed by a dedicated `profile_desktop_common` task tagged `emacs`.
|
||||||
- NTFS filesystem support is provided by `ntfs-3g` in `ansible/inventory/group_vars/void.yml`.
|
- NTFS filesystem support is provided by `ntfs-3g` in `ansible/inventory/group_vars/void.yml`.
|
||||||
- Void user services are managed by `turnstile` and live under `dotfiles/desktop/.config/service/`.
|
- Void user services are managed by `turnstile` and live under `dotfiles/desktop/.config/service/`.
|
||||||
- Arch user services are systemd user units under `dotfiles/desktop/.config/systemd/user/`.
|
|
||||||
- `ssh-agent` keeps the stable socket `~/.local/state/ssh-agent/socket`.
|
- `ssh-agent` keeps the stable socket `~/.local/state/ssh-agent/socket`.
|
||||||
- Critical session entrypoints:
|
- Critical session entrypoints:
|
||||||
- `dotfiles/desktop/.xinitrc`
|
- `dotfiles/desktop/.xinitrc`
|
||||||
- `dotfiles/desktop/.local/bin/start-sway-session`
|
|
||||||
- Do not auto-restart `emptty` during playbook runs on active Void desktop hosts; restart it manually from another TTY/SSH session if needed.
|
- Do not auto-restart `emptty` during playbook runs on active Void desktop hosts; restart it manually from another TTY/SSH session if needed.
|
||||||
- `nymph` is an Arch GNOME/GDM desktop; do not route it through Void/i3/Sway/emptty tasks.
|
|
||||||
- `nymph` uses systemd-boot; keep loader entries and kernel cmdline in `ansible/inventory/host_vars/nymph.yml`.
|
|
||||||
- `profile_desktop_sway` owns the Sway session, Noctalia config rendering, and official plugin linking when a Sway desktop is explicitly enabled.
|
|
||||||
- Noctalia shared config lives in `dotfiles/desktop/.config/noctalia/`; bar monitors and `screenOverrides` come from inventory (`noctalia_bar_monitors`, `noctalia_screen_overrides`) on Sway hosts.
|
- Noctalia shared config lives in `dotfiles/desktop/.config/noctalia/`; bar monitors and `screenOverrides` come from inventory (`noctalia_bar_monitors`, `noctalia_screen_overrides`) on Sway hosts.
|
||||||
- On Sway hosts, `udiskie` is the backend for automount/LUKS but runs without tray; USB device UI is handled by `usb-drive-manager`.
|
- On Sway hosts, `udiskie` is the backend for automount/LUKS but runs without tray; USB device UI is handled by `usb-drive-manager`.
|
||||||
- Do not re-introduce `network-manager-applet` or `blueman` on Sway hosts without an explicit host-specific reason.
|
- Do not re-introduce `network-manager-applet` or `blueman` on Sway hosts without an explicit host-specific reason.
|
||||||
|
|||||||
@@ -1,160 +0,0 @@
|
|||||||
---
|
|
||||||
arch_packages_base:
|
|
||||||
- 7zip
|
|
||||||
- archlinux-keyring
|
|
||||||
- avahi
|
|
||||||
- base-devel
|
|
||||||
- bluez
|
|
||||||
- clang
|
|
||||||
- cmake
|
|
||||||
- cups
|
|
||||||
- cups-filters
|
|
||||||
- cups-pk-helper
|
|
||||||
- fastfetch
|
|
||||||
- flatpak
|
|
||||||
- fuse3
|
|
||||||
- gcc
|
|
||||||
- gdb
|
|
||||||
- git-delta
|
|
||||||
- github-cli
|
|
||||||
- gnome-keyring
|
|
||||||
- go
|
|
||||||
- gvfs
|
|
||||||
- gvfs-mtp
|
|
||||||
- gvfs-smb
|
|
||||||
- imagemagick
|
|
||||||
- isync
|
|
||||||
- libsecret
|
|
||||||
- libtool
|
|
||||||
- linux
|
|
||||||
- linux-headers
|
|
||||||
- lm_sensors
|
|
||||||
- man-db
|
|
||||||
- man-pages
|
|
||||||
- msmtp
|
|
||||||
- networkmanager
|
|
||||||
- nodejs
|
|
||||||
- npm
|
|
||||||
- pavucontrol
|
|
||||||
- pipewire
|
|
||||||
- pipewire-alsa
|
|
||||||
- pipewire-jack
|
|
||||||
- pipewire-pulse
|
|
||||||
- pkgconf
|
|
||||||
- plocate
|
|
||||||
- podman
|
|
||||||
- podman-compose
|
|
||||||
- rclone
|
|
||||||
- sane
|
|
||||||
- sane-airscan
|
|
||||||
- seahorse
|
|
||||||
- simple-scan
|
|
||||||
- speech-dispatcher
|
|
||||||
- syncthing
|
|
||||||
- tealdeer
|
|
||||||
- tmux
|
|
||||||
- tree-sitter-cli
|
|
||||||
- ufw
|
|
||||||
- wireplumber
|
|
||||||
- xdotool
|
|
||||||
- yt-dlp
|
|
||||||
|
|
||||||
arch_desktop_common_packages:
|
|
||||||
- brightnessctl
|
|
||||||
- dex
|
|
||||||
- pinentry
|
|
||||||
- xdg-desktop-portal
|
|
||||||
- xdg-desktop-portal-gtk
|
|
||||||
- xdg-user-dirs
|
|
||||||
|
|
||||||
arch_desktop_gnome_packages:
|
|
||||||
- baobab
|
|
||||||
- gdm
|
|
||||||
- gnome-backgrounds
|
|
||||||
- gnome-calculator
|
|
||||||
- gnome-calendar
|
|
||||||
- gnome-characters
|
|
||||||
- gnome-clocks
|
|
||||||
- gnome-control-center
|
|
||||||
- gnome-disk-utility
|
|
||||||
- gnome-font-viewer
|
|
||||||
- gnome-session
|
|
||||||
- gnome-settings-daemon
|
|
||||||
- gnome-shell
|
|
||||||
- gnome-shell-extensions
|
|
||||||
- gnome-tweaks
|
|
||||||
- gvfs-afc
|
|
||||||
- gvfs-dnssd
|
|
||||||
- gvfs-goa
|
|
||||||
- gvfs-gphoto2
|
|
||||||
- gvfs-nfs
|
|
||||||
- gvfs-onedrive
|
|
||||||
- gvfs-wsdd
|
|
||||||
- loupe
|
|
||||||
- mutter
|
|
||||||
- nautilus
|
|
||||||
- papers
|
|
||||||
- ptyxis
|
|
||||||
- rygel
|
|
||||||
- showtime
|
|
||||||
- snapshot
|
|
||||||
- sushi
|
|
||||||
- xdg-desktop-portal-gnome
|
|
||||||
- xdg-user-dirs-gtk
|
|
||||||
|
|
||||||
arch_profile_packages:
|
|
||||||
- deluge
|
|
||||||
- dnsmasq
|
|
||||||
- edk2-ovmf
|
|
||||||
- emacs-wayland
|
|
||||||
- ffmpegthumbnailer
|
|
||||||
- firefox
|
|
||||||
- fontconfig
|
|
||||||
- freetype2
|
|
||||||
- gufw
|
|
||||||
- iproute2
|
|
||||||
- libvterm
|
|
||||||
- libx11
|
|
||||||
- libxft
|
|
||||||
- libvirt
|
|
||||||
- libreoffice-fresh
|
|
||||||
- meld
|
|
||||||
- mpv
|
|
||||||
- noto-fonts
|
|
||||||
- noto-fonts-emoji
|
|
||||||
- pdfarranger
|
|
||||||
- poppler
|
|
||||||
- poppler-glib
|
|
||||||
- qemu-desktop
|
|
||||||
- remmina
|
|
||||||
- ripgrep
|
|
||||||
- rsync
|
|
||||||
- ruff
|
|
||||||
- rustup
|
|
||||||
- texlive-basic
|
|
||||||
- texlive-binextra
|
|
||||||
- texlive-latex
|
|
||||||
- texlive-latexextra
|
|
||||||
- ttf-hack-nerd
|
|
||||||
- ttf-liberation
|
|
||||||
- ttf-nerd-fonts-symbols
|
|
||||||
- ctags
|
|
||||||
- uv
|
|
||||||
- virt-manager
|
|
||||||
- xournalpp
|
|
||||||
- zstd
|
|
||||||
|
|
||||||
enabled_services:
|
|
||||||
- NetworkManager
|
|
||||||
- avahi-daemon
|
|
||||||
- bluetooth
|
|
||||||
- cups
|
|
||||||
- libvirtd
|
|
||||||
- ufw
|
|
||||||
|
|
||||||
enabled_services_only:
|
|
||||||
- gdm
|
|
||||||
|
|
||||||
desktop_systemd_user_services:
|
|
||||||
- syncthing.service
|
|
||||||
- rclone-pcloud.service
|
|
||||||
@@ -112,20 +112,6 @@ desktop_common_dotfiles:
|
|||||||
dest: .ssh/config
|
dest: .ssh/config
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
|
|
||||||
desktop_arch_dotfiles:
|
|
||||||
- name: rclone pcloud systemd user service
|
|
||||||
src: .config/systemd/user/rclone-pcloud.service
|
|
||||||
dest: .config/systemd/user/rclone-pcloud.service
|
|
||||||
mode: "0644"
|
|
||||||
- name: syncthing systemd user service
|
|
||||||
src: .config/systemd/user/syncthing.service
|
|
||||||
dest: .config/systemd/user/syncthing.service
|
|
||||||
mode: "0644"
|
|
||||||
- name: MIME application defaults
|
|
||||||
src: .config/mimeapps.arch.list
|
|
||||||
dest: .config/mimeapps.list
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
desktop_emacs_dotfiles:
|
desktop_emacs_dotfiles:
|
||||||
- name: Emacs config
|
- name: Emacs config
|
||||||
src: .emacs.d/
|
src: .emacs.d/
|
||||||
|
|||||||
@@ -1,49 +0,0 @@
|
|||||||
---
|
|
||||||
hostname: nymph
|
|
||||||
|
|
||||||
desktop_sessions_enabled:
|
|
||||||
- gnome
|
|
||||||
|
|
||||||
desktop_default_session: gnome
|
|
||||||
desktop_default_session_env: wayland
|
|
||||||
|
|
||||||
host_kernel_cmdline: >-
|
|
||||||
rd.luks.uuid=1e15d159-5d05-4a1f-9639-ac200dff9f9c rootflags=subvol=@
|
|
||||||
apparmor=1 security=apparmor nouveau.modeset=0 nvidia-drm.modeset=1
|
|
||||||
|
|
||||||
host_systemd_boot_esp_path: /boot
|
|
||||||
host_systemd_boot_default: arch.conf
|
|
||||||
host_systemd_boot_timeout: 3
|
|
||||||
host_systemd_boot_console_mode: max
|
|
||||||
host_systemd_boot_editor: false
|
|
||||||
host_systemd_boot_entries:
|
|
||||||
- filename: arch.conf
|
|
||||||
title: Arch Linux
|
|
||||||
linux: /vmlinuz-linux
|
|
||||||
initrds:
|
|
||||||
- /intel-ucode.img
|
|
||||||
- /initramfs-linux.img
|
|
||||||
options: "{{ host_kernel_cmdline }}"
|
|
||||||
- filename: arch-fallback.conf
|
|
||||||
title: Arch Linux fallback
|
|
||||||
linux: /vmlinuz-linux
|
|
||||||
initrds:
|
|
||||||
- /intel-ucode.img
|
|
||||||
- /initramfs-linux-fallback.img
|
|
||||||
options: "{{ host_kernel_cmdline }}"
|
|
||||||
|
|
||||||
host_packages:
|
|
||||||
- intel-ucode
|
|
||||||
- intel-media-driver
|
|
||||||
- libva-intel-driver
|
|
||||||
- mesa
|
|
||||||
- nvidia-open
|
|
||||||
- nvidia-settings
|
|
||||||
- nvidia-utils
|
|
||||||
- power-profiles-daemon
|
|
||||||
- upower
|
|
||||||
- vulkan-icd-loader
|
|
||||||
- vulkan-intel
|
|
||||||
|
|
||||||
host_enabled_services:
|
|
||||||
- power-profiles-daemon
|
|
||||||
@@ -5,10 +5,8 @@ all:
|
|||||||
hosts:
|
hosts:
|
||||||
ikaros:
|
ikaros:
|
||||||
ansible_connection: local
|
ansible_connection: local
|
||||||
|
nymph:
|
||||||
arch:
|
ansible_connection: local
|
||||||
children:
|
|
||||||
arch_desktop:
|
|
||||||
|
|
||||||
desktop:
|
desktop:
|
||||||
hosts:
|
hosts:
|
||||||
@@ -57,11 +55,6 @@ all:
|
|||||||
deadalus-fedora:
|
deadalus-fedora:
|
||||||
ansible_connection: local
|
ansible_connection: local
|
||||||
|
|
||||||
arch_desktop:
|
|
||||||
hosts:
|
|
||||||
nymph:
|
|
||||||
ansible_connection: local
|
|
||||||
|
|
||||||
workstation_host_linux:
|
workstation_host_linux:
|
||||||
hosts:
|
hosts:
|
||||||
deadalus-ubuntu:
|
deadalus-ubuntu:
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Synchronize and upgrade Arch Linux packages
|
|
||||||
tags: [packages]
|
|
||||||
community.general.pacman:
|
|
||||||
update_cache: true
|
|
||||||
upgrade: true
|
|
||||||
|
|
||||||
- name: Install packages on Arch Linux
|
|
||||||
tags: [packages]
|
|
||||||
community.general.pacman:
|
|
||||||
name: >-
|
|
||||||
{{
|
|
||||||
(
|
|
||||||
(common_packages | default([]))
|
|
||||||
+ (arch_packages_base | default([]))
|
|
||||||
+ (arch_desktop_common_packages | default([]))
|
|
||||||
+ (
|
|
||||||
(arch_desktop_gnome_packages | default([]))
|
|
||||||
if 'gnome' in (desktop_sessions_enabled | default([]))
|
|
||||||
else []
|
|
||||||
)
|
|
||||||
+ (arch_profile_packages | default([]))
|
|
||||||
+ (host_packages | default([]))
|
|
||||||
)
|
|
||||||
| unique
|
|
||||||
}}
|
|
||||||
state: present
|
|
||||||
@@ -272,37 +272,10 @@
|
|||||||
{{
|
{{
|
||||||
(desktop_common_dotfiles | default([]))
|
(desktop_common_dotfiles | default([]))
|
||||||
+ ((desktop_void_dotfiles | default([])) if 'void' in group_names else [])
|
+ ((desktop_void_dotfiles | default([])) if 'void' in group_names else [])
|
||||||
+ ((desktop_arch_dotfiles | default([])) if 'arch' in group_names else [])
|
|
||||||
}}
|
}}
|
||||||
loop_control:
|
loop_control:
|
||||||
label: "{{ item.dest }}"
|
label: "{{ item.dest }}"
|
||||||
|
|
||||||
- name: Ensure systemd user enablement directory exists
|
|
||||||
tags: [services, dotfiles, dotfiles:desktop]
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: "{{ user_home }}/.config/systemd/user/default.target.wants"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ username }}"
|
|
||||||
group: "{{ user_group }}"
|
|
||||||
mode: "0755"
|
|
||||||
when:
|
|
||||||
- "'arch' in group_names"
|
|
||||||
- (desktop_systemd_user_services | default([])) | length > 0
|
|
||||||
|
|
||||||
- name: Enable desktop systemd user services
|
|
||||||
tags: [services, dotfiles, dotfiles:desktop]
|
|
||||||
ansible.builtin.file:
|
|
||||||
src: "{{ user_home }}/.config/systemd/user/{{ item }}"
|
|
||||||
dest: "{{ user_home }}/.config/systemd/user/default.target.wants/{{ item }}"
|
|
||||||
state: link
|
|
||||||
owner: "{{ username }}"
|
|
||||||
group: "{{ user_group }}"
|
|
||||||
force: true
|
|
||||||
loop: "{{ desktop_systemd_user_services | default([]) }}"
|
|
||||||
loop_control:
|
|
||||||
label: "{{ item }}"
|
|
||||||
when: "'arch' in group_names"
|
|
||||||
|
|
||||||
- name: Copy Emacs desktop dotfiles
|
- name: Copy Emacs desktop dotfiles
|
||||||
tags: [dotfiles, dotfiles:desktop, emacs]
|
tags: [dotfiles, dotfiles:desktop, emacs]
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
@@ -499,27 +472,14 @@
|
|||||||
path: "{{ user_home }}/.cargo/bin/rustc"
|
path: "{{ user_home }}/.cargo/bin/rustc"
|
||||||
register: rustup_initialized
|
register: rustup_initialized
|
||||||
|
|
||||||
- name: Run rustup-init with cargo env sourced (Void)
|
- name: Run rustup-init with cargo env sourced
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell:
|
||||||
cmd: . ~/.cargo/env && rustup-init -y --no-modify-path
|
cmd: . ~/.cargo/env && rustup-init -y --no-modify-path
|
||||||
creates: "{{ user_home }}/.cargo/bin/rustc"
|
creates: "{{ user_home }}/.cargo/bin/rustc"
|
||||||
become_user: "{{ username }}"
|
become_user: "{{ username }}"
|
||||||
environment:
|
environment:
|
||||||
HOME: "{{ user_home }}"
|
HOME: "{{ user_home }}"
|
||||||
when:
|
when: not rustup_initialized.stat.exists
|
||||||
- not rustup_initialized.stat.exists
|
|
||||||
- "'void' in group_names"
|
|
||||||
|
|
||||||
- name: Install Rust stable toolchain via rustup (Arch)
|
|
||||||
ansible.builtin.command:
|
|
||||||
cmd: rustup toolchain install stable
|
|
||||||
creates: "{{ user_home }}/.cargo/bin/rustc"
|
|
||||||
become_user: "{{ username }}"
|
|
||||||
environment:
|
|
||||||
HOME: "{{ user_home }}"
|
|
||||||
when:
|
|
||||||
- not rustup_initialized.stat.exists
|
|
||||||
- "'arch' in group_names"
|
|
||||||
|
|
||||||
- name: Ensure cargo env is sourced in shell profile
|
- name: Ensure cargo env is sourced in shell profile
|
||||||
ansible.builtin.lineinfile:
|
ansible.builtin.lineinfile:
|
||||||
|
|||||||
@@ -1,59 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Ensure GNOME desktop session is enabled for this profile
|
|
||||||
tags: [gnome]
|
|
||||||
ansible.builtin.assert:
|
|
||||||
that:
|
|
||||||
- "'gnome' in (desktop_sessions_enabled | default([]))"
|
|
||||||
fail_msg: >-
|
|
||||||
profile_desktop_gnome requires desktop_sessions_enabled to include gnome.
|
|
||||||
|
|
||||||
- name: Ensure systemd boots to the graphical target
|
|
||||||
tags: [services, gnome]
|
|
||||||
ansible.builtin.file:
|
|
||||||
src: /usr/lib/systemd/system/graphical.target
|
|
||||||
dest: /etc/systemd/system/default.target
|
|
||||||
state: link
|
|
||||||
force: true
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
|
|
||||||
- name: Enable emacs user service from package
|
|
||||||
tags: [services, emacs]
|
|
||||||
ansible.builtin.systemd:
|
|
||||||
name: emacs.service
|
|
||||||
enabled: true
|
|
||||||
scope: user
|
|
||||||
become_user: "{{ username }}"
|
|
||||||
|
|
||||||
- name: Deploy gpg-agent.conf for GNOME (pinentry-gnome3, no ssh-support)
|
|
||||||
tags: [dotfiles, dotfiles:desktop, gnome]
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: "{{ playbook_dir }}/../dotfiles/desktop/.gnupg/gpg-agent.arch.conf"
|
|
||||||
dest: "{{ user_home }}/.gnupg/gpg-agent.conf"
|
|
||||||
owner: "{{ username }}"
|
|
||||||
group: "{{ user_group }}"
|
|
||||||
mode: "0600"
|
|
||||||
|
|
||||||
- name: Enable gnome-keyring PAM auth hook for GDM
|
|
||||||
tags: [gnome]
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /etc/pam.d/gdm-password
|
|
||||||
insertafter: '^auth\s+include\s+system-local-login$'
|
|
||||||
line: "auth optional pam_gnome_keyring.so"
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Enable gnome-keyring PAM session hook for GDM
|
|
||||||
tags: [gnome]
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /etc/pam.d/gdm-password
|
|
||||||
insertafter: '^session\s+include\s+system-local-login$'
|
|
||||||
line: "session optional pam_gnome_keyring.so auto_start"
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Enable gnome-keyring PAM password hook for GDM
|
|
||||||
tags: [gnome]
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: /etc/pam.d/gdm-password
|
|
||||||
insertafter: '^password\s+include\s+system-local-login$'
|
|
||||||
line: "password optional pam_gnome_keyring.so use_authtok"
|
|
||||||
state: present
|
|
||||||
@@ -1,75 +1,16 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure systemd-boot loader entries directory exists
|
- name: Configure GRUB kernel parameters for NVIDIA hybrid graphics
|
||||||
tags: [packages, nvidia]
|
tags: [packages, nvidia]
|
||||||
ansible.builtin.file:
|
ansible.builtin.lineinfile:
|
||||||
path: "{{ host_systemd_boot_esp_path }}/loader/entries"
|
path: /etc/default/grub
|
||||||
state: directory
|
regexp: '^GRUB_CMDLINE_LINUX='
|
||||||
owner: root
|
line: 'GRUB_CMDLINE_LINUX="rd.luks.uuid=1e15d159-5d05-4a1f-9639-ac200dff9f9c rootflags=subvol=@ apparmor=1 security=apparmor nouveau.modeset=0 nvidia-drm.modeset=1"'
|
||||||
group: root
|
state: present
|
||||||
mode: "0755"
|
|
||||||
when: host_systemd_boot_esp_path is defined
|
|
||||||
|
|
||||||
- name: Check whether systemd-boot is installed
|
- name: Regenerate GRUB configuration
|
||||||
tags: [packages, nvidia]
|
tags: [packages, nvidia]
|
||||||
ansible.builtin.command:
|
ansible.builtin.command: grub-mkconfig -o /boot/grub/grub.cfg
|
||||||
argv:
|
|
||||||
- bootctl
|
|
||||||
- "--esp-path={{ host_systemd_boot_esp_path }}"
|
|
||||||
- is-installed
|
|
||||||
register: nymph_systemd_boot_state
|
|
||||||
changed_when: false
|
|
||||||
failed_when: false
|
|
||||||
when:
|
|
||||||
- host_systemd_boot_esp_path is defined
|
|
||||||
- not ansible_check_mode
|
|
||||||
|
|
||||||
- name: Install systemd-boot
|
|
||||||
tags: [packages, nvidia]
|
|
||||||
ansible.builtin.command:
|
|
||||||
argv:
|
|
||||||
- bootctl
|
|
||||||
- "--esp-path={{ host_systemd_boot_esp_path }}"
|
|
||||||
- install
|
|
||||||
changed_when: true
|
changed_when: true
|
||||||
when:
|
|
||||||
- host_systemd_boot_esp_path is defined
|
|
||||||
- not ansible_check_mode
|
|
||||||
- nymph_systemd_boot_state.rc | default(1) != 0
|
|
||||||
|
|
||||||
- name: Configure systemd-boot loader defaults
|
|
||||||
tags: [packages, nvidia]
|
|
||||||
ansible.builtin.copy:
|
|
||||||
dest: "{{ host_systemd_boot_esp_path }}/loader/loader.conf"
|
|
||||||
content: |
|
|
||||||
default {{ host_systemd_boot_default }}
|
|
||||||
timeout {{ host_systemd_boot_timeout | default(3) }}
|
|
||||||
console-mode {{ host_systemd_boot_console_mode | default('max') }}
|
|
||||||
editor {{ 'yes' if host_systemd_boot_editor | default(false) else 'no' }}
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
when:
|
|
||||||
- host_systemd_boot_esp_path is defined
|
|
||||||
- host_systemd_boot_default is defined
|
|
||||||
|
|
||||||
- name: Configure systemd-boot Arch entries
|
|
||||||
tags: [packages, nvidia]
|
|
||||||
ansible.builtin.copy:
|
|
||||||
dest: "{{ host_systemd_boot_esp_path }}/loader/entries/{{ item.filename }}"
|
|
||||||
content: |-
|
|
||||||
title {{ item.title }}
|
|
||||||
linux {{ item.linux }}
|
|
||||||
{% for initrd in item.initrds | default([]) %}
|
|
||||||
initrd {{ initrd }}
|
|
||||||
{% endfor %}
|
|
||||||
options {{ item.options }}
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
loop: "{{ host_systemd_boot_entries | default([]) }}"
|
|
||||||
loop_control:
|
|
||||||
label: "{{ item.filename }}"
|
|
||||||
when: host_systemd_boot_esp_path is defined
|
|
||||||
|
|
||||||
- name: Configure NVIDIA power management for hybrid graphics
|
- name: Configure NVIDIA power management for hybrid graphics
|
||||||
tags: [packages, nvidia]
|
tags: [packages, nvidia]
|
||||||
|
|||||||
@@ -19,11 +19,3 @@
|
|||||||
loop_control:
|
loop_control:
|
||||||
label: "{{ item }}"
|
label: "{{ item }}"
|
||||||
|
|
||||||
- name: Enable systemd services without starting them
|
|
||||||
tags: [services, packages]
|
|
||||||
ansible.builtin.systemd:
|
|
||||||
name: "{{ item }}"
|
|
||||||
enabled: true
|
|
||||||
loop: "{{ enabled_services_only | default([]) }}"
|
|
||||||
loop_control:
|
|
||||||
label: "{{ item }}"
|
|
||||||
|
|||||||
@@ -27,16 +27,6 @@
|
|||||||
- profile_desktop_i3
|
- profile_desktop_i3
|
||||||
- profile_desktop_host
|
- profile_desktop_host
|
||||||
|
|
||||||
- hosts: arch
|
|
||||||
become: true
|
|
||||||
|
|
||||||
roles:
|
|
||||||
- packages_arch
|
|
||||||
- services_systemd
|
|
||||||
- profile_desktop_common
|
|
||||||
- profile_desktop_gnome
|
|
||||||
- profile_desktop_host
|
|
||||||
|
|
||||||
- hosts: workstation_dev_ubuntu
|
- hosts: workstation_dev_ubuntu
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
|
|||||||
@@ -1,250 +0,0 @@
|
|||||||
[Default Applications]
|
|
||||||
text/html=userapp-Firefox-91DVN3.desktop
|
|
||||||
x-scheme-handler/http=userapp-Firefox-91DVN3.desktop
|
|
||||||
x-scheme-handler/https=userapp-Firefox-91DVN3.desktop
|
|
||||||
x-scheme-handler/about=firefox.desktop
|
|
||||||
x-scheme-handler/unknown=firefox.desktop
|
|
||||||
application/pdf=com.github.xournalpp.xournalpp.desktop
|
|
||||||
application/json=emacs.desktop
|
|
||||||
application/json5=emacs.desktop
|
|
||||||
application/xml=emacs.desktop
|
|
||||||
application/xml-external-parsed-entity=emacs.desktop
|
|
||||||
application/x-shellscript=emacs.desktop
|
|
||||||
application/yaml=emacs.desktop
|
|
||||||
inode/directory=org.gnome.Nautilus.desktop
|
|
||||||
audio/aac=mpv.desktop
|
|
||||||
audio/flac=mpv.desktop
|
|
||||||
audio/m4a=mpv.desktop
|
|
||||||
audio/mp3=mpv.desktop
|
|
||||||
audio/mpeg=mpv.desktop
|
|
||||||
audio/mp4=mpv.desktop
|
|
||||||
audio/ogg=mpv.desktop
|
|
||||||
audio/opus=mpv.desktop
|
|
||||||
audio/vnd.wave=mpv.desktop
|
|
||||||
audio/wav=mpv.desktop
|
|
||||||
audio/webm=mpv.desktop
|
|
||||||
audio/x-aac=mpv.desktop
|
|
||||||
audio/x-m4a=mpv.desktop
|
|
||||||
audio/x-matroska=mpv.desktop
|
|
||||||
audio/x-mp3=mpv.desktop
|
|
||||||
audio/x-mpegurl=mpv.desktop
|
|
||||||
audio/x-ms-wma=mpv.desktop
|
|
||||||
audio/x-ogg=mpv.desktop
|
|
||||||
audio/x-pn-wav=mpv.desktop
|
|
||||||
audio/x-scpls=mpv.desktop
|
|
||||||
audio/x-wav=mpv.desktop
|
|
||||||
video/3gp=mpv.desktop
|
|
||||||
video/3gpp=mpv.desktop
|
|
||||||
video/3gpp2=mpv.desktop
|
|
||||||
video/avi=mpv.desktop
|
|
||||||
video/mp2t=mpv.desktop
|
|
||||||
video/mp4=mpv.desktop
|
|
||||||
video/mp4v-es=mpv.desktop
|
|
||||||
video/mpeg=mpv.desktop
|
|
||||||
video/ogg=mpv.desktop
|
|
||||||
video/quicktime=mpv.desktop
|
|
||||||
video/vnd.avi=mpv.desktop
|
|
||||||
video/webm=mpv.desktop
|
|
||||||
video/x-avi=mpv.desktop
|
|
||||||
video/x-flc=mpv.desktop
|
|
||||||
video/x-flic=mpv.desktop
|
|
||||||
video/x-flv=mpv.desktop
|
|
||||||
video/x-m4v=mpv.desktop
|
|
||||||
video/x-matroska=mpv.desktop
|
|
||||||
video/x-mpeg2=mpv.desktop
|
|
||||||
video/x-ms-asf=mpv.desktop
|
|
||||||
video/x-ms-wmv=mpv.desktop
|
|
||||||
video/x-msvideo=mpv.desktop
|
|
||||||
video/x-ogm+ogg=mpv.desktop
|
|
||||||
video/x-theora=mpv.desktop
|
|
||||||
video/x-theora+ogg=mpv.desktop
|
|
||||||
application/msword=libreoffice-writer.desktop
|
|
||||||
application/rtf=libreoffice-writer.desktop
|
|
||||||
application/vnd.ms-word=libreoffice-writer.desktop
|
|
||||||
application/vnd.ms-word.document.macroEnabled.12=libreoffice-writer.desktop
|
|
||||||
application/vnd.ms-word.template.macroEnabled.12=libreoffice-writer.desktop
|
|
||||||
application/vnd.oasis.opendocument.text=libreoffice-writer.desktop
|
|
||||||
application/vnd.oasis.opendocument.text-template=libreoffice-writer.desktop
|
|
||||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop
|
|
||||||
application/vnd.openxmlformats-officedocument.wordprocessingml.template=libreoffice-writer.desktop
|
|
||||||
application/x-doc=libreoffice-writer.desktop
|
|
||||||
text/rtf=libreoffice-writer.desktop
|
|
||||||
application/csv=libreoffice-calc.desktop
|
|
||||||
application/excel=libreoffice-calc.desktop
|
|
||||||
application/msexcel=libreoffice-calc.desktop
|
|
||||||
application/tab-separated-values=libreoffice-calc.desktop
|
|
||||||
application/vnd.ms-excel=libreoffice-calc.desktop
|
|
||||||
application/vnd.ms-excel.sheet.binary.macroEnabled.12=libreoffice-calc.desktop
|
|
||||||
application/vnd.ms-excel.sheet.macroEnabled.12=libreoffice-calc.desktop
|
|
||||||
application/vnd.ms-excel.template.macroEnabled.12=libreoffice-calc.desktop
|
|
||||||
application/vnd.oasis.opendocument.spreadsheet=libreoffice-calc.desktop
|
|
||||||
application/vnd.oasis.opendocument.spreadsheet-template=libreoffice-calc.desktop
|
|
||||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop
|
|
||||||
application/vnd.openxmlformats-officedocument.spreadsheetml.template=libreoffice-calc.desktop
|
|
||||||
application/x-dos_ms_excel=libreoffice-calc.desktop
|
|
||||||
application/x-excel=libreoffice-calc.desktop
|
|
||||||
application/x-ms-excel=libreoffice-calc.desktop
|
|
||||||
application/x-msexcel=libreoffice-calc.desktop
|
|
||||||
text/comma-separated-values=libreoffice-calc.desktop
|
|
||||||
text/csv=libreoffice-calc.desktop
|
|
||||||
text/tab-separated-values=libreoffice-calc.desktop
|
|
||||||
text/x-comma-separated-values=libreoffice-calc.desktop
|
|
||||||
text/x-csv=libreoffice-calc.desktop
|
|
||||||
application/mspowerpoint=libreoffice-impress.desktop
|
|
||||||
application/vnd.ms-powerpoint=libreoffice-impress.desktop
|
|
||||||
application/vnd.ms-powerpoint.presentation.macroEnabled.12=libreoffice-impress.desktop
|
|
||||||
application/vnd.ms-powerpoint.slideshow.macroEnabled.12=libreoffice-impress.desktop
|
|
||||||
application/vnd.ms-powerpoint.template.macroEnabled.12=libreoffice-impress.desktop
|
|
||||||
application/vnd.oasis.opendocument.presentation=libreoffice-impress.desktop
|
|
||||||
application/vnd.oasis.opendocument.presentation-template=libreoffice-impress.desktop
|
|
||||||
application/vnd.openxmlformats-officedocument.presentationml.presentation=libreoffice-impress.desktop
|
|
||||||
application/vnd.openxmlformats-officedocument.presentationml.slide=libreoffice-impress.desktop
|
|
||||||
application/vnd.openxmlformats-officedocument.presentationml.slideshow=libreoffice-impress.desktop
|
|
||||||
application/vnd.openxmlformats-officedocument.presentationml.template=libreoffice-impress.desktop
|
|
||||||
text/markdown=emacs.desktop
|
|
||||||
text/org=emacs.desktop
|
|
||||||
text/plain=emacs.desktop
|
|
||||||
text/rust=emacs.desktop
|
|
||||||
text/x-c++hdr=emacs.desktop
|
|
||||||
text/x-c++src=emacs.desktop
|
|
||||||
text/x-chdr=emacs.desktop
|
|
||||||
text/x-csrc=emacs.desktop
|
|
||||||
text/x-emacs-lisp=emacs.desktop
|
|
||||||
text/x-go=emacs.desktop
|
|
||||||
text/x-java=emacs.desktop
|
|
||||||
text/x-makefile=emacs.desktop
|
|
||||||
text/x-patch=emacs.desktop
|
|
||||||
text/x-python=emacs.desktop
|
|
||||||
text/x-python3=emacs.desktop
|
|
||||||
text/x-readme=emacs.desktop
|
|
||||||
text/x-rst=emacs.desktop
|
|
||||||
text/x-tex=emacs.desktop
|
|
||||||
text/x-texinfo=emacs.desktop
|
|
||||||
x-scheme-handler/chrome=userapp-Firefox-91DVN3.desktop
|
|
||||||
application/x-extension-htm=userapp-Firefox-91DVN3.desktop
|
|
||||||
application/x-extension-html=userapp-Firefox-91DVN3.desktop
|
|
||||||
application/x-extension-shtml=userapp-Firefox-91DVN3.desktop
|
|
||||||
application/xhtml+xml=userapp-Firefox-91DVN3.desktop
|
|
||||||
application/x-extension-xhtml=userapp-Firefox-91DVN3.desktop
|
|
||||||
application/x-extension-xht=userapp-Firefox-91DVN3.desktop
|
|
||||||
|
|
||||||
[Added Associations]
|
|
||||||
application/json=emacs.desktop;
|
|
||||||
application/json5=emacs.desktop;
|
|
||||||
application/pdf=com.github.xournalpp.xournalpp.desktop;
|
|
||||||
application/xml=emacs.desktop;
|
|
||||||
application/xml-external-parsed-entity=emacs.desktop;
|
|
||||||
application/x-shellscript=emacs.desktop;
|
|
||||||
application/yaml=emacs.desktop;
|
|
||||||
text/plain=emacs.desktop;
|
|
||||||
inode/directory=org.gnome.Nautilus.desktop;
|
|
||||||
audio/aac=mpv.desktop;
|
|
||||||
audio/flac=mpv.desktop;
|
|
||||||
audio/m4a=mpv.desktop;
|
|
||||||
audio/mp3=mpv.desktop;
|
|
||||||
audio/mpeg=mpv.desktop;
|
|
||||||
audio/mp4=mpv.desktop;
|
|
||||||
audio/ogg=mpv.desktop;
|
|
||||||
audio/opus=mpv.desktop;
|
|
||||||
audio/vnd.wave=mpv.desktop;
|
|
||||||
audio/wav=mpv.desktop;
|
|
||||||
audio/webm=mpv.desktop;
|
|
||||||
audio/x-aac=mpv.desktop;
|
|
||||||
audio/x-m4a=mpv.desktop;
|
|
||||||
audio/x-matroska=mpv.desktop;
|
|
||||||
audio/x-mp3=mpv.desktop;
|
|
||||||
audio/x-mpegurl=mpv.desktop;
|
|
||||||
audio/x-ms-wma=mpv.desktop;
|
|
||||||
audio/x-ogg=mpv.desktop;
|
|
||||||
audio/x-pn-wav=mpv.desktop;
|
|
||||||
audio/x-scpls=mpv.desktop;
|
|
||||||
audio/x-wav=mpv.desktop;
|
|
||||||
video/3gp=mpv.desktop;
|
|
||||||
video/3gpp=mpv.desktop;
|
|
||||||
video/3gpp2=mpv.desktop;
|
|
||||||
video/avi=mpv.desktop;
|
|
||||||
video/mp2t=mpv.desktop;
|
|
||||||
video/mp4=mpv.desktop;
|
|
||||||
video/mp4v-es=mpv.desktop;
|
|
||||||
video/mpeg=mpv.desktop;
|
|
||||||
video/ogg=mpv.desktop;
|
|
||||||
video/quicktime=mpv.desktop;
|
|
||||||
video/vnd.avi=mpv.desktop;
|
|
||||||
video/webm=mpv.desktop;
|
|
||||||
video/x-avi=mpv.desktop;
|
|
||||||
video/x-flc=mpv.desktop;
|
|
||||||
video/x-flic=mpv.desktop;
|
|
||||||
video/x-flv=mpv.desktop;
|
|
||||||
video/x-m4v=mpv.desktop;
|
|
||||||
video/x-matroska=mpv.desktop;
|
|
||||||
video/x-mpeg2=mpv.desktop;
|
|
||||||
video/x-ms-asf=mpv.desktop;
|
|
||||||
video/x-ms-wmv=mpv.desktop;
|
|
||||||
video/x-msvideo=mpv.desktop;
|
|
||||||
video/x-ogm+ogg=mpv.desktop;
|
|
||||||
video/x-theora=mpv.desktop;
|
|
||||||
video/x-theora+ogg=mpv.desktop;
|
|
||||||
application/msword=libreoffice-writer.desktop;
|
|
||||||
application/rtf=libreoffice-writer.desktop;
|
|
||||||
application/vnd.ms-word=libreoffice-writer.desktop;
|
|
||||||
application/vnd.ms-word.document.macroEnabled.12=libreoffice-writer.desktop;
|
|
||||||
application/vnd.ms-word.template.macroEnabled.12=libreoffice-writer.desktop;
|
|
||||||
application/vnd.oasis.opendocument.text=libreoffice-writer.desktop;
|
|
||||||
application/vnd.oasis.opendocument.text-template=libreoffice-writer.desktop;
|
|
||||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;
|
|
||||||
application/vnd.openxmlformats-officedocument.wordprocessingml.template=libreoffice-writer.desktop;
|
|
||||||
application/x-doc=libreoffice-writer.desktop;
|
|
||||||
text/rtf=libreoffice-writer.desktop;
|
|
||||||
application/csv=libreoffice-calc.desktop;
|
|
||||||
application/excel=libreoffice-calc.desktop;
|
|
||||||
application/msexcel=libreoffice-calc.desktop;
|
|
||||||
application/tab-separated-values=libreoffice-calc.desktop;
|
|
||||||
application/vnd.ms-excel=libreoffice-calc.desktop;
|
|
||||||
application/vnd.ms-excel.sheet.binary.macroEnabled.12=libreoffice-calc.desktop;
|
|
||||||
application/vnd.ms-excel.sheet.macroEnabled.12=libreoffice-calc.desktop;
|
|
||||||
application/vnd.ms-excel.template.macroEnabled.12=libreoffice-calc.desktop;
|
|
||||||
application/vnd.oasis.opendocument.spreadsheet=libreoffice-calc.desktop;
|
|
||||||
application/vnd.oasis.opendocument.spreadsheet-template=libreoffice-calc.desktop;
|
|
||||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop;
|
|
||||||
application/vnd.openxmlformats-officedocument.spreadsheetml.template=libreoffice-calc.desktop;
|
|
||||||
application/x-dos_ms_excel=libreoffice-calc.desktop;
|
|
||||||
application/x-excel=libreoffice-calc.desktop;
|
|
||||||
application/x-ms-excel=libreoffice-calc.desktop;
|
|
||||||
application/x-msexcel=libreoffice-calc.desktop;
|
|
||||||
text/comma-separated-values=libreoffice-calc.desktop;
|
|
||||||
text/csv=libreoffice-calc.desktop;
|
|
||||||
text/tab-separated-values=libreoffice-calc.desktop;
|
|
||||||
text/x-comma-separated-values=libreoffice-calc.desktop;
|
|
||||||
text/x-csv=libreoffice-calc.desktop;
|
|
||||||
application/mspowerpoint=libreoffice-impress.desktop;
|
|
||||||
application/vnd.ms-powerpoint=libreoffice-impress.desktop;
|
|
||||||
application/vnd.ms-powerpoint.presentation.macroEnabled.12=libreoffice-impress.desktop;
|
|
||||||
application/vnd.ms-powerpoint.slideshow.macroEnabled.12=libreoffice-impress.desktop;
|
|
||||||
application/vnd.ms-powerpoint.template.macroEnabled.12=libreoffice-impress.desktop;
|
|
||||||
application/vnd.oasis.opendocument.presentation=libreoffice-impress.desktop;
|
|
||||||
application/vnd.oasis.opendocument.presentation-template=libreoffice-impress.desktop;
|
|
||||||
application/vnd.openxmlformats-officedocument.presentationml.presentation=libreoffice-impress.desktop;
|
|
||||||
application/vnd.openxmlformats-officedocument.presentationml.slide=libreoffice-impress.desktop;
|
|
||||||
application/vnd.openxmlformats-officedocument.presentationml.slideshow=libreoffice-impress.desktop;
|
|
||||||
application/vnd.openxmlformats-officedocument.presentationml.template=libreoffice-impress.desktop;
|
|
||||||
text/markdown=emacs.desktop;
|
|
||||||
text/org=emacs.desktop;
|
|
||||||
text/rust=emacs.desktop;
|
|
||||||
text/x-c++hdr=emacs.desktop;
|
|
||||||
text/x-c++src=emacs.desktop;
|
|
||||||
text/x-chdr=emacs.desktop;
|
|
||||||
text/x-csrc=emacs.desktop;
|
|
||||||
text/x-emacs-lisp=emacs.desktop;
|
|
||||||
text/x-go=emacs.desktop;
|
|
||||||
text/x-java=emacs.desktop;
|
|
||||||
text/x-makefile=emacs.desktop;
|
|
||||||
text/x-patch=emacs.desktop;
|
|
||||||
text/x-python=emacs.desktop;
|
|
||||||
text/x-python3=emacs.desktop;
|
|
||||||
text/x-readme=emacs.desktop;
|
|
||||||
text/x-rst=emacs.desktop;
|
|
||||||
text/x-tex=emacs.desktop;
|
|
||||||
text/x-texinfo=emacs.desktop;
|
|
||||||
x-scheme-handler/http=userapp-Firefox-91DVN3.desktop;
|
|
||||||
x-scheme-handler/https=userapp-Firefox-91DVN3.desktop;
|
|
||||||
x-scheme-handler/chrome=userapp-Firefox-91DVN3.desktop;
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
pinentry-program /usr/bin/pinentry-gnome3
|
|
||||||
default-cache-ttl 600
|
|
||||||
max-cache-ttl 7200
|
|
||||||
Reference in New Issue
Block a user