finalized Lix setup
This commit is contained in:
parent
4274d2db55
commit
67a413bce8
5 changed files with 26 additions and 14 deletions
|
|
@ -9,11 +9,15 @@
|
|||
- System packages added: `syncthing`, `uv`, `vscodium`, `waydroid`;
|
||||
- System flatpaks added: Telegram Desktop, Zen Browser
|
||||
|
||||
## First login behavior
|
||||
## First login
|
||||
- Triggers for each non-root user on their first session.
|
||||
- Writes state to `~/.local/state/deinonyxus/curator-init.done`; delete it to rerun.
|
||||
- Bootstraps `~/.config/curator/inventory.toml` and runs `curator switch` with the packages set above.
|
||||
|
||||
## Just Recipes
|
||||
- `upgrade-nix`: upgrades to the latest version of Lix via the user profile. Replaces `nix upgrade-nix` which does not work with an immutable lowerdir `/nix/store` folder
|
||||
- `install-nix-software-center`: installs a graphical app store for Nix packages
|
||||
|
||||
## Install / Rebase
|
||||
|
||||
```bash
|
||||
|
|
@ -30,7 +34,7 @@ The `latest` tag always tracks the latest build for the Fedora base set in `reci
|
|||
|
||||
## Building locally
|
||||
```bash
|
||||
bluebuild build --recipe recipes/recipe.yml
|
||||
bluebuild build
|
||||
```
|
||||
|
||||
## Signature verification
|
||||
|
|
|
|||
7
files/justfiles/nixpkgs.just
Normal file
7
files/justfiles/nixpkgs.just
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
upgrade-nix:
|
||||
echo 'Installing latest Lix package'
|
||||
nix profile install nixpkgs#lix && nix upgrade-nix
|
||||
|
||||
install-nix-software-center:
|
||||
echo 'Installing Nix Software Center'
|
||||
nix profile install github:snowfallorg/nix-software-center
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# === INSTALL LIX FROM RPM ===
|
||||
|
||||
rpm_url="https://nix-community.github.io/nix-installers/lix/x86_64/lix-multi-user-2.91.1.rpm"
|
||||
|
||||
install -d /usr/share/nix-store /var/lib/nix-store /var/cache/nix-store /nix /etc/nix
|
||||
|
|
@ -11,6 +13,9 @@ export SYSTEMD_OFFLINE=1
|
|||
# Install the RPM; allow missing GPG key since we fetch directly by URL.
|
||||
dnf install -y --nogpgcheck "$rpm_url"
|
||||
|
||||
|
||||
# === ADD MISSING LIX CACHE ACCESS PUBKEY ===
|
||||
|
||||
nix_conf=/etc/nix/nix.conf
|
||||
lix_cache_url="https://cache.lix.systems/"
|
||||
lix_cache_key="cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
|
||||
|
|
@ -35,14 +40,8 @@ ensure_list_value() {
|
|||
ensure_list_value "substituters" "$lix_cache_url"
|
||||
ensure_list_value "trusted-public-keys" "$lix_cache_key"
|
||||
|
||||
# # Ensure the overlay mount service is enabled so /nix is populated on boot.
|
||||
# mkdir -p /etc/systemd/system/multi-user.target.wants
|
||||
# ln -sf /usr/lib/systemd/system/nix-overlay.service /etc/systemd/system/multi-user.target.wants/nix-overlay.service
|
||||
# === MOVE INITIAL NIX STORE TO LOWERDIR ===
|
||||
|
||||
# Move the pre-populated store out of /nix so it can serve as the immutable lowerdir.
|
||||
if compgen -G "/nix/*" >/dev/null; then
|
||||
mv /nix/* /usr/share/nix-store/
|
||||
fi
|
||||
|
||||
# The RPM %post handles sysusers/tmpfiles; if we ran with SYSTEMD_OFFLINE the
|
||||
# post scripts are still executed, so no extra calls are needed here.
|
||||
|
|
@ -6,6 +6,4 @@ curator_git="--from git+https://codeberg.org/randogoth/curator/"
|
|||
uvx $curator_git curator init
|
||||
uvx $curator_git curator add nix:mc nix:micro nix:devbox
|
||||
uvx $curator_git curator switch
|
||||
uv tool install $curator_git curator
|
||||
|
||||
nix upgrade-nix
|
||||
uv tool install $curator_git curator
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
# image will be published to ghcr.io/<user>/<name>
|
||||
name: deinonyxus
|
||||
# description will be included in the image's metadata
|
||||
description: This is my personal spin based on the latest bluefin image.
|
||||
description: Bluefin DX with Nix and sprinkles.
|
||||
|
||||
# the base image to build on top of (FROM) and the version tag to use
|
||||
base-image: ghcr.io/ublue-os/bluefin-dx
|
||||
|
|
@ -20,7 +20,7 @@ modules:
|
|||
|
||||
- type: script
|
||||
scripts:
|
||||
- install-nix.sh
|
||||
- install-lix.sh
|
||||
|
||||
- type: systemd
|
||||
system:
|
||||
|
|
@ -60,6 +60,10 @@ modules:
|
|||
- containerd
|
||||
- moby-engine
|
||||
|
||||
- type: justfiles
|
||||
include:
|
||||
- nixpkgs.just
|
||||
|
||||
- type: default-flatpaks
|
||||
configurations:
|
||||
- notify: true # Send notification after install/uninstall is finished (true/false)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue