matmaer/chezmoi-mousse
matmaer/chezmoi-mousse has 36 GitHub stars and 0 forks. Star changes are not measured yet. Last checked 2026-11-12 12:07 UTC. Last push 2026-11-12.
GUI for chezmoi in the terminal, with a wink to the mouse. Built with textual. Manage dotfiles.
측정된 스타 증가
- in 24h
- 기록 수집 중
- in 7 days
- 기록 수집 중
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
Original[!NOTE] 2026-10-03 New release coming up soon, allows to interface with chezmoi interactively via the GUI.
[!WARNING] Do not run the app from the current head, we are implementing a new workflow to avoid this issue in the future, use the pre build binary instead (linux only).
[!NOTE] It's safe to use the app to visualize your
chezmoirepository, as no write operations are enabled by default. See the Use Case to disable dry-run or Test first with dummy files. The app is not packaged yet but you can simply run it as aPythonmodule, see the Start section. Please share any issues on the Issues page, thanks!
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.
Screenshots
Check out the Wiki Screenshots!
Use Case
- You have an initilazed or existing chezmoi repository.
- To enable operations, press
D,dor click theRemove --dry-runorAdd --dry-runtext in the footer. This will enable/disable commands changing your files or the chezmoi state. Test first in a VM or container, see the Test section. - Run the app with your own user. Running the app with
sudoor elevated permissions is not needed and should be avoided. Chezmoi explicitly discourages operating outside of your home directory. - The current implementation has only been used or tested with
autocommitenabled, feedback is welcome.
Start
Pre build binary for Linux
https://github.com/matmaer/chezmoi-mousse/releases/latest
wget https://github.com/matmaer/chezmoi-mousse/releases/latest
chmod +x chezmoi-mousse
./chezmoi-mousse
[!NOTE] Navigate to the "Config" tab and check the output from
chezmoi doctor
Test
To test the app without "real" dotfiles in a container or VM, on the "Debug" tab, you can generate some files in the home directory, and offer the possibility to modify the generated files to have diffs.
Files are generated using the Faker package
See the Debug tab screenshot
Platform packaging
- Apple
- app store
- single executable file
- run from source
- Linux
- AppImage
- flatpak
- snap
- single executable file
- run from source
- Windows
- app store
- single executable file
- run from source )
Available chezmoi commands
[!NOTE] The lists for Write Operations and Read Operations below are a limited subset of available chezmoi commands, run
chezmoi helpin your terminal to see all commands. Commands below without a checkmark are being implemented,See Implemented configuration options below, 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 page.
Write Operations
-
chezmoi adddirectory -
chezmoi addfile -
chezmoi archive -
chezmoi applydirectory -
chezmoi applyfile -
chezmoi destroydirectory -
chezmoi destroyfile -
chezmoi edit -
chezmoi forgetdirectory -
chezmoi forgetfile -
chezmoi generate -
chezmoi import -
chezmoi initnew repository -
chezmoi initclone repository -
chezmoi purge -
chezmoi re-addfile -
chezmoi re-adddirectory
Read Operations
-
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
Implemented configuration options
Legend:
- :green_circle: Follow user configuration or chezmoi defaults
- :green_square: Providing flags for the
chezmoicommand, managed by this app. - :negative_squared_cross_mark: Not in scope
- :bulb: Follows user config with warning
- :black_circle: Under development, help wanted or to be documented
[!NOTE]
chezmoicommand flags can override your local config file.
Top level
- :green_circle: cacheDir
- :green_square: color (
--no-color, app manages color) - :green_circle: data
- :green_circle: destDir
- :black_circle: encryption
- :black_circle: env
- :green_circle: format
- :green_square: interactive (
--interactive=false, app provides safeguards but overrides user config!) - :negative_squared_cross_mark: mode (
--mode=file, only file mode is supported) - :green_square: pager (
--no-pager, app limits output) - :green_square: pagerArgs
- :black_circle: persistentState
- :green_square: progress (
--progress=false, app shows progress) - :black_circle: scriptEnv
- :black_circle: scriptTempDir
- :green_circle: sourceDir
- :green_circle: tempDir (check the Config tab
chezmoi doctoroutput for any issue) - :green_circle: umask
- :black_circle: useBuiltinAge
- :green_square: useBuiltinGit (
--use-builtin-git=true) - :negative_squared_cross_mark: verbose (outputs are parsed without verbose flag)
- :black_circle: workingTree
add
- :black_circle: add.encrypt
- :black_circle: add.secrets
- :black_circle: add.templateSymlinks
age
- :black_circle: age.args
- :black_circle: age.command
- :black_circle: age.identities
- :black_circle: age.identity
- :black_circle: age.passphrase
- :black_circle: age.recipient
- :black_circle: age.recipients
- :black_circle: age.recipientsFile
- :black_circle: age.recipientsFiles
- :black_circle: age.suffix
- :black_circle: age.symmetric
awsSecretsManager
- :black_circle: awsSecretsManager.profile
- :black_circle: awsSecretsManager.region
azureKeyVault
- :black_circle: azureKeyVault.defaultVault
bitwarden
- :black_circle: bitwarden.command
- :black_circle: bitwarden.unlock
bitwardenSecrets
- :black_circle: bitwardenSecrets.command
cd
- :negative_squared_cross_mark: cd.args
- :negative_squared_cross_mark: cd.command
diff
- :negative_squared_cross_mark: diff.args (Start a discussion if you have a use case)
- :green_square: diff.command (
chezmoi --use-builtin-diff) - :negative_squared_cross_mark: diff.exclude (diffs are shown for a selected path)
- :green_square: diff.pager (
chezmoi --no-pager --use-builtin-diff) - :negative_squared_cross_mark: diff.pagerArgs
- :green_square: diff.reverse (
--reverseflag is used to show diffs on the ReAdd tab) - :black_circle: diff.scriptContents
edit
- :black_circle: edit.apply
- :black_circle: edit.args
- :black_circle: edit.command
- :black_circle: edit.hardlink
- :black_circle: edit.minDuration
- :black_circle: edit.watch
ejson
- :black_circle: ejson.key
- :black_circle: ejson.keyDir
git
- :black_circle: git.autoAdd
- :bulb: git.autoCommit
- :bulb: git.autoPush
- :green_circle: git.command (
chezmoi git -- <git_command>is used to rungit) - :green_circle: git.commitMessageTemplate
- :green_circle: git.commitMessageTemplateFile
- :negative_squared_cross_mark: git.lfs (Start a discussion if you have a use case)
gitHub
- :green_circle: gitHub.refreshPeriod
gopass
- :black_circle: gopass.command
- :black_circle: gopass.mode
gpg
- :black_circle: gpg.args
- :black_circle: gpg.command
- :black_circle: gpg.recipient
- :black_circle: gpg.recipients
- :black_circle: gpg.suffix
- :black_circle: gpg.symmetric
hooks
- :black_circle: hooks.command.post.args
- :black_circle: hooks.command.post.command
- :black_circle: hooks.command.pre.args
- :black_circle: hooks.command.pre.command
interpreters
- :black_circle: interpreters.extension.args
- :black_circle: interpreters.extension.command
keepassxc
- :black_circle: keepassxc.args
- :black_circle: keepassxc.command
- :black_circle: keepassxc.database
- :black_circle: keepassxc.mode
- :black_circle: keepassxc.prompt
merge
- :black_circle: merge.args
- :black_circle: merge.command
pass
- :black_circle: pass.command
pinentry
- :black_circle: pinentry.args
- :black_circle: pinentry.command
- :black_circle: pinentry.options
rbw
- :black_circle: rbw.command
secret
- :black_circle: secret.args
- :black_circle: secret.command
status
- :green_square: status.pathStyle
- :green_square: status.exclude
template
- :black_circle: template.options
textconv
- :black_circle: textconv
update
- :black_circle: update.apply
- :black_circle: update.args
- :black_circle: update.command
- :black_circle: update.recurseSubmodules
vault
- :black_circle: vault.command
verify
- :negative_squared_cross_mark: verify.exclude
warnings
- :black_circle: warnings
Textual themes
Pick any textual theme to change the look, for example tokyo-night, see Textual Themes to check out built in themes.
Chezmoi or Git command not found
If the chezmoi or git command is not found by shutil.which, the app wil not start and only print a simple message to the terminal.