diff --git a/old/build.zsh b/old/build.zsh deleted file mode 100755 index 5645684..0000000 --- a/old/build.zsh +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/zsh -# aios build script -# 1. Build minimal Arch Linux base -# 2. Setup user (ai) and shell -# 3. Setup Claude Code and aigpt - -echo "=== aios build ===" -echo "" - -# Clean up previous build artifacts -echo "Cleaning up previous build..." -rm -rf root.x86_64/ archiso/ install.sh -rm -f aios-bootstrap*.tar.gz 2>/dev/null || true - -# ============================================ -# 1. Arch Linux Base Construction -# ============================================ - -echo "=== Step 1: Arch Linux Base ===" - -# Install build dependencies -pacman -Syuu --noconfirm base-devel archiso docker git nodejs bc - -# Clone archiso -git clone https://gitlab.archlinux.org/archlinux/archiso - -# Copy configuration -cp -rf ./cfg/profiledef.sh /usr/share/archiso/configs/releng/ -cp -rf ./cfg/profiledef.sh ./archiso/configs/releng/profiledef.sh -cp -rf ./cfg/profiledef.sh ./archiso/configs/baseline/profiledef.sh -cp -rf ./scpt/mkarchiso ./archiso/archiso/mkarchiso - -# Build bootstrap -./archiso/archiso/mkarchiso -v -o ./ ./archiso/configs/releng/ - -# Extract and prepare -tar xf aios-bootstrap*.tar.gz -mkdir -p root.x86_64 -pacstrap -c root.x86_64 base - -# Configure pacman -echo -e 'Server = http://mirrors.cat.net/archlinux/$repo/os/$arch -Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch' >> ./root.x86_64/etc/pacman.d/mirrorlist -sed -i s/CheckSpace/#CheckeSpace/ root.x86_64/etc/pacman.conf - -# Initialize pacman keys -arch-chroot root.x86_64 /bin/sh -c 'pacman-key --init' -arch-chroot root.x86_64 /bin/sh -c 'pacman-key --populate archlinux' - -# Install base packages (including systemd-container for machinectl) -arch-chroot root.x86_64 /bin/sh -c 'pacman -Syu --noconfirm base base-devel linux vim git zsh rust openssh openssl jq go nodejs npm docker podman bc sqlite systemd arch-install-scripts' - -# Configure containers -arch-chroot root.x86_64 /bin/sh -c 'mkdir -p /etc/containers/registries.conf.d' -arch-chroot root.x86_64 /bin/sh -c 'curl -sL -o /etc/containers/registries.conf.d/ai.conf https://git.syui.ai/ai/os/raw/branch/main/cfg/ai.conf' - -# Set default shell -arch-chroot root.x86_64 /bin/sh -c 'chsh -s /bin/zsh' - -# Install Claude Code -arch-chroot root.x86_64 /bin/sh -c 'npm i -g @anthropic-ai/claude-code' - -# Copy os-release -cp -rf ./cfg/os-release root.x86_64/etc/os-release - -# Configure sudoers for wheel group (full access for container operation) -echo "Configuring sudoers..." -arch-chroot root.x86_64 /bin/sh -c 'echo "%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/pacman -Syu --noconfirm, /usr/bin/poweroff, /usr/bin/reboot" >> /etc/sudoers' -arch-chroot root.x86_64 /bin/sh -c 'echo "ai ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers' - -# Install aigpt (aios core package) -echo "Installing aigpt..." -arch-chroot root.x86_64 /bin/sh -c 'git clone https://git.syui.ai/ai/gpt && cd gpt && cargo build --release && cp -rf ./target/release/aigpt /bin/ && cd .. && rm -rf gpt' - -# Install aibot (aios core package) -echo "Installing aibot..." -arch-chroot root.x86_64 /bin/sh -c 'git clone https://git.syui.ai/ai/bot && cd bot && cargo build --release && cp -rf ./target/release/aibot /bin/ && aibot ai && cd .. && rm -rf bot' - -echo "Installing aishell..." -arch-chroot root.x86_64 /bin/sh -c 'git clone https://git.syui.ai/ai/shell && cd shell && cargo build --release && cp -rf ./target/release/aishell /bin/ && cd .. && rm -rf shell' - -echo "✓ Arch Linux base complete" -echo "" - -# ============================================ -# 2. User Setup -# ============================================ - -bash ./cfg/setup-user.sh -echo "" - -# ============================================ -# 3. Create workspace container (after all configuration) -# ============================================ - -bash ./cfg/user-continer.sh -echo "" - -# ============================================ -# Finalize -# ============================================ - -echo "=== Finalizing ===" - -# Copy aios-ctl.zsh for host machine control -cp -rf ./cfg/aios-ctl.zsh root.x86_64/opt/aios-ctl.zsh - -# Copy install script -cp -rf ./cfg/install.sh ./install.sh -chmod +x ./install.sh - -# Create tarball with aios (includes child containers) -echo "Creating tarball..." -tar -zcvf aios-bootstrap.tar.gz root.x86_64/ install.sh - -echo "" -echo "=== Build Complete ===" -echo "Output: aios-bootstrap.tar.gz" -echo "" diff --git a/old/cfg/ai.conf b/old/cfg/ai.conf deleted file mode 100644 index 176adb5..0000000 --- a/old/cfg/ai.conf +++ /dev/null @@ -1,6 +0,0 @@ -# https://github.com/containers/shortnames -# ~/.config/containers/registries.conf.d/ai.conf -unqualified-search-registries = ['git.syui.ai', 'docker.io', 'ghcr.io'] - -[aliases] -"aios" = "git.syui.ai/ai/os" diff --git a/old/cfg/aios-ctl.zsh b/old/cfg/aios-ctl.zsh deleted file mode 100644 index 05bef2b..0000000 --- a/old/cfg/aios-ctl.zsh +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/zsh -# aios machine control commands - -NAME="aios" -BACKUP="${NAME}back" - -# Start aios container -function aios-start() { - sudo machinectl start $NAME -} - -# Stop aios container -function aios-stop() { - sudo machinectl poweroff $NAME > /dev/null 2>&1 - sleep 2 - sudo machinectl terminate $NAME > /dev/null 2>&1 -} - -# Shell into aios container -function aios-shell() { - sudo machinectl shell $NAME -} - -# Login to aios container as ai user -function aios-login() { - sudo machinectl shell $NAME /bin/su - ai -} - -# Create backup of current aios -function aios-backup() { - echo "Creating backup: $BACKUP" - sudo machinectl poweroff $BACKUP > /dev/null 2>&1 - sleep 2 - sudo machinectl terminate $BACKUP > /dev/null 2>&1 - sleep 2 - sudo machinectl remove $BACKUP > /dev/null 2>&1 - sleep 2 - sudo machinectl clone $NAME $BACKUP - echo "Backup created: $BACKUP" -} - -# Reset aios from backup -function aios-reset() { - if ! sudo machinectl list-images | grep -q $BACKUP; then - echo "Error: No backup found. Run 'aios-backup' first." - return 1 - fi - - echo "Resetting $NAME from $BACKUP..." - sudo machinectl poweroff $NAME > /dev/null 2>&1 - sleep 2 - sudo machinectl terminate $NAME > /dev/null 2>&1 - sleep 2 - sudo machinectl remove $NAME - sleep 2 - sudo machinectl clone $BACKUP $NAME - sleep 2 - sudo machinectl start $NAME - echo "Reset complete" -} - -# Update packages in backup -function aios-update() { - if ! sudo machinectl list-images | grep -q $BACKUP; then - echo "Error: No backup found. Run 'aios-backup' first." - return 1 - fi - - echo "Updating $BACKUP..." - sudo machinectl start $BACKUP - sleep 5 - sudo machinectl shell $BACKUP /bin/sh -c 'pacman -Syu --noconfirm' - sleep 2 - sudo machinectl poweroff $BACKUP - echo "Update complete" -} - -# Remove aios container -function aios-remove() { - echo "Removing $NAME..." - sudo machinectl poweroff $NAME > /dev/null 2>&1 - sleep 2 - sudo machinectl terminate $NAME > /dev/null 2>&1 - sleep 2 - sudo machinectl remove $NAME - echo "Removed $NAME" -} - -# List all machines -function aios-list() { - sudo machinectl list-images -} - -# Show status -function aios-status() { - sudo machinectl status $NAME -} - -# Execute command in aios -function aios-exec() { - if [ -z "$1" ]; then - echo "Usage: aios-exec " - return 1 - fi - sudo machinectl shell $NAME /bin/sh -c "$*" -} - -# Show help -function aios-help() { - cat <<'EOF' -aios machine control commands: - - aios-start Start aios container - aios-stop Stop aios container - aios-shell Open shell in aios container - aios-login Login to aios container console - aios-backup Create backup snapshot (aiosback) - aios-reset Reset aios from backup - aios-update Update packages in backup - aios-remove Remove aios container - aios-list List all machine images - aios-status Show aios status - aios-exec Execute command in aios - aios-help Show this help - -Example workflow: - 1. aios-start # Start container - 2. aios-login # Login and use - 3. aios-backup # Create backup before major changes - 4. aios-reset # Restore if something breaks -EOF -} diff --git a/old/cfg/aios.zsh b/old/cfg/aios.zsh deleted file mode 100644 index 933d9f6..0000000 --- a/old/cfg/aios.zsh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/zsh -# aios startup script - -CONFIG_DIR="$HOME/.config/syui/ai/os" -CONFIG_FILE="$CONFIG_DIR/config.json" - -# 設定ファイルが存在しない場合は何もしない -if [ ! -f "$CONFIG_FILE" ]; then - return -fi - -# jqで設定読み込み -if ! command -v jq &>/dev/null; then - return -fi - -SHELL_MODE=$(cat "$CONFIG_FILE" | jq -r '.shell // false') - -if [ "$SHELL_MODE" = "true" ]; then - echo "aios - AI-managed OS" - echo " Starting workspace container..." - echo "" - - # Check if workspace exists - if ! sudo machinectl list-images | grep -q "^workspace"; then - echo "Error: workspace container not found" - echo "Please run install.sh first to create workspace container" - return - fi - - # Start workspace container - sudo machinectl start workspace 2>/dev/null || true - sleep 2 - - # Login to workspace (claude.service will auto-start inside) - echo "Connecting to workspace container..." - exec sudo machinectl login workspace -fi diff --git a/old/cfg/config.toml b/old/cfg/config.toml deleted file mode 100644 index d441b89..0000000 --- a/old/cfg/config.toml +++ /dev/null @@ -1,59 +0,0 @@ -# aios configuration - -[general] -version = "0.1.0" -name = "aios" -description = "AI-managed OS with shared memory" - -[paths] -config_dir = "~/.config/syui/ai" -memory_db = "~/.config/syui/ai/gpt/memory.db" -mcp_config = "~/.config/syui/ai/mcp.json" - -[permissions] -# Level 0: Auto-allow (no approval required) -auto_allow = [ - "pacman -Q*", - "pacman -Ss*", - "systemctl status*", - "ls", "cat", "grep", "find", - "ps", "top", "htop", - "df", "free", "uname" -] - -# Level 1: Notify (log only, no approval) -notify = [ - "pacman -S*", - "pacman -Sy*", - "git clone*", - "cargo install*", - "systemctl start*", - "systemctl enable*" -] - -# Level 2: Require approval -require_approval = [ - "pacman -R*", - "rm -rf*", - "systemctl stop*", - "systemctl disable*", - "dd*" -] - -# Level 3: Deny -deny = [ - "rm -rf /", - "rm -rf /*", - "mkfs*", - ":(){ :|:& };:" -] - -[aigpt] -enable_layer4 = true -wal_mode = true -cache_size_mb = 64 - -[container] -runtime = "systemd-nspawn" -private_users = true -virtual_ethernet = true diff --git a/old/cfg/gh-actions.yml b/old/cfg/gh-actions.yml deleted file mode 100644 index 836e940..0000000 --- a/old/cfg/gh-actions.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: release - -on: - push: - branches: - - main - -permissions: - contents: write - -env: - DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }} - IMAGE_NAME: ${{ github.repository }} - GITHUB_TOKEN: ${{ secrets.APP_TOKEN }} - REGISTRY: ghcr.io - -jobs: - release: - name: Release - runs-on: ubuntu-latest - container: - image: archlinux - options: --privileged - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Initialize - run: | - pacman -Syuu --noconfirm base-devel archiso docker git nodejs bc - git clone https://gitlab.archlinux.org/archlinux/archiso - cp -rf ./cfg/profiledef.sh /usr/share/archiso/configs/releng/ - cp -rf ./cfg/profiledef.sh ./archiso/configs/releng/profiledef.sh - cp -rf ./cfg/profiledef.sh ./archiso/configs/baseline/profiledef.sh - cp -rf ./scpt/mkarchiso ./archiso/archiso/mkarchiso - ./archiso/archiso/mkarchiso -v -o ./ ./archiso/configs/releng/ - tar xf aios-bootstrap*.tar.gz - mkdir -p root.x86_64/var/lib/machines/arch - pacstrap -c root.x86_64/var/lib/machines/arch base - echo -e 'Server = http://mirrors.cat.net/archlinux/$repo/os/$arch - Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch' >> ./root.x86_64/etc/pacman.d/mirrorlist - sed -i s/CheckSpace/#CheckeSpace/ root.x86_64/etc/pacman.conf - arch-chroot root.x86_64 /bin/sh -c 'pacman-key --init' - arch-chroot root.x86_64 /bin/sh -c 'pacman-key --populate archlinux' - arch-chroot root.x86_64 /bin/sh -c 'pacman -Syu --noconfirm base base-devel linux vim git zsh rust openssh openssl jq go nodejs docker podman bc' - arch-chroot root.x86_64 /bin/sh -c 'mkdir -p /etc/containers/registries.conf.d' - arch-chroot root.x86_64 /bin/sh -c 'curl -sL -o /etc/containers/registries.conf.d/ai.conf https://git.syui.ai/ai/os/raw/branch/main/cfg/ai.conf' - arch-chroot root.x86_64 /bin/sh -c 'chsh -s /bin/zsh' - arch-chroot root.x86_64 /bin/sh -c 'git clone https://git.syui.ai/ai/bot && cd bot && cargo build && cp -rf ./target/debug/ai /bin/ && ai ai' - tar -zcvf aios-bootstrap.tar.gz root.x86_64/ - tar -C ./root.x86_64 -c . | docker import - ${{ env.IMAGE_NAME }} - echo "${{ env.DOCKER_TOKEN }}" | docker login -u syui --password-stdin - docker push ${{ env.IMAGE_NAME }} - - - name: Log in to the Container registry - uses: docker/login-action@v3 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ env.GITHUB_TOKEN }} - - name: github container registry - run: | - docker tag ${{ env.IMAGE_NAME }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - - name: Create new release - uses: softprops/action-gh-release@v1 - with: - name: latest - tag_name: latest - files: - aios-bootstrap.tar.gz - diff --git a/old/cfg/hostname b/old/cfg/hostname deleted file mode 100644 index 5f98dbb..0000000 --- a/old/cfg/hostname +++ /dev/null @@ -1 +0,0 @@ -aios diff --git a/old/cfg/install.sh b/old/cfg/install.sh deleted file mode 100644 index d86ff55..0000000 --- a/old/cfg/install.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -# aios installation script - -NAME="aios" -TARBALL="aios-bootstrap.tar.gz" - -echo "=== aios installation ===" - -# Extract and install -tar xf "$TARBALL" -mkdir -p /var/lib/machines -mv root.x86_64 /var/lib/machines/$NAME - -# Create aios.nspawn for network access -echo "Creating network configuration..." -mkdir -p /etc/systemd/nspawn -cat > /etc/systemd/nspawn/$NAME.nspawn <<'EOF' -[Exec] -Boot=yes - -[Network] -Private=no -EOF - -echo "=== Installation complete ===" -echo "" -echo "Usage:" -echo " sudo machinectl start $NAME" -echo " sudo machinectl shell $NAME /bin/su - ai" -echo "" diff --git a/old/cfg/mcp.json b/old/cfg/mcp.json deleted file mode 100644 index 5753a69..0000000 --- a/old/cfg/mcp.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "mcpServers": { - "aigpt": { - "command": "aigpt", - "args": ["server", "--enable-layer4"], - "env": { - "AIGPT_DB": "/root/.config/syui/ai/gpt/memory.db" - }, - "description": "AI memory and personality system" - } - } -} diff --git a/old/cfg/nspawn/aios.nspawn b/old/cfg/nspawn/aios.nspawn deleted file mode 100644 index 6a07f95..0000000 --- a/old/cfg/nspawn/aios.nspawn +++ /dev/null @@ -1,15 +0,0 @@ -# systemd-nspawn configuration for aios -# Place this file in /etc/systemd/nspawn/aios.nspawn - -[Exec] -Boot=yes -PrivateUsers=pick -ResolvConf=copy-host - -[Files] -# Bind mount shared memory directory -# Host: /root/.config/syui/ai -> Container: /root/.config/syui/ai -Bind=/root/.config/syui/ai:/root/.config/syui/ai - -[Network] -VirtualEthernet=no diff --git a/old/cfg/os-release b/old/cfg/os-release deleted file mode 100644 index 7794c7d..0000000 --- a/old/cfg/os-release +++ /dev/null @@ -1,17 +0,0 @@ -NAME=aios -PRETTY_NAME=aios -ID=ai -ID_LIKE=arch -VERSION_ID=2024.11 -VERSION="2024.11 (Rolling)" -VERSION_CODENAME=rolling -BUILD_ID=rolling -IMAGE_ID=aios -IMAGE_VERSION=2024.11.06 -ANSI_COLOR="38;2;23;147;209" -HOME_URL=https://git.syui.ai/ai/os -DOCUMENTATION_URL=https://git.syui.ai/ai/os/wiki -SUPPORT_URL=https://git.syui.ai/ai/os/issues -BUG_REPORT_URL=https://git.syui.ai/ai/os/issues -PRIVACY_POLICY_URL=https://git.syui.ai/ai/os -LOGO=ai-logo diff --git a/old/cfg/profiledef.sh b/old/cfg/profiledef.sh deleted file mode 100644 index cf86495..0000000 --- a/old/cfg/profiledef.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash -# shellcheck disable=SC2034 - -iso_name="aios" -iso_label="AI_$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m)" -iso_publisher="aios " -iso_application="aios Live/Rescue DVD" -iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)" -install_dir="ai" -#buildmodes=('iso') -buildmodes=('bootstrap') -bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' - 'uefi-ia32.grub.esp' 'uefi-x64.grub.esp' - 'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito') -arch="x86_64" -pacman_conf="pacman.conf" -airootfs_image_type="squashfs" -airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M') -file_permissions=( - ["/etc/shadow"]="0:0:400" - ["/root"]="0:0:750" - ["/root/.automated_script.sh"]="0:0:755" - ["/root/.gnupg"]="0:0:700" - ["/usr/local/bin/choose-mirror"]="0:0:755" - ["/usr/local/bin/Installation_guide"]="0:0:755" - ["/usr/local/bin/livecd-sound"]="0:0:755" -) diff --git a/old/cfg/setup-user.sh b/old/cfg/setup-user.sh deleted file mode 100755 index ae68f00..0000000 --- a/old/cfg/setup-user.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/bash -# User setup for aios -# Creates ai user, configures auto-login, sudo, zshrc - -ROOTFS="root.x86_64" - -echo "=== User Setup ===" - -# Create default user 'ai' -echo "Creating user 'ai'..." -arch-chroot $ROOTFS /bin/sh -c 'useradd -m -G wheel -s /bin/zsh ai' -arch-chroot $ROOTFS /bin/sh -c 'echo "ai:root" | chpasswd' - -# Configure securetty for pts login (required for systemd-nspawn) -echo "Configuring securetty..." -cat >> $ROOTFS/etc/securetty <<'EOF' -pts/0 -pts/1 -pts/2 -pts/3 -pts/4 -pts/5 -pts/6 -pts/7 -pts/8 -pts/9 -EOF - -# Enable systemd-machined for container management -echo "Enabling systemd-machined..." -arch-chroot $ROOTFS /bin/sh -c 'systemctl enable systemd-machined' - -# Create workspace container configuration (bind ai user dir to container root) -echo "Creating workspace container configuration..." -mkdir -p $ROOTFS/etc/systemd/nspawn -cat > $ROOTFS/etc/systemd/nspawn/workspace.nspawn <<'EOF' -[Exec] -Boot=yes -ResolvConf=copy-host - -[Files] -Bind=/home/ai:/root - -[Network] -VirtualEthernet=no -EOF - -# Setup auto-login for user 'ai' -echo "Setting up auto-login..." -arch-chroot $ROOTFS /bin/sh -c 'mkdir -p /etc/systemd/system/getty@tty1.service.d' -cat > $ROOTFS/etc/systemd/system/getty@tty1.service.d/override.conf <<'EOF' -[Service] -ExecStart= -ExecStart=-/usr/bin/agetty --autologin ai --noclear %I $TERM -EOF - -# Copy .zshrc for root -echo "Copying zshrc..." -cp -rf ./cfg/zshrc $ROOTFS/root/.zshrc - -# Copy .zshrc for user 'ai' -cp -rf ./cfg/zshrc $ROOTFS/home/ai/.zshrc - -# Add workspace auto-entry and claude auto-start -cat >> $ROOTFS/home/ai/.zshrc <<'EOF' - -# aios: auto-enter workspace container -if [[ -o login ]] && [[ -o interactive ]]; then - if [[ -z "$INSIDE_WORKSPACE" ]]; then - # Enter workspace container - export INSIDE_WORKSPACE=1 - exec sudo systemd-nspawn -q -D /var/lib/machines/workspace /bin/zsh - else - # Inside workspace - start claude with skip permissions - if command -v claude &>/dev/null; then - claude --dangerously-skip-permissions - fi - fi -fi -EOF - -arch-chroot $ROOTFS /bin/sh -c 'chown ai:ai /home/ai/.zshrc' - -echo "✓ User setup complete" diff --git a/old/cfg/user-continer.sh b/old/cfg/user-continer.sh deleted file mode 100644 index ff74bfc..0000000 --- a/old/cfg/user-continer.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# Create workspace container inside aios for ai user -# Backup aios before creating /var/lib/machines to avoid recursion - -ROOTFS="root.x86_64" - -echo "=== Creating workspace container ===" - -# Backup current aios to temp location (before creating /var/lib/machines) -echo "Backing up aios..." -cp -a $ROOTFS /tmp/aios-backup-$$ - -# Create directory for child containers -mkdir -p $ROOTFS/var/lib/machines - -# Copy backup as workspace -echo "Creating workspace container..." -cp -a /tmp/aios-backup-$$ $ROOTFS/var/lib/machines/workspace - -# Cleanup temp backup -rm -rf /tmp/aios-backup-$$ - -echo "✓ Workspace container created" diff --git a/old/cfg/zshrc b/old/cfg/zshrc deleted file mode 100644 index f652241..0000000 --- a/old/cfg/zshrc +++ /dev/null @@ -1,40 +0,0 @@ -# aios .zshrc -# AI-managed OS with Claude Code + aigpt - -# Environment -export EDITOR=vim -export LANG=en_US.UTF-8 - -# Path -export PATH=$HOME/.local/bin:$PATH - -# aigpt MCP configuration -export AIGPT_CONFIG="$HOME/.config/syui/ai/config.toml" -export AIGPT_MCP="$HOME/.config/syui/ai/mcp.json" - -# Aliases -alias claude='claude --dangerously-skip-permissions' -alias c='claude --dangerously-skip-permissions' - -# Prompt -autoload -Uz promptinit -promptinit -prompt adam1 - -# History -HISTFILE=~/.zsh_history -HISTSIZE=10000 -SAVEHIST=10000 -setopt SHARE_HISTORY - -# Completion -autoload -Uz compinit -compinit - -# Welcome message -echo "aios - AI-managed OS" -echo " aigpt: MCP server for shared memory" -echo " claude: AI conversation interface" -echo "" -echo "Type 'claude' or 'ai' to start" -echo "" diff --git a/old/docs/wiki.md b/old/docs/wiki.md deleted file mode 100644 index e8093df..0000000 --- a/old/docs/wiki.md +++ /dev/null @@ -1,125 +0,0 @@ -### archiso - -- [profile.rst](https://gitlab.archlinux.org/archlinux/archiso/-/blob/master/docs/README.profile.rst) - -```sh -$ pacman -S archiso -``` - -```sh -$ git clone https://git.syui.ai/ai/os -$ cd os -$ git clone https://gitlab.archlinux.org/archlinux/archlinux-docker -$ git clone https://gitlab.archlinux.org/archlinux/archiso - -$ vim ./archiso/configs/releng/profiledef.sh - -$ mkarchiso -v -o ./ ./archiso/configs/releng -``` - -### system - -> ./archiso/configs/releng/profiledef.sh - -```sh -buildmodes=('bootstrap') -``` - -```sh -$ mkarchiso -v -o ./ ./archiso/configs/releng -$ tar xf aios-bootstrap*.tar.gz -$ echo -e 'Server = http://mirrors.cat.net/archlinux/$repo/os/$arch\nServer = https://geo.mirror.pkgbuild.com/$repo/os/$arch' >> ./root.x86_64/etc/pacman.d/mirrorlist -$ sed -i s/CheckSpace/#CheckeSpace/ root.x86_64/etc/pacman.conf -$ arch-chroot ./root.x86_64 ---- -$ pacman -S base base-devel linux vim git zsh rust -$ pacman-key --init -$ pacman-key --populate archlinux -$ exit ---- -$ tar -C root.x86_64 -c . | docker import - syui/aios -$ docker images - -$ docker run --rm syui/aios cargo version -cargo 1.75.0 -``` - -### gh-actions - -[.github/workflows/push.yml](https://docs.github.com/en/enterprise-cloud@latest/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions) - -```yml -name: Demo Push -on: - push: - branches: - - main - - seed - tags: - - v* - pull_request: - -env: - IMAGE_NAME: ghtoken_product_demo - -jobs: - push: - runs-on: ubuntu-latest - permissions: - packages: write - contents: read - steps: - - uses: actions/checkout@v4 - - name: Build image - run: docker build . --file Dockerfile --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" - - name: Log in to registry - run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin - - name: Push image - run: | - IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME - IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') - VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') - [[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') - [ "$VERSION" == "main" ] && VERSION=latest - echo IMAGE_ID=$IMAGE_ID - echo VERSION=$VERSION - docker tag $IMAGE_NAME $IMAGE_ID:$VERSION - docker push $IMAGE_ID:$VERSION -``` - -### github-token - -```yml -env: - IMAGE_NAME: ${{ github.repository }} - GITHUB_TOKEN: ${{ secrets.APP_TOKEN }} - REGISTRY: ghcr.io - -jobs: - release: - name: Release - runs-on: ubuntu-latest - container: - image: archlinux - options: --privileged - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Log in to the Container registry - uses: docker/login-action@v3 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ env.GITHUB_TOKEN }} - - name: github container registry - run: | - docker tag ${{ env.IMAGE_NAME }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} -``` - -```sh -# make gh-actions -$ vim ./build.zsh -$ ./scpt/gh-actions.zsh -``` diff --git a/old/icon/ai.png b/old/icon/ai.png deleted file mode 100644 index d21dabe..0000000 Binary files a/old/icon/ai.png and /dev/null differ diff --git a/old/icon/avatar.png b/old/icon/avatar.png deleted file mode 100644 index f091ef1..0000000 Binary files a/old/icon/avatar.png and /dev/null differ diff --git a/old/icon/wall.png b/old/icon/wall.png deleted file mode 100644 index 8717aa8..0000000 Binary files a/old/icon/wall.png and /dev/null differ diff --git a/old/scpt/gh-actions.zsh b/old/scpt/gh-actions.zsh deleted file mode 100755 index cfcdd85..0000000 --- a/old/scpt/gh-actions.zsh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/zsh - -d=${0:a:h} -dd=${0:a:h:h} - -yml_a='name: release - -on: - push: - branches: - - main - -permissions: - contents: write - -env: - DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }} - IMAGE_NAME: ${{ github.repository }} - GITHUB_TOKEN: ${{ secrets.APP_TOKEN }} - REGISTRY: ghcr.io - -jobs: - release: - name: Release - runs-on: ubuntu-latest - container: - image: archlinux - options: --privileged - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Initialize - run: |' - -yml_c=' tar -C ./root.x86_64 -c . | docker import - ${{ env.IMAGE_NAME }} - echo "${{ env.DOCKER_TOKEN }}" | docker login -u syui --password-stdin - docker push ${{ env.IMAGE_NAME }} - - - name: Log in to the Container registry - uses: docker/login-action@v3 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ env.GITHUB_TOKEN }} - - name: github container registry - run: | - docker tag ${{ env.IMAGE_NAME }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - - name: Create new release - uses: softprops/action-gh-release@v1 - with: - name: latest - tag_name: latest - files: - aios-bootstrap.tar.gz -' - -yml_b=`cat $dd/build.zsh |sed '1d'` - -echo $yml_a >! $dd/cfg/gh-actions.yml -echo $yml_b|sed 's/^/ /g' >> $dd/cfg/gh-actions.yml -echo $yml_c >> $dd/cfg/gh-actions.yml -cat $dd/cfg/gh-actions.yml - -echo '#!/bin/zsh' >! $dd/build.zsh -echo $yml_b >> $dd/build.zsh -cat $dd/build.zsh - -cp -rf $dd/cfg/gh-actions.yml $dd/.github/workflows/release.yml - diff --git a/old/scpt/img.sh b/old/scpt/img.sh deleted file mode 100644 index 26a2bb5..0000000 --- a/old/scpt/img.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -pacman -Syuu --noconfirm git base-devel archiso -git clone https://gitlab.archlinux.org/archlinux/archiso -./archiso/archiso/mkarchiso -v -o ./ ./archiso/configs/releng/ -mkdir -p work/x86_64/airootfs/var/lib/machines/arch -pacstrap -c work/x86_64/airootfs/var/lib/machines/arch base -arch-chroot work/x86_64/airootfs/ /bin/sh -c 'pacman-key --init' -arch-chroot work/x86_64/airootfs/ /bin/sh -c 'pacman-key --populate archlinux' -tar -zcvf archlinux.tar.gz -C work/x86_64/airootfs/ . diff --git a/old/scpt/install.sh b/old/scpt/install.sh deleted file mode 100644 index 1e026bf..0000000 --- a/old/scpt/install.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# 変数定義 -DISK="/dev/sda" -HOSTNAME="ai-arch" -USERNAME="ai" - -# パーティション作成(自動) -parted $DISK mklabel gpt -parted $DISK mkpart ESP fat32 1MiB 1GiB -parted $DISK set 1 esp on -parted $DISK mkpart primary linux-swap 1GiB 5GiB -parted $DISK mkpart primary ext4 5GiB 100% - -# ファイルシステム作成 -mkfs.fat -F32 ${DISK}1 -mkswap ${DISK}2 -mkfs.ext4 ${DISK}3 - -# マウント -mount ${DISK}3 /mnt -mkdir -p /mnt/boot -mount ${DISK}1 /mnt/boot -swapon ${DISK}2 - -# インストール -pacstrap -K /mnt base linux linux-firmware base-devel vim networkmanager grub efibootmgr - -# 設定 -genfstab -U /mnt >> /mnt/etc/fstab - -arch-chroot /mnt /bin/bash << EOF -ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime -hwclock --systohc -echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen -locale-gen -echo "LANG=ja_JP.UTF-8" > /etc/locale.conf -echo "$HOSTNAME" > /etc/hostname -grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH -grub-mkconfig -o /boot/grub/grub.cfg -systemctl enable NetworkManager -useradd -m -G wheel $USERNAME -EOF diff --git a/old/scpt/mkarchiso b/old/scpt/mkarchiso deleted file mode 100755 index c6f8d55..0000000 --- a/old/scpt/mkarchiso +++ /dev/null @@ -1,2060 +0,0 @@ -#!/usr/bin/env bash -# -# SPDX-License-Identifier: GPL-3.0-or-later - -set -e -u -shopt -s extglob - -# Control the environment -umask 0022 -export LC_ALL="C.UTF-8" -if [[ -v LANGUAGE ]]; then - # LC_ALL=C.UTF-8, unlike LC_ALL=C, does not override LANGUAGE. - # See https://sourceware.org/bugzilla/show_bug.cgi?id=16621 and https://savannah.gnu.org/bugs/?62815 - unset LANGUAGE -fi -[[ -v SOURCE_DATE_EPOCH ]] || printf -v SOURCE_DATE_EPOCH '%(%s)T' -1 -export SOURCE_DATE_EPOCH - -# Set application name from the script's file name -app_name="${0##*/}" - -# Define global variables. All of them will be overwritten later -pkg_list=() -bootstrap_pkg_list=() -quiet="" -work_dir="" -out_dir="" -gpg_key="" -gpg_sender="" -iso_name="" -iso_label="" -iso_uuid="" -iso_publisher="" -iso_application="" -iso_version="" -install_dir="" -arch="" -pacman_conf="" -packages="" -bootstrap_packages="" -pacstrap_dir="" -declare -i rm_work_dir=0 -buildmodes=() -bootmodes=() -airootfs_image_type="" -airootfs_image_tool_options=() -cert_list=() -declare -A file_permissions=() -efibootimg="" -efiboot_files=() -# adapted from GRUB_EARLY_INITRD_LINUX_STOCK in https://git.savannah.gnu.org/cgit/grub.git/tree/util/grub-mkconfig.in -readonly ucodes=('intel-uc.img' 'intel-ucode.img' 'amd-uc.img' 'amd-ucode.img' 'early_ucode.cpio' 'microcode.cpio') - - -# Show an INFO message -# $1: message string -_msg_info() { - local _msg="${1}" - [[ "${quiet}" == "y" ]] || printf '[%s] INFO: %s\n' "${app_name}" "${_msg}" -} - -# Show a WARNING message -# $1: message string -_msg_warning() { - local _msg="${1}" - printf '[%s] WARNING: %s\n' "${app_name}" "${_msg}" >&2 -} - -# Show an ERROR message then exit with status -# $1: message string -# $2: exit code number (with 0 does not exit) -_msg_error() { - local _msg="${1}" - local _error=${2} - printf '[%s] ERROR: %s\n' "${app_name}" "${_msg}" >&2 - if (( _error > 0 )); then - exit "${_error}" - fi -} - -# Show help usage, with an exit status. -# $1: exit status number. -_usage() { - IFS='' read -r -d '' usagetext < - options: - -A Set an application name for the ISO - Default: '${iso_application}' - -C pacman configuration file. - Default: '${pacman_conf}' - -D Set an install_dir. All files will be located here. - Default: '${install_dir}' - NOTE: Max 8 characters, use only [a-z0-9] - -L