{"id":18486857,"url":"https://github.com/jrodal98/conf-edit","last_synced_at":"2026-05-01T04:39:06.019Z","repository":{"id":116039991,"uuid":"224795119","full_name":"jrodal98/conf-edit","owner":"jrodal98","description":"An easy way to quickly edit and manage your configuration files.","archived":false,"fork":false,"pushed_at":"2020-05-04T20:13:46.000Z","size":18,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-16T22:18:56.456Z","etag":null,"topics":["configuration-management","dotfiles"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jrodal98.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-29T06:56:29.000Z","updated_at":"2023-01-13T16:33:10.000Z","dependencies_parsed_at":"2023-04-19T03:47:45.749Z","dependency_job_id":null,"html_url":"https://github.com/jrodal98/conf-edit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrodal98%2Fconf-edit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrodal98%2Fconf-edit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrodal98%2Fconf-edit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrodal98%2Fconf-edit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jrodal98","download_url":"https://codeload.github.com/jrodal98/conf-edit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254036843,"owners_count":22003654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["configuration-management","dotfiles"],"created_at":"2024-11-06T12:49:53.883Z","updated_at":"2026-05-01T04:39:01.001Z","avatar_url":"https://github.com/jrodal98.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Conf-edit\n\nAn easy way to quickly edit your configuration files.\n\n* Requirements:\n    * Rust (until I provide a binary, anyway)\n    * unix system (maybe not actually true, but windows is untested)\n\n## Install\n\nCurrently, the only way to install conf-edit is to install by source (hence why Rust is required).\n\nThe easiest way to install the program is to run `cargo install --git https://github.com/jrodal98/conf-edit.git`. Alternatively, you can also do this:\n\n```bash\ngit clone https://github.com/jrodal98/conf-edit.git\ncargo install --path conf-edit\n```\n\n\n## About\n\n`conf-edit` provides an easy, intuitive solution for quickly navigating to configuration files. It essentially stores paths to configuration files and some associated metadata, such as the editor you wish to use and any scripts that you want to execute upon closing the file. It works similarly to aliasing, but is more organized and prevents you from having to memorize different aliases for each file.\n\n## Usage\n\nBetter documentation to come shortly.\n\nCommands:\n\n- `ls`: list all entries\n- `add`: add a new entry\n- `rm`: remove an existing entry\n- `edit`: edit an entry based on its name\n- `execute`: execute the posthook script for a given entry\n\nExamples:\n\n### Adding:\n\n```\nUSAGE:\n    ce add [OPTIONS] \u003cpath\u003e \u003cname\u003e\n\nFLAGS:\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n\nOPTIONS:\n    -e, --editor \u003ceditor\u003e    \n    -s, --script \u003cscript\u003e    \n\nARGS:\n    \u003cpath\u003e    \n    \u003cname\u003e\n```    \n\n```bash\nce add ~/.config/i3/config i3 -s 'i3-msg restart'\nce add ~/software/st/config.h st -e code\nce add ~/.zshrc zsh # 'source ~/.zshrc' doesn't work (not a bug)\n```\n\n### listing:\n\n```\nUSAGE:\n    ce ls\n\nFLAGS:\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n```\n\n```bash\nce ls\n\n{\n    \"zsh\": Entry {\n        path: \"/home/jake/.zshrc\",\n        editor: \"nvim\",\n        hook: \"echo \\'source ~/.zshrc :)\\'\",\n    },\n    \"conf-edit\": Entry {\n        path: \"/home/jake/.config/conf-edit/config.json\",\n        editor: \"nvim\",\n        hook: \"echo \\'conf-edit config edited!\\'\",\n    },\n    \"nvim\": Entry {\n        path: \"/home/jake/.config/nvim/init.vim\",\n        editor: \"nvim\",\n        hook: \"\",\n    },\n    \"kitty\": Entry {\n        path: \"/home/jake/.config/kitty/kitty.conf\",\n        editor: \"nvim\",\n        hook: \"\",\n    },\n}\n```\n\n### Remove:\n\n```\nUSAGE:\n    ce rm \u003cname\u003e\n\nFLAGS:\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n\nARGS:\n    \u003cname\u003e    \n```\n\n```bash\nce rm st\n```\n\n\n### Executing:\n\n```\nUSAGE:\n    ce execute \u003cname\u003e\n\nFLAGS:\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n\nARGS:\n    \u003cname\u003e    \n```\n\n```bash\nce execute i3\n```\n\nThe above example runs the `i3-msg restart` command.\n\n### File editing:\n\n```\nUSAGE:\n    ce edit [FLAGS] \u003cname\u003e\n\nFLAGS:\n    -h, --help       Prints help information\n    -n, --no-exec    \n    -V, --version    Prints version information\n\nARGS:\n    \u003cname\u003e    \n```\n\n```bash\nce edit i3\n```\n\nThis would open my i3 config and then run `i3-msg restart` when I'm done editing.\n\n```bash\nce i3 -n\n```\n\nThis would edit the `i3` entry but not run the posthook.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrodal98%2Fconf-edit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjrodal98%2Fconf-edit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrodal98%2Fconf-edit/lists"}