CONFY(1)
π CONF Y(1) β the confy era π
ok so real talk, this page is from the confy manual and it's about confy: a TUI config file manager for linux/unix systems. bestie, it's gonna change your life, i promise π«Ά
β¨ NAME β¨
confy β a TUI config file manager for linux/unix systems π
π SYNOPSIS π
confy
that's it. that's the whole vibe. no flags, no arguments, just run it π
π¦ DESCRIPTION π¦
okay so confy tracks your config files in one place so you literally don't have to remember where they all live. add files to confy, organise them into groups, and open them in your $EDITOR with a single keypress. no more hunting through ~/.config. no more "where did i put that dotfile" at 2am π
it's written in rust using ratatui. zero required dependencies beyond the binary itself. she's self-contained, she's iconic, periodt π
πΈ NAVIGATION πΈ
the keys. the muscle memory. let's go:
j/kor arrow keys β move up and down the listenterβ open the selected file in$EDITOR, or toggle a group open/closedspaceβ toggle the selected group open/closedpβ toggle the live preview pane π/β enter search mode, then type to filter files and groups in real-time:β enter command modeqβ quit
π COMMANDS π
Commands are entered by pressing : followed by the command name and optional arguments, then enter. esc cancels. lowkey the most important thing to know π«Ά
π FILE MANAGEMENT
:acβ add a config file to the ungrouped group (opens the built-in file picker):ac <group>β add a config file directly to a named group:rmβ stop tracking the selected file (does not delete the file from disk β she's careful like that):lβ reopen the last edited file:rbβ rollback the selected file to its last backup (see ROLLBACK below π):suβ open the selected file as root viapkexec(1)(requires polkit)
π§ GROUP MANAGEMENT
:ag <group>β add a new group:rg <group>β remove a group (files move to ungrouped):mg <group>β move the selected file to a group
β SORTING & SEARCH
:sort nameβ sort files alphabetically (default):sort dateβ sort by date last modified:sort sizeβ sort by file size:reverseβ toggle ascending/descending sort order
π APPEARANCE
:theme <name>β switch to a built-in color theme. available themes:catppuccin,dracula,gruvbox,nord,tokyo-night,one-dark. applies instantly and persists across restarts. the way that just works π:theme listβ available themes:streamerβ toggle streamer mode. hides full paths and timestamps, showing only filenames. useful if you're recording your screen and don't want your username visible π
π CONFIGURATION DIRECTORY
:cdβ change the config search directory used by the file picker (opens picker in dir-select mode):cd <path>β set the config search directory directly:cd resetβ reset the config search directory to~/.config
π¦ REMOTE PROFILES
:device <host>β mount a remote machine's filesystem over sshfs and switch confy's view to that host's tracked configs. accepts an~/.ssh/configalias or a literaluser@host. requiressshfs(1)installed locally.:device localβ unmount the remote and return to your local configs:deviceβ show the currently active device, if any:ssh <host>β alias for:device <host>
π₯ GIT INTEGRATION
confy can manage a dotfiles git repository at ~/dotfiles-git (configurable). files are organised by group name; ungrouped files with a shared filename prefix are auto-foldered. so organized, so main character β¨
:git syncβ copy all non-blacklisted tracked files into the dotfiles directory. no git operations performed.:git commitβ sync files, then prompt for a commit message and commit. requires at least one prior commit to exist in the repo.:git pushβ sync, commit (prompts for message), then push to the configured remote.:git dirβ change the dotfiles directory (opens picker):git dir <path>β set the dotfiles directory directly:git resetβ reset the dotfiles directory to~/dotfiles-git
π GIT BLACKLIST
:blβ toggle the selected file or group on/off the git blacklist. blacklisted items are skipped by:git sync. useful for.envfiles and other sensitive configs you don't want in a public repo π«£:bouncerβ open the bulk blacklist menu.spacetoggles an item,Zconfirms,esccancels.
π MISC
:h,:helpβ show the first-startup tutorial again:qβ quit
π§ ROLLBACK π§
confy saves a compressed backup of any file to /tmp/<filename>.confbak before opening it for editing. if you break something (and bestie, we've all been there π), select the file and run :rb to restore it.
rollback can be disabled in config.json:
"settings": {
"rollback": false
}
π REMOTE PROFILES π
:device <host> mounts the remote machine's entire root filesystem over sshfs, then switches confy's view to that host's tracked configs. this means absolute paths like /etc/pf.conf resolve correctly through the mount. chef's kiss π₯
if the remote is running an older version of confy (pre-config.json, still on tracked.json), confy will refuse to connect and tell you to update confy on that host first. she's not doing backwards compatibility drama π
:su works through a mounted device: sshfs presents remote files under your own uid, so pkexec can elevate to local root and write through the mount even for root-owned remote files.
β οΈ for:suto work through a device mount, your local machine needsuser_allow_otheruncommented in/etc/fuse.conf. confy will tell you if this is missing. so like, don't come for her if you skipped this step π
πΈ CONFIGURATION πΈ
confy stores its state in ~/.config/confy/config.json. if upgrading from an older version with tracked.json, confy migrates it automatically on first run. automatic. seamless. iconic. β¨
π SETTINGS
all settings live under the settings key in config.json:
rollbackβ boolean. save a backup before opening files for editing. default:truethemeβ string. active color theme name. default:"catppuccin"editorβ string. override$EDITORfor opening files. useful for.desktoplaunchers where the env var may not be set.streamer_modeβ boolean. hide full paths and timestamps in the file list. default:falsestreamer_hide_gitβ boolean. in streamer mode, also hide git-blacklisted files. default:truessh_allowβ boolean. enable the:devicesshfs integration. set tofalseif you don't use it. default:truebackground_enableβ boolean. draw a solid background color instead of the terminal default. default:falsebackground_colorβ string. hex color for the background whenbackground_enableistrue. default:"#1e1e2e"colorsβ object. custom colors for the ui. supports hex codes (#rrggbb) and named colors (black,red,green,yellow,blue,magenta,cyan,white,default). keys:bg,fg,highlight,group,border.
π GIT SETTINGS
git_dirβ string. path to the dotfiles git repository. default:"~/dotfiles-git"git_blacklistβ array of strings. tracked file paths to exclude from:git sync.git_blacklist_groupsβ array of strings. group names to exclude entirely from:git sync.git_auto_pushβ boolean. reserved for future use. default:falsegit_auto_commitβ boolean. reserved for future use. default:false
π FILES π
~/.config/confy/config.jsonβ main configuration and tracked file list~/.cache/confy/mounts/β sshfs mountpoints for remote device profiles/tmp/<filename>.confbakβ rollback backups (gzip compressed, overwritten on each open)
β ENVIRONMENT β
EDITOR β editor to open files with. overridden by the editor setting in config.json. falls back to nano(1) if neither is set. ngl, please set your editor π
π¦ EXAMPLES π¦
# add a config file
:ac hyprland
# move it to a group
:mg hyprland
# search for a file
/hypr
# roll back after breaking something
:rb
# switch theme
:theme gruvbox
# browse a remote server's configs
:device myserver
:su
:device local
# set up dotfiles repo
:git dir ~/dotfiles
:git commit
# blacklist your .env before pushing
:bl
:git push
π SEE ALSO π
sshfs(1), pkexec(1), git(1) β the supporting cast, all legends π«Ά
π₯ BUGS π₯
report bugs at https://github.com/confyorg/confy/issues β she's not buggy, she's just got lore. but fr, file them there π
π AUTHOR π
phluxjr
π LICENSE π
GPL-3.0-or-later
so that's the whole page, bestie π this was version 3.1.0, dated 2026-08-10, from the confy manual β go forth and organize those dotfiles, you absolute icon β¨ππ¦
π¦ where this page comes from
- nixpkgs unstable: confy-tui 3.1.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms