Warning
To use the app, clone from the latest tagged stable branch git clone --branch latest https://github.com/matmaer/chezmoi-mousse.git. The current HEAD will be updated soon.
Graphical user interface in the terminal for chezmoi, see the chezmoi docs.
The rich visualization is made possible thanks to textual, see the textual docs.
Commands are issued using Python its Subprocess management.
- Can be safely tested as no write operations are enabled by default.
- To enable operations, press
D,dor click theToggle --dry-runtext in the footer. This will enable commands changing your config files or the chezmoi state. - Run the app with your own user. Runnig the app with
sudoor elevated permissions is not needed. Chezmoi explicitly discourages operating outside of your home directory. - The current implementation has only been used or tested with
autocommitenabled, feedback is welcome on the issues page.
Don't run the python command in a
chezmoi cdinvoked shell, unless you want to test.
On the command line, clone the repository at the latest tagged version:
git clone --branch latest https://github.com/matmaer/chezmoi-mousse.git
Note: You'll see a "detached HEAD" warning message - this is normal when checking out a tagged commit.
Change directory into the src directory of the cloned repository.
cd chezmoi-mousse and cd src
The easiest way is to run the app with uv, install uv on your platform. Then in the chezmoi-mousse src directory, run:
uv run --no-dev --python 3.13 --with textual -m chezmoi_mousse
If Python 3.13 with the latest textual version is available, and the module is in your PYTHONPATH, you can run:
python -m chezmoi_mousse
- Windows
- app store
- signed executable
- unpackaged
- Apple
- app store
- signed executable
- unpackaged
- Linux
Note: the lists for
Write OperationsandRead Operationsbelow are a limited subset of availabble chezmoi commands, runchezmoi helpin your terminal to see all commands. Commands below without a checkmark are being implemented, missing commands could be out of scope or take a while.
Note: see
Implemented configuration optionsbelow, not all flags are implemented, however usage with default flag values should run without errors. If you find an issue, please share it on the Issues tab.
-
chezmoi adddirectory (non-recursive) -
chezmoi addfile -
chezmoi archive -
chezmoi applydirectory (non-recursive) -
chezmoi applyfile -
chezmoi destroydirectory (non-recursive) -
chezmoi destroyfile -
chezmoi edit -
chezmoi forgetdirectory (non-recursive) -
chezmoi forgetfile -
chezmoi generate -
chezmoi import -
chezmoi initnew repository -
chezmoi initclone repository -
chezmoi purge -
chezmoi re-adddirectory (non-recursive) -
chezmoi re-addfile
-
chezmoi cat -
chezmoi cat-config -
chezmoi dump-config -
chezmoi data -
chezmoi diff -
chezmoi doctor -
chezmoi git log -
chezmoi ignored -
chezmoi managed -
chezmoi source-dir -
chezmoi status -
chezmoi unmanaged -
chezmoi verify
Legend:
- π’ Follow user configuration or chezmoi defaults
- π© Providing flags for the
chezmoicommand, managed by this app. - β Not in scope
- π‘ Follows user config with warning
- β« Under development, help wanted or to be documented
Top level
- π’ cacheDir
- π© color (
--no-color, app manages color) - π’ data
- π’ destDir
- β« encryption
- β« env
- π’ format
- π© interactive (
--interactive=false, app provides safeguards) - β mode (
--mode=file, only file mode is supported) - π© pager (
--no-pager, app limits output) - π© pagerArgs
- β« persistentState
- π© progress (
--progress=false, app will implement spinner) - β« scriptEnv
- β« scriptTempDir
- π’ sourceDir
- π’ tempDir
- π’ umask
- β« useBuiltinAge
- π© useBuiltinGit (
--use-builtin-git=true) - β verbose
- β« workingTree
add
- β« add.encrypt
- β« add.secrets
- β« add.templateSymlinks
age
- β« age.args
- β« age.command
- β« age.identities
- β« age.identity
- β« age.passphrase
- β« age.recipient
- β« age.recipients
- β« age.recipientsFile
- β« age.recipientsFiles
- β« age.suffix
- β« age.symmetric
awsSecretsManager
- β« awsSecretsManager.profile
- β« awsSecretsManager.region
azureKeyVault
- β« azureKeyVault.defaultVault
bitwarden
- β« bitwarden.command
- β« bitwarden.unlock
bitwardenSecrets
- β« bitwardenSecrets.command
cd
- β« cd.args
- β« cd.command
dashlane
- β« dashlane.args
- β« dashlane.command
diff
- β diff.args
- π© diff.command (
chezmoi diff --use-builtin-diff) - β« diff.exclude
- π© diff.pager (
chezmoi diff --no-pager) - β diff.pagerArgs
- π© diff.reverse
- β« diff.scriptContents
doppler
- β« doppler.args
- β« doppler.command
- β« doppler.config
- β« doppler.project
edit
- β« edit.apply
- β« edit.args
- β« edit.command
- β« edit.hardlink
- β« edit.minDuration
- β« edit.watch
ejson
- β« ejson.key
- β« ejson.keyDir
git
- β« git.autoAdd
- π‘ git.autoCommit
- π‘ git.autoPush
- π’ git.command (
chezmoi git -- <git_command>is used to rungit) - π’ git.commitMessageTemplate
- π’ git.commitMessageTemplateFile
- β« git.lfs
gitHub
- β« gitHub.refreshPeriod
gopass
- β« gopass.command
- β« gopass.mode
gpg
- β« gpg.args
- β« gpg.command
- β« gpg.recipient
- β« gpg.recipients
- β« gpg.suffix
- β« gpg.symmetric
hooks
- β« hooks.command.post.args
- β« hooks.command.post.command
- β« hooks.command.pre.args
- β« hooks.command.pre.command
interpreters
- β« interpreters.extension.args
- β« interpreters.extension.command
keepassxc
- β« keepassxc.args
- β« keepassxc.command
- β« keepassxc.database
- β« keepassxc.mode
- β« keepassxc.prompt
keeper
- β« keeper.args
- β« keeper.command
lastpass
- β« lastpass.command
merge
- β« merge.args
- β« merge.command
onepassword
- β« onepassword.cache
- β« onepassword.command
- β« onepassword.mode
- β« onepassword.prompt
pass
- β« pass.command
passhole
- β« passhole.args
- β« passhole.command
- β« passhole.prompt
pinentry
- β« pinentry.args
- β« pinentry.command
- β« pinentry.options
rbw
- β« rbw.command
secret
- β« secret.args
- β« secret.command
status
- π© status.pathStyle
- π© status.exclude
template
- β« template.options
textconv
- β« textconv
update
- β« update.apply
- β« update.args
- β« update.command
- β« update.recurseSubmodules
vault
- β« vault.command
verify
- β« verify.exclude
warnings
- β« warnings
If the chezmoi command is not available, a screen will be shown with the value for $PATH and a link to chezmoi.io/install, along with parsed install commands from the chezmoi repository which uses the excellent Material for MkDocs framework.



