Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
14cc37a
refactor: reorganize provision scripts into check, fix, and setup dirs
szymonos Apr 19, 2026
aec7c2d
feat: add Nix-based cross-platform setup with declarative package man…
szymonos Apr 19, 2026
573f310
test: add bats and Pester unit testing with pre-commit hooks
szymonos Apr 19, 2026
20128c8
ci: add Linux and macOS integration test workflows with Docker smoke …
szymonos Apr 19, 2026
fd0a748
docs: add ARCHITECTURE.md, CONTRIBUTING.md, and project documentation
szymonos Apr 19, 2026
be3ee7a
chore: update configs, aliases, PS module fixes, and minor script tweaks
szymonos Apr 19, 2026
62edb2a
refactor: replace --skip-* flags with --unattended and centralize TLS…
szymonos Apr 20, 2026
90e7a24
docs: nix_path_review update
szymonos Apr 20, 2026
38f2fff
docs: document WSL e2e test omission rationale in ARCHITECTURE.md
szymonos Apr 20, 2026
1747c6a
refactor: remove redundant first-run flake update from should_update_…
szymonos Apr 20, 2026
88f8bfd
docs: document bootstrapper model and update nix_path_review
szymonos Apr 20, 2026
b738644
feat: auto-install Nix on macOS with smart GID/UID detection
szymonos Apr 21, 2026
4627268
ci: expand CI scopes, add nx doctor --strict, and test macOS GID dete…
szymonos Apr 21, 2026
c292093
fix: pass --no-confirm to Determinate installer for non-interactive use
szymonos Apr 21, 2026
d6a6545
refactor: drop GIDs 300/400 from macOS candidate list
szymonos Apr 21, 2026
c430dca
fix: CI summary word-splitting, macOS nix PATH, and GID candidates
szymonos Apr 21, 2026
764e479
fix: uninstaller ordering, CI scope defaults, and nix PATH on macOS
szymonos Apr 21, 2026
13b7667
fix: nix profile detection and silent add failure
szymonos Apr 21, 2026
9e361bc
fix: guard gh.sh configure against missing gh CLI
szymonos Apr 21, 2026
1653af9
fix(sh): nix_profile
szymonos Apr 21, 2026
f4b4f46
docs: document NIX_SSL_CERT_FILE for MITM proxy support across all sh…
szymonos Apr 21, 2026
9839cae
fix: uninstaller hash cache and CI nix rate limiting
szymonos Apr 21, 2026
b56d310
fix: export SSL_CERT_FILE during setup for nix-installed git
szymonos Apr 21, 2026
c3aca10
fix: set git http.sslCAInfo for MITM proxy during setup
szymonos Apr 21, 2026
5f1f32f
fix: set git http.sslCAInfo unconditionally when CA bundle exists
szymonos Apr 21, 2026
974eb08
fix: use nix curl for MITM probe instead of system curl
szymonos Apr 21, 2026
d079c14
fix: add fallback CA sources for macOS bundle creation
szymonos Apr 21, 2026
ee3901f
fix: build macOS CA bundle from Keychain instead of nix cacert
szymonos Apr 21, 2026
c77b0ae
fix: build CA bundle and set git sslCAInfo before configure phase
szymonos Apr 21, 2026
e6ea7be
fix: use direct path checks for nix binaries and reorder zsh plugins
szymonos Apr 21, 2026
c589a7d
fix: remove BASH_VERSION guards from alias/function files for zsh compat
szymonos Apr 21, 2026
e8ae585
docs: bootstrap mkdocs documentation for GitHub Pages
szymonos Apr 21, 2026
bd427e9
docs: add mkdocs-build hook, serve target, move legacy docs
szymonos Apr 21, 2026
57adf8e
docs: add cspell and validate-docs-words pre-commit hooks
szymonos Apr 21, 2026
11e2d62
docs: restructure documentation with five new pages
szymonos Apr 21, 2026
2667565
docs: replace getting started with platform-specific tabbed paths
szymonos Apr 21, 2026
4e1ec36
fix: request admin:public_key scope upfront and register gh as git cr…
szymonos Apr 22, 2026
5f25953
fix: gh repo_check pipeline
szymonos Apr 22, 2026
13ddcd6
docs: update
szymonos Apr 22, 2026
0043d18
fix: repo_checks pipeline
szymonos Apr 22, 2026
3a65f56
docs: restructure decisions into architecture and implementation sect…
szymonos Apr 22, 2026
a848ceb
fix: auto-populate git user.name and email from gh API
szymonos Apr 22, 2026
220d6b1
docs: add Nix vs Homebrew runtime characteristics comparison
szymonos Apr 22, 2026
5448e8d
docs: add uninstaller coverage across decisions, index, and enterpris…
szymonos Apr 22, 2026
cf23c48
docs: add compelling opening to index page for new users
szymonos Apr 22, 2026
4f421d3
docs: updated architecture and decision guide
szymonos Apr 23, 2026
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
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
: '
.assets/provision/check_distro.sh | jq
.assets/provision/check_distro.sh array
.assets/check/check_distro.sh | jq
.assets/check/check_distro.sh array
'
set -euo pipefail

