mirror of
https://github.com/gaschz/dotfiles.git
synced 2025-12-27 01:24:27 +01:00
The dotfiles provides hardened configuration as well as usability settings, but it has downsides: - Even though some programs allowing including extra files, not all of them do; - Experienced users wants their own configuration that can conflict in file path; - Adds a lot of lines to review that is not strictly necessary for Qusal to work. With this change, users can set pillar values to disable specific components or all components. For: https://github.com/ben-grande/dotfiles/pull/1 For: https://github.com/ben-grande/qusal/issues/17 Co-authored-by: Ben Grande <ben.grande.b@gmail.com>
80 lines
2.0 KiB
Plaintext
80 lines
2.0 KiB
Plaintext
{#
|
|
SPDX-FileCopyrightText: 2023 - 2025 Benjamin Grande M. S. <ben.grande.b@gmail.com>
|
|
SPDX-FileCopyrightText: 2024 seven-beep <ebn@entreparentheses.xyz>
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
|
#}
|
|
|
|
{%- if salt["pillar.get"]("qusal:dotfiles:all"), default=True) or
|
|
salt["pillar.get"]("qusal:dotfiles:dom0") or
|
|
salt["pillar.get"]("qusal:dotfiles:git") or
|
|
salt["pillar.get"]("qusal:dotfiles:gtk") or
|
|
salt["pillar.get"]("qusal:dotfiles:mutt") or
|
|
salt["pillar.get"]("qusal:dotfiles:net") or
|
|
salt["pillar.get"]("qusal:dotfiles:pgp") or
|
|
salt["pillar.get"]("qusal:dotfiles:sh") or
|
|
salt["pillar.get"]("qusal:dotfiles:ssh") or
|
|
salt["pillar.get"]("qusal:dotfiles:tmux") or
|
|
salt["pillar.get"]("qusal:dotfiles:vim") or
|
|
salt["pillar.get"]("qusal:dotfiles:x11")
|
|
-%}
|
|
|
|
include:
|
|
- .copy-dom0
|
|
- .copy-git
|
|
- .copy-gtk
|
|
- .copy-mutt
|
|
- .copy-net
|
|
- .copy-pgp
|
|
- .copy-sh
|
|
- .copy-ssh
|
|
- .copy-tmux
|
|
- .copy-vim
|
|
- .copy-x11
|
|
|
|
{%- else -%}
|
|
|
|
"{{ sls }}-was-disabled-by-pillar":
|
|
test.nop
|
|
|
|
{%- endif -%}
|
|
|
|
{#
|
|
Unfortunately salt.states.file does not keep permissions when using salt-ssh.
|
|
Best option is 'file.managed mode: keep' or 'file.recurse file_mode: keep'.
|
|
https://docs.saltproject.io/en/latest/ref/states/all/salt.states.file.html
|
|
#}
|
|
{#
|
|
|
|
{%- import "dom0/gui-user.jinja" as gui_user -%}
|
|
|
|
"{{ slsdotpath }}-absent-dotfiles-client":
|
|
file.absent:
|
|
- name: /tmp/dotfiles
|
|
|
|
"{{ slsdotpath }}-copy-dotfiles-client":
|
|
file.recurse:
|
|
- source: salt://{{ slsdotpath }}/files
|
|
- name: /tmp/dotfiles
|
|
- file_mode: '0644'
|
|
- dir_mode: '0700'
|
|
- user: {{ gui_user.gui_user }}
|
|
- group: {{ gui_user.gui_user }}
|
|
|
|
"{{ slsdotpath }}-apply-dotfiles-client":
|
|
cmd.run:
|
|
- name: sh /tmp/dotfiles/setup.sh
|
|
- runas: {{ gui_user.gui_user }}
|
|
|
|
"{{ slsdotpath }}-fix-executables-permission":
|
|
file.directory:
|
|
- name: {{ gui_user.gui_user_home }}/.local/bin
|
|
- mode: '0755'
|
|
- recurse:
|
|
- mode
|
|
|
|
"{{ slsdotpath }}-absent-end-dotfiles-client":
|
|
file.absent:
|
|
- name: /tmp/dotfiles
|
|
#}
|