Skip to content

Repository files navigation

Dotfiles

My user-specific application configuration.

Try with a Container

Docker Image Version amd64 Docker Image Size arm64 Docker Image Size

To quickly test the configurations in a container, you can run either of the following commands with Podman or Docker. This will pull the latest image from Docker Hub, then start an interactive terminal session that will be removed when you exit.

podman run --rm -it docker.io/edwardji/dotfiles:latest
docker run --rm -it edwardji/dotfiles:latest

Installation

mise

Dotfiles are managed with mise. Clone the repository with submodules, trust its configuration, and let mise symlink everything into place.

git clone --recurse-submodules git@github.com:edward-ji/dotfiles.git
cd dotfiles
mise trust
mise dotfiles apply

To preview changes without writing anything, or to inspect the current state, use the following commands.

mise dotfiles apply --dry-run
mise dotfiles status

Warning

The command below will overwrite your existing configurations. Make sure you have backups of any important files before proceeding.

mise refuses to replace existing files it does not manage. If you want the repository's versions to win over your existing configurations, apply with force:

mise dotfiles apply --force

Podman

Note

Rootless Podman maps container users other than root to subordinate UIDs, so by default the container user admin cannot read or write host volumes. The --userns=keep-id:uid=1000,gid=1000 option instead maps your host user to admin (UID 1000), ensuring proper file permissions when working with mounted host volumes. The :z volume option relabels the directory for SELinux hosts such as Fedora; it is a no-op elsewhere.

To seamlessly integrate the dotfiles container with your environment, use the following command. This maps your host user to the container user, sets the terminal type for proper functionality, and binds the current directory as the working directory inside the container.

podman run -it \
    --userns=keep-id:uid=1000,gid=1000 \
    --env TERM=$TERM \
    --volume $(pwd):$(pwd):z \
    --workdir $(pwd) \
    docker.io/edwardji/dotfiles:latest

About

My user-specific application configuration.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Used by

Contributors

Languages