Comments (9)
Thanks for asking, the short answer is "yes, definately". I completely agree that I need make up my mind, settle on an interface, and move on.
Over time a few nice features have been contributed and I'm very grateful for all of the contributions. With those features and their interaction with others, has come a larger amount of complexity than I'd hoped - and that's really my fault.
I've recently found both some free time and motivation to take a step back and try to see a cleaner implementation and that's what I've been commiting to the master
branch. There you will find a new CLI interface (based on Click), which also brings shell completion, colors, and much simplier CLI code.
I didn't mean for it to be a rewrite (I know that's annoying) but it's what works for me given my available free time, so that's the approach I've taken. I've purposely not included anything but the bare minimum features so that I can make sure I get the object model and abstractions correct - before then adding additional features such as configuration files, nested directories/files, prefixes, etc. It would be great to leave some of those out as less code means less complexity and fewer bugs, I'm hoping that folks that use this program will chime in with what's needed and what's not-so-important.
What's in master
at the moment supports only flat repositories - where each dotfile is a file (no directories or packages). If you're curious, I'd love to get your feedback on the progress so far.
My next todo item is to support nested dotfiles and directories (with arbitrary depth instead of 'packages') which I think will both simplify the configuration file and make the application more versitile.
Whatever this current effort ends up becoming, is what will be version 1.0. I've learned a lot since it started and I think the result will be much better. Thanks for reading all of this ;)
from dotfiles.
I'd love to get your feedback on the progress so far.
Sure. If there's anything you want/someone to help out, lemme know. 😄 (goto next comment)
I didn't mean for it to be a rewrite
It's always painful to do rewrites but the end result is always better, unless rushed. Or so I've been told.
My next todo item is to support nested dotfiles and directories (with arbitrary depth instead of 'packages')...
Could you make a TODO file so that other's can chip in with their ideas about what coming? And also to act as a roadmap/guide for others.
Thanks for reading all of this ;)
You're welcome. 😉
Two questions:
- Will dotfiles be sticking to ini format or shifting to something else like JSON, YAML or even TOML to the configuration file?
- TOML is really neat. And if you're are adding dependencies for better UX, TOML is a really good choice, I feel.
- https://github.com/toml-lang/toml
- Once 1.0.0 comes out, could the stale branches be trimmed?
Just couple of throwout suggestions:
- Consider adopting semver from v1.0.0 (http://semver.org/)
- Worth noting: https://gist.github.com/jashkenas/cbd2b088e20279ae2c8e
- I think a 0.7.0 release with all the API/CLI changes should be made followed by a new 1.0.0 release, a few weeks later. This will users a grace period for realizing their dotfiles just got better and easier (to manage).
PS: I have a feeling that I'm going to bother you a bit with a lot of questions and hopefully, balance it out with some help...
[editted]
from dotfiles.
you will find a new CLI interface (based on Click), which also brings shell completion, colors, and much simplier CLI code
Shoutout to @mitsuhiko
Thanks for an awesome CLI library! 🎉
from dotfiles.
I'll add a TODO maybe as a file or in the form of a collection of github issues, as soon as I'm confident about the current baseline.
I don't have an affinity to configuration format, once I get to that point I'll take a look and see what seems like the best fit. Thanks for the suggestions, I didn't know about TOML.
Stale branches will be trimmed, I'll circle back for those pretty soon.
I agree with the semver approach, and a 0.7.0 release will probably be next, certainly not 0.6.x since most things have changed. I would normally bump the major, except that means 1.0 which carries a few other expectations that I don't want to make right away. But 1.0.0 will hopefully follow soon after.
from dotfiles.
Getting really close to the next release, closing this for now. At the moment there is no configuration file at all, only two env vars for overriding repository path and color options. I'll probably release with that and see how many people get angry ;) I need a little time to use it and see if I like the decisions I made, so we'll see. Will trim the branches and update version shortly
from dotfiles.
Any updates? You don't seem to have made any release without the configuration files. 😕
I did fail to mention, the re-write is definitely neater. 😄
Sidenote: I think it might be a good idea to not mix cli and configuration. How about a config.py for all things configuration.
PS: I'm eagerly waiting. 😁 Any ideas as to when this lands?
from dotfiles.
Sorry, I got a chance to do some traveling and then life got a little crazy for a bit. Give me a few days, if I don't get something out by next week I'll owe you a beer (or coffee or tea).
from dotfiles.
Sure thing. No issues. It would be odd if life didn't come in the way. 😛
And, I'm not legally allowed to drink beer yet. 👶
from dotfiles.
You owe me a Coke (or Sprite, depends on my mood).
from dotfiles.
Related Issues (20)
- Logo needed HOT 4
- Use built-in exceptions HOT 2
- Support for encryption HOT 2
- Adding support for non-dot config files HOT 5
- `dotfile sync --force` removes `.config`. HOT 3
- Resolve env variables in .dotfilesrc HOT 1
- Is this repository unmaintained? HOT 1
- Does master read .dotfilesrc? (Edited and summed up for those who think tl;dr) HOT 6
- No more Windows support since 48e781 HOT 4
- An example of why ignore or a list option is useful HOT 2
- Track dotfile not in main folder HOT 11
- master and symlinks HOT 2
- Is an AUR update possible? HOT 2
- How to link non prefixed files not in the home directory? HOT 3
- Horrible! HOT 2
- Feature/Bug: -f clobbers HOT 2
- Request: Update version uploaded to pip HOT 3
- Bug: Hanging link left hanging after sync HOT 2
- End up with .git in my home directory HOT 5
- Maybe not working on 3.12 HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dotfiles.