warpdotdev / Warp

Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
https://warp.dev
Other
20.77k stars 348 forks source link

Export/access readable Warp config file #3447

Open AlecRust opened 1 year ago

AlecRust commented 1 year ago

Describe the solution you'd like?

I'd like to be able to export or otherwise access my Warp config in a readable format (JSON, TOML, YAML etc.) so that I can version the config along with my other dotfiles, and script the configuration of Warp on a new machine.

I see you support saving some config in ~/.warp/launch_configurations/ which is great, I'd just like to be able to save the rest of Warp config too i.e. all the stuff in the main "Settings" panel.

Something like ~/.warp/warp.toml or ~/.config/warp/config.toml would be cool!

Additional context

Surely this has been requested before, but I can't find a similar issue 🤷

How important is this feature to you?

4

Warp Internal (ignore) - linear-label:770f6576-d6c0-4e4f-a259-fc64b5156087

None

warpdotdev-devx[bot] commented 1 year ago

Thanks for this feature request! I know you can run the following command to read the settings for Warp (stored in a dictionary on your Mac) defaults read dev.warp.Warp-Stable, so as a possible workaround, there may be a way to import that dictionary to a new Mac.

To anyone else interested in this feature, please add a 👍 to the original post at the top to signal that you want this feature, and subscribe if you'd like to be notified.

AlecRust commented 1 year ago

Thanks, useful to know I can read the config in that way.

Just for reference, iTerm2 has a command to set the preferences directory:

defaults write com.googlecode.iterm2.plist PrefsCustomFolder -string "~/projects/dotfiles/iterm2-settings"

A config file somewhere in the home directory that just allowed configuring Appearance, Features, Keybindings etc. would be great.

nathanchere commented 5 months ago

Not having easy and convenient access to configuration files for a given piece of software usually tells me one of three things about it.

  1. it's not a serious project
  2. it was written with a 'Windows-first' or 'mobile-first' thinking
  3. it has something to hide
strelok commented 4 months ago

super strange that you are working on 'one terminal for mac/windows/linux' and it's not possible to have the same config out of the box...

mxkxf commented 3 months ago

Hacking around with this as I'm getting a new machine soon so don't want to have to write all my config down when I need something to refer back to.

defaults export dev.warp.Warp-Stable -

This will dump Warp config to stdout as an XML plist. I imagine there's XML parsing library in Rust, or could use something intermediary to convert from XML to JSON/YAML/TOML etc.

Or there's probably a way to take this output and use defaults write on the other side?

leeyyl commented 2 months ago

I want this feature too because I'm on the new machine and I need to configure warp again. It's very annoying...

GraemeF commented 2 months ago

It'd be great to be able to add Warp configuration to the dotfiles repo that I manage with chezmoi.

tonybenoy commented 2 months ago

Thanks for this feature request! I know you can run the following command to read the settings for Warp (stored in a dictionary on your Mac) defaults read dev.warp.Warp-Stable, so as a possible workaround, there may be a way to import that dictionary to a new Mac.

To anyone else interested in this feature, please add a 👍 to the original post at the top to signal that you want this feature, and subscribe if you'd like to be notified.

Is there a way to do this in Linux?

smbecker commented 2 months ago

Thanks for this feature request! I know you can run the following command to read the settings for Warp (stored in a dictionary on your Mac) defaults read dev.warp.Warp-Stable, so as a possible workaround, there may be a way to import that dictionary to a new Mac. To anyone else interested in this feature, please add a 👍 to the original post at the top to signal that you want this feature, and subscribe if you'd like to be notified.

Is there a way to do this in Linux?

I believe that the config files are just stored in $HOME/.config/warp-terminal