FROM quay.io/fedora/fedora:44 # === install system packages === RUN --mount=type=cache,id=dnf-cache,target=/var/cache/libdnf5 \ dnf update -y && \ dnf -y --setopt=keepcache=1 --setopt=install_weak_deps=False install \ bash-completion git-core fzf curl awk jq fd-find unzip which \ host-spawn \ npm wl-copy zig RUN LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | jq -r .tag_name | sed 's/^v//') && \ curl -sL "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_linux_x86_64.tar.gz" | tar xz -C /usr/local/bin lazygit && \ curl -sL "https://github.com/jorgerojas26/lazysql/releases/latest/download/lazysql_Linux_x86_64.tar.gz" | tar xz -C /usr/local/bin lazysql && \ curl -sL "https://github.com/neovim/neovim/releases/download/nightly/nvim-linux-x86_64.tar.gz" | tar xz -C /usr/local --strip-components=1 && \ curl -sL "https://go.dev/dl/${GO_VERSION}.linux-amd64.tar.gz" | tar xz -C /home/user/test/ --strip-components=2 go/bin/go go/bin/gofmt COPY config/bin /usr/local/bin # === setup user === RUN useradd -ms /bin/bash user && \ echo 'user ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/user && \ mkdir -p /run/user/1000 && \ chown user:user /run/user/1000 USER user WORKDIR /home/user RUN mkdir -p .config .local .cache && \ git clone https://git.plabble.org/Job79/neovim-config.git .config/nvim COPY --chown=user:user config/bashrc .bashrc COPY --chown=user:user config/git .config/git/config VOLUME /home/user