Commit Graph

46 Commits

Author SHA1 Message Date
Ben Grande
56a4296421
fix: skip YUM weak dependencies installation
Fixes: https://github.com/ben-grande/qusal/issues/96
2024-08-16 14:03:58 +02:00
Ben Grande
bdd4c789c1
fix: avoid echo usage
Echo can interpret operand as an option and checking every variable to
be echoed is troublesome while with printf, if the format specifier is
present before the operand, printing as string can be enforced.
2024-08-06 18:15:24 +02:00
Ben Grande
1b2f1ba941
fix: avoid operand evaluation as argument
Explicit end option parsing as the shell can be quite dangerous without
it.
2024-08-06 17:13:25 +02:00
Ben Grande
a713cef2a0
fix: stop parse options on double dashes 2024-07-15 11:07:27 +02:00
Ben Grande
cf432651b3
fix: shell syntax typos 2024-07-15 10:08:19 +02:00
Ben Grande
224312ed42
feat: enable all optional shellcheck validations
Make shell a little bit safer with:

- add-default-case
- check-extra-masked-returns
- check-set-e-suppressed
- quote-safe-variables
- check-unassigned-uppercase

Although there are some stylistic decisions for uniformity:

- avoid-nullary-conditions
- deprecated-which
- require-variable-braces
2024-07-10 14:36:05 +02:00
Ben Grande
011a71a36d
style: limit line length per file extension
Editorconfig can only act based on file extension and path, not
attributes, it remains a mean only for multiple collaborators to use the
same configuration on their editor. When it is too restrictive, such as
not considering the file syntax, use a lint tool for the specific file
type instead of trusting editorconfig. Changes were made to increase
readability.
2024-07-09 17:42:07 +02:00
Ben Grande
523bca2327
fix: conform files to editorconfig specification 2024-07-08 17:26:34 +02:00
Ben Grande
383c840f2f
doc: lint markdown files
Only way to have a unified markdown syntax is to enforce the wanted
syntax by linting the files. Don't rely on the many markdown syntaxes,
be consistent.
2024-07-04 17:27:31 +02:00
Ben Grande
f903c0e3df
feat: get GUI user with salt modules 2024-06-28 19:28:49 +02:00
Ben Grande
c2fc4b524a
feat: show origin template features of any class
For: https://github.com/ben-grande/qusal/issues/69
2024-06-26 10:10:27 +02:00
Ben Grande
e9801c8535
feat: helper to show mgmt property information
For: https://github.com/ben-grande/qusal/issues/69
2024-06-24 11:14:31 +02:00
Ben Grande
c84dfea48e
fix: generate RPM Specs for Qubes Builder V2
It doesn't checkout the current directory when querying the spec, so we
provide the already modified version of the spec.
2024-06-21 17:00:06 +02:00
Ben Grande
8d5c1c9bb4
chore: typo in date command 2024-06-18 10:45:47 +02:00
Ben Grande
fcf7fe9623
fix: guarantee a fully updated system on bootstrap
If user just installed Qubes, the full templates can have updates
available. If user restored backups of templates and standalones, they
could also have updates available. Available updates can contain fixes
that if not applied, can make the states fail, such as a buggy salt
package and Qrexec service that can make a state fail in case the
full outdated templates and standalones are responsible for the
functionality specially of management_dispvm, updatevm, default_netvm
and qubes.UpdatesProxy service.
2024-06-09 12:55:48 +02:00
Ben Grande
1003d62995
fix: KDE with outdated require id 2024-06-08 06:17:09 +02:00
Ben Grande
efc3984df3
feat: allow terminal and file manager choice
The gnome-terminal can't start as root, related to dbus.
2024-06-07 15:27:44 +02:00
Ben Grande
34d5d36518
feat: add state for desktop i3 and AwesomeWM 2024-06-04 10:43:16 +02:00
Ben Grande
efcf8c7723
fix: unify screenshot tool existence logic
Fixes: https://github.com/ben-grande/qusal/issues/51
2024-05-24 23:30:43 +02:00
Ben Grande
444672e999
fix: prefer maim for screenshot
- Maim causes no errors and has region and window capabilities;
- Scrot region capture puts some weird borders when dragging the mouse;
- Spectacle allows editing but is too feature rich (complicated); and
- Xfce4-screenshooter does not allow selecting both region and window.

Fixes: https://github.com/ben-grande/qusal/issues/51
2024-05-24 22:56:32 +02:00
Ben Grande
d1485990e4
doc: nested list indentation 2024-05-14 18:43:07 +02:00
Ben Grande
18204da1a2
fix: import jinja template to dom0 kde state
Fixes: https://github.com/ben-grande/qusal/issues/50
2024-05-01 03:23:19 +02:00
Ben Grande
5722a25779
fix: discover non-root username at runtime
Useful when Dom0 has the non-default username, less useful for DomUs.

