major docker updates
This commit is contained in:
parent
ca6ed0952f
commit
16999e844b
7 changed files with 75 additions and 19 deletions
5
Makefile
5
Makefile
|
@ -25,7 +25,10 @@ completions:
|
||||||
.PHONY: db d-build
|
.PHONY: db d-build
|
||||||
db d-build:
|
db d-build:
|
||||||
$(call msg,Building Docker Image)
|
$(call msg,Building Docker Image)
|
||||||
@docker build -f docker/Dockerfile -t dots .
|
@DOCKER_BUILDKIT=1 docker build \
|
||||||
|
--secret id=GITHUB_TOKEN \
|
||||||
|
-f docker/Dockerfile \
|
||||||
|
-t dots .
|
||||||
|
|
||||||
## dr, d-run | run docker image
|
## dr, d-run | run docker image
|
||||||
.PHONY: dr d-run
|
.PHONY: dr d-run
|
||||||
|
|
|
@ -1,23 +1,27 @@
|
||||||
|
# syntax = docker/dockerfile:1.3
|
||||||
FROM debian:bookworm-20220822-slim
|
FROM debian:bookworm-20220822-slim
|
||||||
|
|
||||||
ENV TERM='xterm-256color' \
|
ENV TERM='xterm-256color' \
|
||||||
HOME='/root'
|
HOME='/root'
|
||||||
|
|
||||||
COPY ./docker/install_packages.sh /usr/bin/install_packages
|
COPY ./docker/install-packages.sh /usr/bin/install-packages
|
||||||
|
|
||||||
RUN install_packages \
|
RUN install-packages \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
locales \
|
locales \
|
||||||
|
gcc \
|
||||||
tmux \
|
tmux \
|
||||||
curl \
|
curl \
|
||||||
gawk \
|
gawk \
|
||||||
zsh \
|
zsh \
|
||||||
vim \
|
vim \
|
||||||
git \
|
git \
|
||||||
neovim
|
python-is-python3 \
|
||||||
|
python3
|
||||||
|
|
||||||
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
|
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
|
||||||
locale-gen
|
locale-gen
|
||||||
|
|
||||||
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
|
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
|
||||||
|
|
||||||
WORKDIR /root
|
WORKDIR /root
|
||||||
|
@ -25,18 +29,27 @@ WORKDIR /root
|
||||||
RUN sh -c "$(curl -fsLS https://chezmoi.io/get)"
|
RUN sh -c "$(curl -fsLS https://chezmoi.io/get)"
|
||||||
|
|
||||||
COPY . .dotfiles
|
COPY . .dotfiles
|
||||||
RUN ./bin/chezmoi init --apply -S ~/.dotfiles
|
|
||||||
|
RUN ./bin/chezmoi init \
|
||||||
|
--apply \
|
||||||
|
-S ~/.dotfiles \
|
||||||
|
--promptString 'git email=daylinmorgan@gmail.com,git name=Daylin Morgan' \
|
||||||
|
--promptBool 'use gui configs=false'
|
||||||
|
|
||||||
ENV DOTFILES_DIR="$HOME/.dotfiles" \
|
ENV DOTFILES_DIR="$HOME/.dotfiles" \
|
||||||
PATH="$PATH:$HOME/bin:$HOME/.dotfiles/bin"
|
PATH="$PATH:$HOME/bin:$HOME/.dotfiles/bin"
|
||||||
|
|
||||||
# setup eget for tools script
|
RUN --mount=type=secret,id=GITHUB_TOKEN \
|
||||||
RUN curl https://zyedidia.github.io/eget.sh | sh && mv ./eget ./bin/eget
|
GITHUB_TOKEN=$(cat /run/secrets/GITHUB_TOKEN) \
|
||||||
|
$HOME/.dotfiles/docker/install-tools.sh
|
||||||
# use eget to fetch yq and some needed tools
|
|
||||||
RUN tools $(cat .dotfiles/docker/tools.txt)
|
|
||||||
|
|
||||||
# get shell extensions
|
# get shell extensions
|
||||||
RUN sheldon -q --config-file ~/.config/sheldon/plugins.toml lock
|
RUN sheldon -q --config-file ~/.config/sheldon/plugins.toml lock
|
||||||
|
|
||||||
|
# install general tools used by neovim
|
||||||
|
RUN ~/.dotfiles/docker/install-dev-envs.sh
|
||||||
|
|
||||||
|
# install astronvim
|
||||||
|
RUN ~/.config/astronvim/install.sh
|
||||||
|
|
||||||
CMD ["zsh"]
|
CMD ["zsh"]
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
# TODO
|
|
||||||
|
|
||||||
- [ ] lunarvim
|
|
||||||
- [ ] install node
|
|
||||||
- [ ] install rustup/cargo
|
|
||||||
- [ ] run packer install command
|
|
20
docker/install-dev-envs.sh
Executable file
20
docker/install-dev-envs.sh
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
export PATH="$HOME/bin:$PATH"
|
||||||
|
|
||||||
|
is-executable() {
|
||||||
|
[ -x "$(command -v "$1")" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
install-cargo-rustup() {
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path
|
||||||
|
}
|
||||||
|
|
||||||
|
install-npm() {
|
||||||
|
fnm install 'v18.5.0'
|
||||||
|
}
|
||||||
|
|
||||||
|
install-cargo-rustup
|
||||||
|
|
||||||
|
if is-executable fnm; then
|
||||||
|
install-npm
|
||||||
|
fi
|
22
docker/install-tools.sh
Executable file
22
docker/install-tools.sh
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# eget() {
|
||||||
|
# "$HOME/bin/eget" "$@"
|
||||||
|
# }
|
||||||
|
export EGET_BIN=$HOME/bin
|
||||||
|
|
||||||
|
curl https://zyedidia.github.io/eget.sh | sh && mv ./eget ./bin/eget
|
||||||
|
|
||||||
|
tools $(cat "$HOME/.dotfiles/docker/tools.txt")
|
||||||
|
|
||||||
|
# eget rossmacarthur/sheldon
|
||||||
|
eget tree-sitter/tree-sitter
|
||||||
|
|
||||||
|
# installing nvim
|
||||||
|
eget neovim/neovim --to ./nvim.appimage
|
||||||
|
./nvim.appimage --appimage-extract
|
||||||
|
./squashfs-root/AppRun --version
|
||||||
|
|
||||||
|
mv squashfs-root /
|
||||||
|
ln -s /squashfs-root/AppRun /usr/bin/nvim
|
||||||
|
rm nvim.appimage
|
|
@ -1,4 +1,8 @@
|
||||||
|
atuin
|
||||||
|
fnm
|
||||||
|
fzf
|
||||||
|
lazygit
|
||||||
|
lsd
|
||||||
|
ripgrep
|
||||||
starship
|
starship
|
||||||
sheldon
|
sheldon
|
||||||
ripgrep
|
|
||||||
lsd
|
|
||||||
|
|
Loading…
Reference in a new issue