Expand All @@ -18,11 +18,11 @@ declare -A state=(
["git_email"]=$([ -n "$(git config --global --get user.email 2>/dev/null)" ] && echo true || echo false)
["gtkd"]=$(grep -Fqw "dark" /etc/profile.d/gtk_theme.sh 2>/dev/null && echo true || echo false)
["k8s_base"]=$([ -x '/usr/bin/kubectl' ] && echo true || echo false)
["nix"]=$([ -d /nix/store ] && echo true || echo false)
["k8s_dev"]=$([ -x '/usr/local/bin/helm' ] && echo true || echo false)
["k8s_ext"]=$([ -x '/usr/local/bin/k3d' ] && echo true || echo false)
["oh_my_posh"]=$([ -x '/usr/bin/oh-my-posh' ] && echo true || echo false)
["pixi"]=$([ -x "$HOME/.pixi/bin/pixi" ] && echo true || echo false)
["python"]=$([ -x "$HOME/.local/bin/uv" ] && echo true || echo false)
["python"]=$({ [ -x "$HOME/.local/bin/uv" ] || [ -x "$HOME/.nix-profile/bin/uv" ]; } && echo true || echo false)
["pwsh"]=$([ -x '/usr/bin/pwsh' ] && echo true || echo false)
["shell"]=$([ -x '/usr/bin/rg' ] && echo true || echo false)
["ssh_key"]=$([ -f "$HOME/.ssh/id_ed25519" ] && [ -f "$HOME/.ssh/id_ed25519.pub" ] && echo true || echo false)
Expand All @@ -47,7 +47,7 @@ is_excluded() {
# check if array parameter is provided
if [ "${1:-}" = 'array' ]; then
# keys to exclude
exclude_keys=('git_user' 'git_email' 'ssh_key' 'systemd' 'wslg' 'wsl_boot' 'gtkd')
exclude_keys=('git_user' 'git_email' 'nix' 'ssh_key' 'systemd' 'wslg' 'wsl_boot' 'gtkd')
# print only the keys with true values, excluding specified keys
for key in "${!state[@]}"; do
if [ "${state[$key]}" = true ] && ! is_excluded "$key"; then
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
: '
.assets/provision/check_dns.sh
.assets/check/check_dns.sh
'
getent hosts github.com >/dev/null 2>&1 && echo true || echo false
9 changes: 5 additions & 4 deletions .assets/provision/check_ssl.sh → .assets/check/check_ssl.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
: '
sudo .assets/provision/check_ssl.sh
sudo .assets/check/check_ssl.sh
'

# install curl if not available
Expand All @@ -27,12 +27,13 @@ if ! command -v curl >/dev/null 2>&1; then
fi

# check SSL connectivity
: "${NIX_ENV_TLS_PROBE_URL:=https://www.google.com}"
if command -v curl >/dev/null 2>&1; then
curl -sS https://www.google.com >/dev/null 2>&1 && echo true || echo false
curl -sS "$NIX_ENV_TLS_PROBE_URL" >/dev/null 2>&1 && echo true || echo false
elif command -v wget >/dev/null 2>&1; then
wget -q --spider https://www.google.com 2>&1 && echo true || echo false
wget -q --spider "$NIX_ENV_TLS_PROBE_URL" 2>&1 && echo true || echo false
elif command -v python3 >/dev/null 2>&1; then
python3 -c "import urllib.request; urllib.request.urlopen('https://www.google.com')" 2>/dev/null && echo true || echo false
python3 -c "import urllib.request; urllib.request.urlopen('$NIX_ENV_TLS_PROBE_URL')" 2>/dev/null && echo true || echo false
else
echo unknown
fi
4 changes: 3 additions & 1 deletion .assets/config/bash_cfg/aliases.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# guard: skip when sourced by non-bash shells (e.g. dash via /etc/profile.d/)
[ -z "$BASH_VERSION" ] && return 0

#region aliases
export SWD=$(pwd)
alias swd="echo $SWD"
Expand Down Expand Up @@ -99,5 +102,4 @@ fi

[ -x /usr/bin/rg ] && alias rg='rg --ignore-case' || true
[ -x /usr/bin/fastfetch ] && alias ff='fastfetch' || true
[ -x /usr/local/bin/tfswitch ] && alias tfswitch="tfswitch --bin='$HOME/.local/bin/terraform'" || true
#endregion
8 changes: 4 additions & 4 deletions .assets/config/bash_cfg/aliases_git.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#region functions
function git_current_branch {
git_current_branch() {
git branch --show-current
}

function git_resolve_branch {
git_resolve_branch() {
case "$1" in
'')
pattern='(^|/)dev(|el|elop|elopment)$|(^|/)ma(in|ster)$|(^|/)trunk$'
Expand All @@ -30,12 +30,12 @@ function git_resolve_branch {
[ -n "$br" ] && echo "$br" || echo "$pattern"
}

function gsw {
gsw() {
br=$(git_resolve_branch $1)
git switch "$(git_resolve_branch "$br")"
}

function grmb {
grmb() {
br=$(git_resolve_branch $1)
git reset "$(git merge-base "$(grt)"/"$br" HEAD)"
}
Expand Down
Loading