cd /etc/X11/Sessions
mv ./Xsession Xsession_bkp
And restart the vncserver.
i.e. some stuff and junk about Python, Perl, Matlab, Ruby, Mac X, Linux, Solaris, ...
cd /etc/X11/Sessions
mv ./Xsession Xsession_bkp
sudo chroot /mnt/nixos /bin/sh
xpra start ssh://server/ --exit-with-children --start-child=terminator --encoding=jpeg --min-speed=100 --min-quality=0 --compress=1 --bandwidth-detection=yes --pixel-depth=16 --auto-refresh-delay=0 --video-scaling=2 --dpi=96
xpra start :100 --start-child=xfce4-terminal
xpra attach ssh://curtin/:100 --encoding=jpeg --min-speed=100 --min-quality=0 --compress=1 --bandwidth-detection=yes --pixel-depth=16 --auto-refresh-delay=0 --video-scaling=2 --dpi=96
matlab -nodesktop -nosplash
rm -rf ~/.matlab/R20*/
matlab
backend = "xrender";
Vsync — disable, nouveau's support is unreliable
vsync = false;
Shadows
shadow = true;
shadow-radius = 7;
shadow-opacity = 0.75;
shadow-offset-x = -7;
shadow-offset-y = -7;
Fading
fading = true;
fade-in-step = 0.03;
fade-out-step = 0.03;
Opacity
inactive-opacity = 1.0;
frame-opacity = 1.0;
Then restart picom:
pkill picom; picom -b
That's it. You trade some visual effects (blur requires GLX) for a stable desktop. If you ever switch to the proprietary NVIDIA driver, revisit the GLX backend for better performance.
sudo emerge -av xfce-extra/xfce4-whiskermenu-plugin xfce4-cpugraph-plugin xfce-extra/xfce4-notes-plugin x11-apps/xhost app-admin/system-config-printer xdg-desktop-portal-gtk xfce4-sensors-plugin
rm ~/.config/gwenviewrc
#!/usr/bin/python
import os, sys, subprocess
def convert_wine_path(p):
return p.replace('\\', '/').replace('Z:', '')
env = os.environ.copy()
img_file = convert_wine_path(sys.argv[1]) if len(sys.argv) == 2 else None
cmd = [
'systemd-run', '--user', '--no-block',
'--setenv=GLYCIN_DISABLE_SANDBOX=1',
f'--setenv=DISPLAY={env["DISPLAY"]}',
f'--setenv=HOME={env["HOME"]}',
f'--setenv=XDG_RUNTIME_DIR={env["XDG_RUNTIME_DIR"]}',
'/usr/bin/gimp'
]
if img_file:
cmd.append(img_file)
subprocess.run(cmd)
emerge --ask net-print/cups-filters
End then
systemctl restart cups
distrobox create --nvidia -i archlinux -n abox -H ~/home-abox --init --additional-packages "systemd"
OCI runtime exec failed: exec failed: unable to start container process: error starting setns process: exec: already started
emerge -av app-containers/crun
{
"runtimes": {
"crun": {
"path": "/usr/bin/crun"
}
},
"default-runtime": "crun"
}
sudo systemctl restart docker
etc = adjtime, crypttab, default/grub, fstab, group, group+, group-, group.OLD, group.org, gshadow, gshadow+, gshadow-, gshadow.OLD, gshadow.org, hostname, hosts, login.defs, machine-id, modprobe.d/blacklist.conf, passwd, passwd+, passwd-, passwd.OLD, passwd.org, rc.local, resolv.conf, resolvconf/run, shadow, shadow+, shadow-, shadow.OLD, shadow.org, sudoers, portage
sudo brl apply
about:config
network.protocol-handler.external.mailto
to false.
! Use a truetype font and size.
xterm*faceName: Monospace
xterm*faceSize: 14
xrdb -merge ~/.Xresources
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O2 -pipe -march=native"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
# NOTE: This stage was built with the bindist USE flag enabled
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C.UTF-8
RUSTFLAGS="${RUSTFLAGS} -C target-cpu=native"
MAKEOPTS="-j4 -l5"
USE="dist-kernel"
# Appending getbinpkg to the list of values within the FEATURES variable
FEATURES="${FEATURES} getbinpkg"
# Require signatures
FEATURES="${FEATURES} binpkg-request-signature"
ACCEPT_LICENSE="*"
EMERGE_DEFAULT_OPTS="--binpkg-respect-use=y"
EMERGE_DEFAULT_OPTS="--binpkg-respect-use=n
[preferred]
default=gtk
org.freedesktop.impl.portal.FileChooser=gtk
https://opencode.ai/zen/go/v1
and then your OpenCode Go API keyollama show qwen3.6:27b --modelfile > qwen_custom.Modelfile
PARAMETER num_ctx 262144
ollama create qwen3.6-256k -f qwen_custom.Modelfile
ollama ps
defaultPref("privacy.resistFingerprinting", false);
probe with driver nvidia failed
echo '>x11-drivers/nvidia-drivers-581' > /etc/portage/package.mask/nvidia-drivers
then
emerge -avtDUu @world
docker run --rm --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 -e WEBUI_AUTH=False --name open-webui ghcr.io/open-webui/open-webui:main
systemctl --user mask dbus.socket dbus-broker.service
systemctl --user stop dbus.socket dbus-broker.service
"env": {
"OPENROUTER_API_KEY": "your-openrouter-api-key"
},
"modelProviders": {
"openai": [
{
"id": "qwen/qwen3.6-plus",
"name": "Qwen3.6-plus (via OpenRouter)",
"envKey": "OPENROUTER_API_KEY",
"baseUrl": "https://openrouter.ai/api/v1",
"generationConfig": {
"timeout": 120000,
"maxRetries": 3,
"samplingParams": {
"temperature": 0.7
}
}
}
]
}
web-ext run -f firefox-aurora --keep-profile-changes --firefox-profile=test
xdg-mime default thunar.desktop inode/directory
xdg-mime default thunar.desktop x-scheme-handler/file
cp /bedrock/strata/arch/usr/share/applications/appname.desktop ~/.local/share/applications/appname.desktop
sed -i 's|^Exec=|Exec=strat arch |' ~/.local/share/applications/appname.desktop
update-desktop-database ~/.local/share/applications/
#!/bin/bash
STRATA="arch"
STRATA_ROOT="/bedrock/strata/$STRATA"
SRC="$STRATA_ROOT/usr/share/applications"
SRC_CROSS="$STRATA_ROOT/bedrock/cross/applications"
DEST="$HOME/.local/share/applications"
# Icon search dirs within the stratum, in priority order
ICON_SEARCH_DIRS=(
"$STRATA_ROOT/usr/share/icons/hicolor"
"$STRATA_ROOT/usr/share/icons"
"$STRATA_ROOT/usr/share/pixmaps"
)
ICON_EXTENSIONS=("png" "svg" "xpm")
# Preferred sizes in descending order (hicolor subdirs)
ICON_SIZES=("256x256" "128x128" "96x96" "64x64" "48x48" "32x32" "scalable")
# Resolve an icon name to an absolute path inside the stratum.
# Returns the path on stdout, or nothing if not found.
resolve_icon() {
local icon_name="$1"
# Already an absolute path — verify it exists (possibly via stratum root)
if [[ "$icon_name" == /* ]]; then
[[ -f "$icon_name" ]] && echo "$icon_name" && return
[[ -f "$STRATA_ROOT$icon_name" ]] && echo "$STRATA_ROOT$icon_name" && return
return
fi
# Strip any accidental extension for a clean name-based search
local base_name="${icon_name%.*}"
# 1. Search hicolor theme with preferred sizes first
for size in "${ICON_SIZES[@]}"; do
for ext in "${ICON_EXTENSIONS[@]}"; do
local candidate="$STRATA_ROOT/usr/share/icons/hicolor/$size/apps/$base_name.$ext"
[[ -f "$candidate" ]] && echo "$candidate" && return
done
done
# 2. Check pixmaps directly (flat directory, no subdirs) — catches vscodium, cups, etc.
for ext in "${ICON_EXTENSIONS[@]}"; do
local candidate="$STRATA_ROOT/usr/share/pixmaps/$base_name.$ext"
[[ -f "$candidate" ]] && echo "$candidate" && return
done
# 3. Walk all icon theme dirs (any size/category subdir)
for icon_dir in "${ICON_SEARCH_DIRS[@]}"; do
for ext in "${ICON_EXTENSIONS[@]}"; do
# Direct file in dir (pixmaps style — already handled above, but kept for custom dirs)
local candidate="$icon_dir/$base_name.$ext"
[[ -f "$candidate" ]] && echo "$candidate" && return
# Subdir search (themes with size/category layout)
# Prefer largest size by sorting descending on the size component
while IFS= read -r found; do
echo "$found" && return
done < <(find "$icon_dir" -name "$base_name.$ext" 2>/dev/null \
| sort -t'/' -k1,1 -r | head -1)
done
done
}
mkdir -p "$DEST"
for src_file in "$SRC"/*.desktop "$SRC_CROSS"/*.desktop; do
# Skip broken symlinks or non-files
[[ ! -f "$src_file" ]] && echo "Skipping: $(basename "$src_file")" && continue
filename=$(basename "$src_file")
dest_file="$DEST/$filename"
# FIX 1: Remove existing file first so cp never hits a permission-denied
# on files previously written by root (e.g. from an earlier sudo run).
if [[ -e "$dest_file" && ! -w "$dest_file" ]]; then
echo "Warning: removing unwritable existing file: $dest_file"
rm -f "$dest_file" || { echo "Error: cannot remove $dest_file — skipping"; continue; }
fi
cp -- "$src_file" "$dest_file" || { echo "Error: cp failed for $filename"; continue; }
# Fix Exec= lines that don't already use strat
if ! grep -q "Exec=strat $STRATA" "$dest_file"; then
sed -i "s|^Exec=|Exec=strat $STRATA |" "$dest_file"
fi
# Fix Icon= lines — resolve to absolute path inside the stratum
icon_value=$(grep -m1 "^Icon=" "$dest_file" | cut -d'=' -f2-)
if [[ -n "$icon_value" ]]; then
resolved=$(resolve_icon "$icon_value")
if [[ -n "$resolved" ]]; then
# Escape any special characters for sed
escaped=$(printf '%s\n' "$resolved" | sed 's/[[\.*^$()+?{|]/\\&/g')
sed -i "s|^Icon=.*|Icon=$escaped|" "$dest_file"
echo "Processed: $filename (icon -> $resolved)"
else
echo "Processed: $filename (icon '$icon_value' not resolved — left as-is)"
fi
else
echo "Processed: $filename (no Icon= entry)"
fi
done
update-desktop-database "$DEST"
echo "Done."
widget.use-xdg-desktop-portal.file-picker = 0
Could not find the "keditfiletype" executable in PATH.
Install:
sudo dnf install keditfiletype
systemctl --user status xdg-desktop-portal-gtk.service
If it is not running enable it:
systemctl --user enable --now xdg-desktop-portal-gtk.service
sudo emerge -av nvidia-container-toolkit
restart docker service:
sudo systemctl restart docker
Create and setup /etc/cdi:
mkdir -p /etc/cdi
nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
Check if its working:
nvidia-ctk cdi list
Configure docker to use NVIDIA runtime:
sudo nvidia-ctk runtime configure --runtime=docker
Restart docker service again:
sudo systemctl restart docker
Before creating distrobox container, lets just perfrom basic check if nvidia is avaiable in docker:
docker run --rm --device=nvidia.com/gpu=all ubuntu nvidia-smi
If this shows your Nvidia driver and info about your gpu, than it works.
distrobox create -i quay.io/fedora/fedora:43 -n fbox -H ~/home-fbox --additional-flags "--device=nvidia.com/gpu=all"
sudo nvidia-smi
This should also give info about your nvidia gpu and its driver.
stat -c "%g" /dev/nvidia0
This will show a number, e.g. 27.
video:x:27:your-user-name
distrobox create -i archlinux -n abox -H ~/home-abox --additional-flags "--device=nvidia.com/gpu=all" && distrobox enter abox -- bash -c "sudo pacman -Sy --noconfirm git base-devel && git clone https://aur.archlinux.org/yay-bin.git /tmp/yay-bin && cd /tmp/yay-bin && makepkg -si --noconfirm && rm -rf /tmp/yay-bin"
distrobox create -i archlinux -n archbox --additional-flags "--device=nvidia.com/gpu=all"
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
hardware.nvidia-container-toolkit.enable = true;
virtualisation.docker.daemon.settings.features.cdi = true;
mkdir -p /etc/systemd/system/sddm.service.d/
cat > /etc/systemd/system/sddm.service.d/wait-for-input.conf << 'EOF'
[Unit]
After=systemd-udev-settle.service
Wants=systemd-udev-settle.service
EOF
mkdir -p /etc/systemd/system/lightdm.service.d/
cat > /etc/systemd/system/lightdm.service.d/wait-for-input.conf << 'EOF'
[Unit]
After=systemd-udev-settle.service
Wants=systemd-udev-settle.service
EOF
systemctl daemon-reload
wget https://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/linux/2.x/2.4/en_us/FoxitReader.enu.setup.2.4.5.0727.x64.run.tar.gz
tar xzvf FoxitReader*.tar.gz
chmod +x ./"FoxitReader.enu.setup.2.4.5.0727(rb70e8df).x64.run"
sudo ./"FoxitReader.enu.setup.2.4.5.0727(rb70e8df).x64.run"
kf.i18n: KLocalizedString: Domain is not set for this string, translation will not work. Please see https://api.kde.org/frameworks/ki18n/html/prg_guide.html msgid: "No jobs" msgid_plural: "" msgctxt: ""
Authorization required, but no authorization protocol specified
10:26:41.584-warning qt.qpa.xcb unknown@0 # could not connect to display :0.0
10:26:41.584-warning qt.qpa.plugin unknown@0 # From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
10:26:41.584-info qt.qpa.plugin unknown@0 # Could not load the Qt platform plugin "xcb" in "" even though it was found.
10:26:41.584-fatal default unknown@0 # This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: linuxfb, wayland-brcm, wayland-egl, wayland, vkkhrdisplay, vnc, offscreen, xcb, minimalegl, eglfs, minimal.
sudo emerge x11-apps/xhost
xhost +
sudo touch /usr/share/icons/hicolor
sudo gtk-update-icon-cache
session=startfluxbox
securitytypes=none
geometry=2000x1200
localhost
alwaysshared
ACCEPT_LICENSE="*"
sudo genlop -u
distrobox create -i archlinux -n abox -H ~/home-abox && distrobox enter abox -- bash -c "sudo pacman -Sy --noconfirm git base-devel && git clone https://aur.archlinux.org/yay-bin.git /tmp/yay-bin && cd /tmp/yay-bin && makepkg -si --noconfirm && rm -rf /tmp/yay-bin"
/run/current-system/sw/bin/distrobox-enter -n abox -- bash -c 'env GTK_THEME=Adwaita:dark ICON_THEME=Papirus QT_QPA_PLATFORMTHEME=qt6ct krusader -qwindowtitle %c %u'
If you run a KDE application (like Krusader) inside a Distrobox container on an XFCE host with a dark theme, you might notice that the icons are dark and nearly invisible against the dark background. This happens because the app inherits a mismatched icon theme from the host, and no Qt platform theme manager is configured inside the container.
First, enter your container and install the required packages:
distrobox enter abox
sudo pacman -S papirus-icon-theme qt6ct
Note: check whether your KDE app links against Qt5 or Qt6 before choosing between qt5ct and qt6ct:
ldd $(which krusader) | grep -i qt
Next, tell Qt to use qt6ct as the platform theme. In fish shell, set it as a universal variable so it persists across sessions:
set -Ux QT_QPA_PLATFORMTHEME qt6ct
Then configure the theme and icons by editing the qt6ct config directly:
mkdir -p ~/.config/qt6ct
cat > ~/.config/qt6ct/qt6ct.conf << 'EOF'
[Appearance]
icon_theme=Papirus-Dark
style=Breeze
EOF
Finally, set up kdeglobals so KDE apps pick up the correct color scheme and icon theme:
cat > ~/.config/kdeglobals << 'EOF'
[General]
ColorScheme=BreezeDark
[KDE]
widgetStyle=Breeze
[Icons]
Theme=Papirus-Dark
EOF
Open a fresh container session and launch your KDE app — the icons and theme should now render correctly.
sudo xbps-install -S hplip
sudo ln -s /etc/sv/cupsd /var/service
sudo sv status cupsd
If you use Nix and want a reproducible Go development environment with VSCodium as your editor, a shell.nix file is the cleanest way to get there. The configuration below sets up a full Go toolchain — including the gopls language server, the delve debugger, linters, and code-generation utilities — alongside VSCodium pre-loaded with the official Go extension, GitLens, error highlighting, and a REST client. CGO is enabled together with gcc and sqlite, so packages like go-sqlite3 that rely on C bindings compile without issues. A step-by-step status log is printed during initialisation so you always know what the shell is doing while it loads. All dependencies are pinned to your nixpkgs channel, so every team member or machine gets an identical environment simply by running nix-shell. Once inside the shell, open your project with codium . and everything is ready to go.
{ pkgs ? import <nixpkgs> {
# Required to allow extensions with non-free licenses (e.g. gitlens)
config.allowUnfree = true;
}
}:
let
vscodiumWithExtensions = pkgs.vscode-with-extensions.override {
vscode = pkgs.vscodium;
vscodeExtensions = with pkgs.vscode-extensions; [
# Go language support (official Go team extension)
golang.go
# Git integration
# Note: mhutchie.git-graph is unfree and has been intentionally removed.
# Use VSCodium's built-in git view or install git-graph manually.
eamodio.gitlens
# General productivity
streetsidesoftware.code-spell-checker
usernamehw.errorlens
# REST client for API testing
humao.rest-client
];
};
in pkgs.mkShell {
name = "golang-dev";
buildInputs = [
# ── Go toolchain ──────────────────────────────────────────────────────────
pkgs.go # Go compiler & standard tooling (go build, go test…)
pkgs.gopls # Official Go language server (used by the extension)
pkgs.delve # Go debugger
pkgs.gotools # Extra tools: goimports, godoc, etc.
pkgs.golangci-lint # Fast, multi-linter runner
pkgs.gomodifytags # Struct tag editor (used by vscode-go)
pkgs.gotests # Auto-generate table-driven tests
pkgs.impl # Generate method stubs for interfaces
pkgs.go-outline # JSON representation of Go file outline
pkgs.gotestsum # Prettier `go test` output
# ── Editor ────────────────────────────────────────────────────────────────
vscodiumWithExtensions
# ── C toolchain (required for CGO / go-sqlite3) ───────────────────────────
pkgs.gcc
pkgs.sqlite
# ── Shell / system utilities ──────────────────────────────────────────────
pkgs.git
pkgs.curl
pkgs.jq # Handy for JSON output while developing APIs
];
# ── Environment variables ─────────────────────────────────────────────────
shellHook = ''
echo ""
echo "● Initialising golang-dev shell…"
echo ""
# ── Environment ───────────────────────────────────────────────────────────
echo " [1/4] Setting up environment variables…"
export GOPATH="$HOME/go"
export PATH="$GOPATH/bin:$PATH"
export GOTELEMETRY=off
export CGO_ENABLED=1
echo " GOPATH=$GOPATH"
echo " CGO_ENABLED=$CGO_ENABLED (sqlite3 / cgo support)"
echo " GOTELEMETRY=$GOTELEMETRY"
# ── Go toolchain ──────────────────────────────────────────────────────────
echo ""
echo " [2/4] Verifying Go toolchain…"
echo " go $(go version 2>/dev/null | awk '{print $3, $4}')"
echo " gopls $(gopls version 2>/dev/null | head -1 || echo 'not found')"
echo " delve $(dlv version 2>/dev/null | head -1 || echo 'not found')"
echo " golangci $(golangci-lint --version 2>/dev/null | head -1 || echo 'not found')"
echo " gcc $(gcc --version 2>/dev/null | head -1 || echo 'not found')"
echo " sqlite3 $(sqlite3 --version 2>/dev/null | head -1 || echo 'not found')"
# ── GOPATH bin ────────────────────────────────────────────────────────────
echo ""
echo " [3/4] Checking GOPATH bin directory…"
if [ -d "$GOPATH/bin" ]; then
BIN_COUNT=$(ls "$GOPATH/bin" 2>/dev/null | wc -l | tr -d ' ')
echo " $GOPATH/bin ($BIN_COUNT tools installed)"
else
mkdir -p "$GOPATH/bin"
echo " $GOPATH/bin created (empty — tools will appear after go install)"
fi
# ── Editor ────────────────────────────────────────────────────────────────
echo ""
echo " [4/4] Checking VSCodium…"
if command -v codium &>/dev/null; then
echo " $(codium --version 2>/dev/null | head -1 | sed 's/^/codium /')"
else
echo " codium not found in PATH"
fi
# ── Ready ─────────────────────────────────────────────────────────────────
echo ""
echo "┌─────────────────────────────────────────┐"
echo "│ golang-dev shell ready ✓ │"
echo "│ │"
echo "│ Run 'codium .' to open VSCodium │"
echo "└─────────────────────────────────────────┘"
echo ""
'';
}
Distrobox lets you run any Linux distribution as a container and integrate it into your host system. But if your host is Void Linux, getting a systemd-based box like Arch to boot correctly takes a bit of extra work.
Void uses runit as its init system, not systemd. When you create a distrobox with --init and ask for a systemd container, it will hang forever printing:
waiting for systemd to come up... waiting for systemd to come up... waiting for systemd to come up...
Even after fixing the cgroup setup (which also requires attention on a non-systemd host), systemd inside the container will fail on several units that try to mount kernel filesystems — things like binfmt_misc, hugepages, and sys-kernel-debug. These units make no sense inside a container and will block the boot sequence.
The solution is to mask those units at creation time, before systemd ever tries to start them. The --init-hooks flag runs a shell command during container setup, so we can pre-create the /dev/null symlinks that systemctl mask would normally create:
distrobox create -i archlinux -n abox -H ~/home-abox --init --additional-packages "systemd" --additional-flags "--privileged" --init-hooks "mkdir -p /etc/systemd/system && for u in proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.mount sys-kernel-debug.mount sys-kernel-tracing.mount dev-hugepages.mount systemd-firstboot.service systemd-udevd.service; do ln -sf /dev/null /etc/systemd/system/\$u; done"
The --privileged flag gives systemd the capabilities it needs to manage its own cgroup namespace. The hook symlinks all the container-hostile units to /dev/null, which is exactly what masking does — just without needing systemctl to be running yet.
systemctl mask may not work reliably. Writing symlinks directly achieves the same result and works unconditionally.After running this command, distrobox enter abox will boot straight through into a fully working Arch Linux shell with a live systemd instance — on a Void Linux host running runit.
"/" is not a shared mount, this could cause issues or missing mounts with rootless containers
Just add
mount --make-rshared /
to your /etc/rc.local
Error: unable to start container "0a58490ca8d4b9cf464483b8a776e53616ebfc60cc89aa25e60b0d910d907eb2": runc: runc create failed: unable to start container process: unable to apply cgroup configuration: rootless needs no limits + no cgrouppath when no permission is granted for cgroups: mkdir /sys/fs/cgroup/0a58490ca8d4b9cf464483b8a776e53616ebfc60cc89aa25e60b0d910d907eb2: permission denied: OCI permission denied
[containers]
cgroupns = "host"
[engine]
cgroup_manager = "cgroupfs"
runtime = "crun"
sudo xbps-install -S crun
distrobox stop abox
distrobox rm abox
podman system reset
distrobox create -i archlinux -n abox -H ~/home-abox
distrobox-enter abox
Error: short-name "archlinux" did not resolve to an alias and no unqualified-search registries are defined in "/etc/containers/registries.conf"
unqualified-search-registries = ["docker.io"]
inode/directory=thunar.desktop
into ~/.config/mimeapps.list:
[Default Applications]
inode/directory=thunar.desktop
Exec=env GTK_THEME=Adwaita:dark /run/current-system/sw/bin/distrobox-enter -n abox -- libreoffice --writer %U
Could not initialize GLX
Have to **update flatpak** as probably nvidia drivers in flatpaks are much different than on the host.
GTK_THEME=Adwaita:dark libreoffic
set -x GTK_THEME Adwaita:dark
vim .config/fish/config.fish
set -e XCURSOR_PATH
set -x XCURSOR_PATH /usr/share/icons ~/.icons
/run/current-system/sw/bin/distrobox-enter -n abox -- bash -c 'XCURSOR_PATH=/usr/share/icons /usr/lib/firefox/firefox %u '
terminator --geometry=2420x650+80+800
TypeError: unknown signal name: changed::font-name
distrobox-enter -n abox -- bash -c 'unset LD_LIBRARY_PATH GI_TYPELIB_PATH GIO_MODULE_DIR GSETTINGS_SCHEMA_DIR; terminator'
[abox]
additional_packages="git base-devel sudo curl"
home=~/home-abox
image=archlinux:latest
init=true
start_now=true
init_hooks='useradd -m -G wheel builder && echo "%wheel ALL=NOPASSWD: ALL" >> /etc/sudoers.d/wheel && su - builder -c "git clone https://aur.archlinux.org/yay-bin.git && cd yay-bin && makepkg -si --noconfirm" && rm -rf /home/builder/yay-bin && su - builder -c "yay -S --noconfirm --needed mc vim htop tmux fd zoxide fzf terminator freerdp rdesktop bash-completion firefox firefox-developer-edition brave-bin vscodium-bin onlyoffice-bin libreoffice-fresh gwenview okular wine krusader krename kdiff3 konsole xdg-desktop-portal-kde ipython tigervnc fluxbox rofi xterm xorg-xeyes masterpdfeditor vlc mpv qt6-imageformats kimageformats vlc-plugins-all fish chromium librewolf-bin go python-uv gimp ttf-roboto otf-font-awesome rar p7zip octave yt-dl sshfs ebook-tools xarchiver kdegraphics-mobipocket gnome-boxes" && cd /etc/xdg/menus && ln -sf ./plasma-applications.menu applications.menu && ln -sf ./plasma-applications.menu gnome-applications.menu && ln -sf ./plasma-applications.menu kde-applications.menu && su - builder -c "NONINTERACTIVE=1 /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\" && eval \"\$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)\" && brew install claude-code gemini-cli opencode qwen-code web-ext" && echo "eval \"\$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)\"" >> ~/.bashrc
nvidia=true
pull=true
root=false
replace=false
sudo rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia
sudo rpm-ostree kargs --append=rd.driver.blacklist=nouveau,nova_core --append=modprobe.blacklist=nouveau,nova_core --append=nvidia-drm.modeset=1
session=startfluxbox
securitytypes=none
geometry=1800x1100
localhost
alwaysshared
lookandfeeltool -list
org.kde.breeze.desktop
org.kde.breezedark.desktop
org.kde.breezetwilight.desktop
lookandfeeltool -a org.kde.breezedark.desktop
sudo dnf --enablerepo=rpmfusion-free install virtualbox
yay --noconfirm -S mc vim fish htop tmux fd zoxide fzf terminator freerdp rdesktop bash-completion firefox firefox-developer-edition brave-bin vscodium-bin libreoffice-fresh gwenview okular wine krusader krename kdiff3 konsole sshfs xarchiver xdg-desktop-portal-kde tigervnc fluxbox rofi xterm xorg-xeyes vlc mpv vlc-plugins-all chromium ipython librewolf-bin go python-uv gimp ttf-roboto otf-font-awesome rar p7zip octave ebook-tools kdegraphics-mobipocket gnome-boxes qt6-imageformats kimageformats curl wget foxitreader thunar npm kate
sudo dnf -y install --skip-unavailable vim firefox brave-browser krusader krename konsole kate keditfiletype kdiff3 chromium okular vlc htop tmux mc fish go python-uv codium unrar p7zip nvtop glx-utils xfreerdp rdesktop tigervnc libreoffice gwenview wine sshfs xarchiver xdg-desktop-portal-kde mpv gnome-boxes curl wget fzf zoxide terminator fontawesome-fonts-all librewolf gimp thunar octave yazi nodejs kwrite firefox-devedition
Note: Will have to add custom repos to fedora for firefox-dev, brave-browser, codium and rpmfusion for codeks
ANTHROPIC_AUTH_TOKEN="your-openrouter-api-key" ANTHROPIC_BASE_URL="https://openrouter.ai/api" ANTHROPIC_API_KEY="" claude --model z-ai/glm-4.7
sudo pacman -Rd nvidia-open nvidia-utils
sudo vim /etc/systemd/system/sam.service
[Unit]
Description=Ansys SAM Web Application Container
Requires=docker.service
After=docker.service
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/ansys-mbse-server/mbse
ExecStartPre=/usr/bin/docker compose down
ExecStart=/usr/bin/docker compose up
ExecStop=/usr/bin/docker compose down
Restart=always
TimeoutStopSec=30
[Install]
WantedBy=multi-user.target
openssl pkcs12 -export -in cert1.pem -inkey privkey1.pem -out keystore.pfx -name tomcat -CAfile chain1.pem -caname root -chain
Host myserver
HostName serverip
User ubuntu
IdentityFile ~/.ssh/private.pem
LocalForward 5903 localhost:5901
$session = "startfluxbox";
$SecurityTypes = "none";
$geometry = "2000x1200";
$localhost = "yes";
$AlwaysShared = "yes";
sudo systemctl enable --now tigervncserver@:1