Fixes: https://github.com/ben-grande/qusal/issues/43
2024-04-30 16:04:40 +02:00
Ben Grande
81bf77cabe
fix: missing load import
Fixes: https://github.com/ben-grande/qusal/issues/36
2024-03-22 16:45:29 +01:00
Ben Grande
004cb73dbf
fix: restrict supported screenshot tools 2024-03-20 10:29:44 +01:00
Ben Grande
f9ead06408 fix: remove extraneous package repository updates
Updates happens multiple times, normally 2 to 3, even if we consider a
state without includes. On states with multiple includes, it could
easily get approximately 10 updates being ran. This behavior leads to
unnecessary network bandwidth being spent and more time to run the
installation state. When the connection is slow and not using the
cacher, such as torified connections on Whonix, the installation can
occurs much faster.

Adding external repositories has to be done prior to update to ensure it
is also fetched.

Fixes: https://github.com/ben-grande/qusal/issues/29
2024-03-18 17:51:36 +01:00
Ben Grande
fc2af9b619 fix: remove colors from output of backup file 2024-03-18 15:26:05 +01:00
Ben Grande
425748ab9e fix: install screenshot dependencies
Provided in the default Dom0 installation as it brings a much better
usability and small packages.

KDE ships with kdialog but without a screenshot utility.
Xfce ships with xfce4-screenshooter but without a dialog utility.
Scrot and Zenity are minimal tools that works on both DEs and are very
small packages.

Fixes: https://github.com/ben-grande/qusal/issues/22
2024-03-15 11:03:00 +01:00
Ben Grande
134a26a0f5 feat: add screenshot helper
Comparison to upstream:

- POSIX compliant;
- Add more dialog tools: kdialog;
- Add more screenshot tools: spectacle, xfce4-screenshooter;
- Change work "Nautilus" to "File Manager";
- Fix all shellcheck messages;
- Fix wording of confusing options seen by the user;
- Fix variable names without meaning;
- Remove commented/unused code;
- Remove extraneous messages sent to the user;
- Remove Imgur support; and
- Remove ImageMagic, use tools that support editing: spectacle.

Fixes: https://github.com/ben-grande/qusal/issues/22
2024-03-13 17:15:24 +01:00
Ben Grande
e7a7649a07 fix: remove dom0 port forwarding default install
Fixes: https://github.com/ben-grande/qusal/issues/25
2024-02-26 13:53:12 +01:00
Ben Grande
f3953ebd24 fix: convert backup profile to example type 2024-02-24 22:58:15 +01:00
Ben Grande
766a430ba8 fix: typo in file name
Fixes: https://github.com/ben-grande/qusal/issues/21
2024-02-23 19:06:52 +01:00
Ben Grande
5605ec7885 doc: prefix qubesctl with sudo
Fixes: https://github.com/ben-grande/qusal/issues/20
2024-02-23 16:55:11 +01:00
Ben Grande
f513f64065 feat: better dom0 terminal usability
These helpers were in the dotfiles submodule, but they are very useful
and makes sense to port them to this project, especially when in need to
update Qusal.

Fixes: https://github.com/ben-grande/qusal/issues/18
Fixes: https://github.com/ben-grande/qusal/issues/21
2024-02-23 16:47:27 +01:00
Ben Grande
6efcc1da77 chore: copyright update 2024-01-29 16:49:54 +01:00
Ben Grande
b01f2d213a chore: move port forward to dom0 formula
The script can be used with sys-cacher, sys-pihole, sys-syncthing,
sys-ssh and many services you'd want to forward, make it reusable.
2024-01-29 12:11:51 +01:00
Ben Grande
0887c24a19 fix: remove unicode from used files
No considering license, copyright notices kept outside of the installed
directories, but excluding keys that have unicode in their comment
section.
2024-01-18 15:23:52 +01:00
Ben Grande
23bccebaab fix: dom0 as sys-git client
The salt module git.config_get does not work in Dom0 and does not have
a key to set the system gitconfig.
2024-01-18 09:21:21 +01:00
Ben Grande
b86486a793 feat: qubes-vm-update global settings 2024-01-02 18:04:54 +01:00
Ben Grande
ec9142bf27 fix: pci regain with invalid syntax 2023-12-31 07:49:25 +01:00
Ben Grande
250c877723 fix: regain pci script not managed 2023-12-27 19:58:01 +01:00
Ben Grande
c2f25844da feat: provide development environment for dom0 2023-12-20 17:17:05 +01:00
Ben Grande
b4b7f27492 fix: qubes-update superseded by qubes-vm-update 2023-12-19 14:44:33 +01:00
Ben Grande
bcc8165620 fix: salt syntax with missing characters 2023-12-19 13:02:04 +01:00
Ben Grande
963e72c7ed chore: Fix unman copyright contact 2023-11-13 18:18:06 +00:00
Ben Grande
5eebd789ed refactor: initial commit 2023-11-13 14:33:28 +00:00