- Ubuntu 22.04
- macOS
git clone https://github.com/guni1192/dotfiles.git
cd dotfiles
./scripts/init.sh setup-allRun ./scripts/init.sh with no arguments to print the available subcommands,
and invoke one individually with e.g. ./scripts/init.sh setup-zsh.
scripts/init.sh installs both for you, idempotently:
- Nix: via the Determinate Systems installer
(
install --no-confirm, installing upstream Nix CE — we deliberately skip--determinateto keep the nixbld group compatible with any leftover upstream installs). Multi-user, daemon-based, Apple Silicon ready. On a fresh machine this creates/nixas an APFS volume; reopen the terminal after the script finishes sonix-daemon.shis sourced into login shells. In containers without systemd,setup_nixfalls back to the upstream installer in--no-daemonsingle-user mode. - Devbox: via
get.jetify.com/devbox, a thin wrapper over Nix that pins tool versions indevbox.json.
To verify after init.sh:
nix --version
devbox version
devbox global listThis repo ships a global devbox profile at devbox/devbox.json.
scripts/init.sh setup-devbox creates ~/.local/share/devbox/global/default
as a real directory, symlinks devbox.json and devbox.lock into it (so the
per-environment .devbox/ state — which contains absolute /nix/store paths
— stays local to each host and container), and runs devbox global install
to materialize every pinned tool into the global Nix profile.
Common commands:
devbox global list # show installed packages
devbox global add <pkg>@<version> # add a package (edits devbox.json)
devbox global update # bump versions in devbox.lock
devbox global install # apply devbox.json after pulling changeszsh/devbox.zsh evaluates devbox global shellenv for interactive shells, so
any package added to devbox/devbox.json becomes available in new shells
after devbox global install.
@github/copilot-language-server is an npm package (not in nixpkgs). The
devbox init_hook installs it globally into ~/.local/npm-global/bin; it is
evaluated once by scripts/init.sh setup-devbox after devbox global install
completes. To force a reinstall:
npm install -g @github/copilot-language-server@latestSee .devcontainer/README.md for trying this repo in a Dev Container.