id = "nvpy" name = "nvPY" homepage = "https://github.com/cpbotha/nvpy" description = "Simplenote syncing note-taking application, inspired by Notational Velocity and ResophNotes." # The repository's own description, trimmed of its closing aside. # The app icon shipped in the project's repository. icon = "https://raw.githubusercontent.com/cpbotha/nvpy/master/nvpy/icons/nvpy_icon_256x256.png" executables = ["nvpy"] [dotfiles] # README: "Create a file called .nvpy.cfg in your home directory". nvpy/nvpy.py # reads it with ConfigParser under a single `[nvpy]` section — `cp.get(cfg_sec, # 'sn_username')`, `'theme'`, `'font_family'`, `'font_size'`, `'layout'`, the # whole colour set (`text_color`, `background_color`, …) and the search and # sort modes. That is an INI file the user wrote, so it syncs as content with # the credential below carved out. paths = ["~/.nvpy.cfg"] # nvpy/nvpy.py: `'db_path': os.path.join(home, '.nvpy')` — the local note # database and its Simplenote sync state, not configuration. exclude = ["~/.nvpy/"] secret = [] # Same file: `self.sn_password = cp.get(cfg_sec, 'sn_password', raw=True)`. # nvpy stores the Simplenote account password in the config file in the clear — # the README's minimal example is `sn_username` plus `sn_password` — so that # one line is lifted out. `sn_username` stays: it is an account name, not a # secret, and without it the rest of the file makes no sense. [[dotfiles.secret_paths]] file = "~/.nvpy.cfg" match = { prefix = ["sn_password"] } # No machine_lines: fonts, colours, layout and search behaviour are exactly # what a user wants on the next machine. `db_path` and `txt_path` name # directories, but nvpy's own defaults put both under the home directory, so # they are as portable as the rest rather than facts about one laptop.