Skip to content

Commit 8cdec72

Browse files
committed
Merge remote-tracking branch 'origin/master' into fix-3376
2 parents 13d9494 + c161d6f commit 8cdec72

52 files changed

Lines changed: 582 additions & 319 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/github-pages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
options: --privileged
2323
steps:
2424
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
25-
- uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5
25+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
2626
- name: Install pre-dependencies
2727
run: |
2828
pacman -Sy --noconfirm tree git python-pyparted python-setuptools python-sphinx python-sphinx_rtd_theme python-build python-installer python-wheel

.github/workflows/python-build.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,16 @@ jobs:
1717
pacman-key --init
1818
pacman --noconfirm -Sy archlinux-keyring
1919
pacman --noconfirm -Syyu
20-
pacman --noconfirm -Sy python-pip python-pydantic python-pyparted pkgconfig gcc
21-
- name: Install build dependencies
22-
run: |
23-
python -m pip install --break-system-packages --upgrade pip
24-
pip install --break-system-packages --upgrade build twine wheel setuptools installer
25-
pip uninstall archinstall -y --break-system-packages
20+
pacman --noconfirm -Sy python-uv python-setuptools python-pip
21+
pacman --noconfirm -Sy python-pyparted python-pydantic
22+
- name: Remove existing archinstall (if any)
23+
run:
24+
uv pip uninstall archinstall --break-system-packages --system
2625
- name: Build archinstall
27-
run: python -m build --wheel --no-isolation
26+
run: uv build --no-build-isolation --wheel
2827
- name: Install archinstall
29-
run: python -m installer dist/*.whl
28+
run: |
29+
uv pip install dist/*.whl --break-system-packages --system --no-build --no-deps
3030
- name: Run archinstall
3131
run: |
3232
python -V

.github/workflows/python-publish.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,18 @@ jobs:
1515
steps:
1616
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
1717
- name: Set up Python
18-
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5
18+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
1919
with:
2020
python-version: '3.x'
21-
- name: Install dependencies
21+
- name: Prepare arch
2222
run: |
23-
python -m pip install --upgrade pip
24-
pip install build twine
23+
pacman-key --init
24+
pacman --noconfirm -Sy archlinux-keyring
25+
pacman --noconfirm -Syyu
26+
pacman --noconfirm -Sy python-uv python-setuptools python-pip
2527
- name: Build archinstall
2628
run: |
27-
python -m build . --wheel
29+
uv build --no-build-isolation --wheel
2830
- name: Publish archinstall to PyPi
29-
env:
30-
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
31-
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
3231
run: |
33-
twine upload dist/*
32+
uv publish --trusted-publishing always

.github/workflows/ruff.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ jobs:
55
runs-on: ubuntu-latest
66
steps:
77
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
8-
- uses: astral-sh/ruff-action@9828f49eb4cadf267b40eaa330295c412c68c1f9 # v3.2.2
8+
- uses: astral-sh/ruff-action@c6bea5606c33b5d04902374392d9233464b90660 # v3.3.0

.pre-commit-config.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,9 @@ repos:
4646
- pydantic
4747
- pydantic-settings
4848
- pytest
49+
- cryptography
4950
- repo: https://github.com/astral-sh/ruff-pre-commit
50-
rev: v0.11.5
51+
rev: v0.11.7
5152
hooks:
5253
- id: ruff
5354
args: ["check", "--select", "I", "--fix"]

PKGBUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ depends=(
3434
'ntfs-3g'
3535
)
3636
makedepends=(
37+
'python-cryptography'
3738
'python-setuptools'
3839
'python-sphinx'
3940
'python-build'

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,18 @@ To load the configuration file into `archinstall` run the following command
5656
archinstall --config <path to user config file or URL> --creds <path to user credentials config file or URL>
5757
```
5858

59+
### Credentials configuration file encryption
60+
By default all user account credentials are hashed with `yescrypt` and only the hash is stored in the saved `user_credentials.json` file.
61+
This is not possible for disk encryption password which needs to be stored in plaintext to be able to apply it.
62+
63+
However, when selecting to save configuration files, `archinstall` will prompt for the option to encrypt the `user_credentials.json` file content.
64+
A prompt will require to enter a encryption password to encrypt the file. When providing an encrypted `user_configuration.json` as a argument with `--creds <user_credentials.json>`
65+
there are multiple ways to provide the decryption key:
66+
* Provide the decryption key via the command line argument `--creds-decryption-key <password>`
67+
* Store the encryption key in the environment variable `ARCHINSTALL_CREDS_DECRYPTION_KEY` which will be read automatically
68+
* If none of the above is provided a prompt will be shown to enter the decryption key manually
69+
70+
5971
# Help or Issues
6072

6173
If you come across any issues, kindly submit your issue here on Github or post your query in the

archinstall/__init__.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@
2323
_: Callable[[str], DeferredTranslation]
2424

2525

26-
# add the custom _ as a builtin, it can now be used anywhere in the
27-
# project to mark strings as translatable with _('translate me')
28-
DeferredTranslation.install()
29-
30-
3126
# @archinstall.plugin decorator hook to programmatically add
3227
# plugins in runtime. Useful in profiles_bck and other things.
3328
def plugin(f, *args, **kwargs) -> None: # type: ignore[no-untyped-def]

archinstall/default_profiles/desktop.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def do_on_select(self) -> SelectResult:
6868
group = MenuItemGroup(items, sort_items=True, sort_case_sensitive=False)
6969
group.set_selected_by_value(self.current_selection)
7070

71-
result = SelectMenu(
71+
result = SelectMenu[Profile](
7272
group,
7373
multi=True,
7474
allow_reset=True,

archinstall/default_profiles/desktops/hyprland.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def _ask_seat_access(self) -> None:
6262
default = self.custom_settings.get('seat_access', None)
6363
group.set_default_by_value(default)
6464

65-
result = SelectMenu(
65+
result = SelectMenu[SeatAccess](
6666
group,
6767
header=header,
6868
allow_skip=False,

0 commit comments

Comments
 (0)