Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .Brewfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
tap "cockroachdb/tap"
tap "mongodb/brew"
tap "supabase/tap"
brew "azure-cli"
brew "gh"
brew "direnv"
brew "gh"
brew "jq"
brew "neovim"
brew "tmux"
brew "tree"
brew "wget"
brew "cockroachdb/tap/cockroach"
brew "mongodb/brew/mongodb-database-tools"
brew "supabase/tap/supabase"
cask "codex"
22 changes: 22 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:

jobs:
test:
strategy:
matrix:
os: [ubuntu-24.04, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Bootstrap
run: |
./bootstrap/bootstrap.sh
22 changes: 16 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,33 @@
# Dotfiles

[![Bootstrap Test](https://github.com/atkei/dotfiles/actions/workflows/ci.yml/badge.svg)](https://github.com/atkei/dotfiles/actions/workflows/ci.yml)

Personal dotfiles and bootstrap scripts for development environment setup.

## Environments

* Ubuntu 22.04
* MacOS
- Ubuntu 24.04
- macOS

## Prerequisites

### MacOS
### macOS

- [Homebrew](https://brew.sh/)

* [Homebrew](https://brew.sh/)
## Usage

## Bootstrap
### Full Bootstrap

Sets up the complete development environment including dotfiles, shell, and tools.

```sh
./bootstrap/bootstrap.sh
```

## Install Dotfiles Only
### Install Dotfiles Only

Creates symlinks for dotfiles without installing tools.

```sh
./install.sh
Expand Down
3 changes: 3 additions & 0 deletions bootstrap/apt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ sudo apt install -y \
fuse \
git \
gnupg \
jq \
libbz2-dev \
libffi-dev \
libncursesw5-dev \
Expand All @@ -27,8 +28,10 @@ sudo apt install -y \
ninja-build \
tk-dev \
tmux \
tree \
unzip \
vim \
wget \
xsel \
xz-utils \
zip \
Expand Down
43 changes: 0 additions & 43 deletions bootstrap/asdf-plugins.sh

This file was deleted.

2 changes: 1 addition & 1 deletion bootstrap/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ task "Install prezto" "prezto.sh"
task "Install Tmux Plugin Manager" "tpm.sh"
task "Install fzf" "fzf.sh"
task "Install asdf" "asdf.sh"
task "Install asdf plugins" "asdf-plugins.sh"
task "Install rulesync" "rulesync.sh"

if [ "$(uname)" == "Linux" ]; then
task "Install Docker" "docker.sh"
task "Install Azure CLI" "az.sh"
task "Install Supabase CLI" "supabase.sh"
task "Install GitHub CLI" "gh.sh"
task "Install Codex" "codex.sh"
task "Install Google Chrome" "google-chrome.sh"
task "Change default shell to zsh" "chsh.sh"
fi
Expand Down
45 changes: 45 additions & 0 deletions bootstrap/codex.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/usr/bin/env bash

set -e

# https://github.com/openai/codex

if [ $(command -v codex) ]; then
echo codex is already installed.
exit 0
fi

if ! command -v jq &> /dev/null; then
echo "jq is required but not installed."
exit 1
fi

OS=$(uname -s)
if [ "$OS" != "Linux" ]; then
echo "This script is for Linux only."
exit 1
fi

ARCH=$(uname -m)
case "$ARCH" in
x86_64)
TARGET="x86_64-unknown-linux-gnu"
;;
aarch64)
TARGET="aarch64-unknown-linux-gnu"
;;
*)
echo "Unsupported architecture: $ARCH"
exit 1
;;
esac

VERSION=$(curl -s https://api.github.com/repos/openai/codex/releases/latest | jq -r '.tag_name')
BINARY_URL="https://github.com/openai/codex/releases/download/${VERSION}/codex-${TARGET}.tar.gz"

curl -L "$BINARY_URL" -o /tmp/codex.tar.gz
tar -xzf /tmp/codex.tar.gz -C /tmp
sudo mv /tmp/codex-${TARGET} /usr/local/bin/codex
rm /tmp/codex.tar.gz

exit 0
3 changes: 3 additions & 0 deletions brew-dump.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env bash

brew bundle dump --global --force --no-vscode