Commit graph

16 commits

Author SHA1 Message Date
Clément DOUIN 10de8e9fb4
release v1.0.0-beta.4 2024-04-16 22:26:10 +02:00
Jalil David Salamé Messina ed5407a5c7
remove flake-utils from the flake inputs
As requested in <https://todo.sr.ht/~soywod/pimalaya/131> I removed
flake-utils. This reduces the number of flake inputs and doesn't add
much code.

The way this works, is that instead of `eachDefaultSystem` we have a
function `forEachSupportedSystem`, this function generates an attrset
with a key for each system in the `supportedSystems` array, whose value
is the result of calling the provided function with the system as an
argument:

```nix repl
repl> forEachSupportedSystem f
{
  "x86_64-linux" = f "x86_64-linux";
  ...
}
```

This is slightly clumsier than `flake-utils.lib.eachDefaultSystem`,
which rewrites the returned attrset, but it is much less code and
simpler to understand.

I tested the build with `nix build` on `x86_64-linux` and it still works
c:
2024-03-09 13:54:37 +01:00
Clément DOUIN 1699a581ce
update flake and cargo 2024-02-25 09:07:40 +01:00
Clément DOUIN 12e71a5ba8
improve release process 2024-01-01 16:22:30 +01:00
Clément DOUIN 131acd6230
update flake deps, fix gh release interpreter 2023-12-31 11:05:08 +01:00
Clément DOUIN 7ad1772c83
update pimalaya libs, prepare v0.9.0 2023-08-28 09:05:14 +02:00
Clément DOUIN c254f64569
refactor builders and sync 2023-06-13 10:14:20 +02:00
Clément DOUIN 21f67bc7f5
set up imap oauth2 config 2023-05-04 12:17:43 +02:00
Clément DOUIN e271ca4293
fix different toolchain channel between shells and packages 2023-05-01 16:13:31 +02:00
Clément DOUIN 84003f951a
improve cross compilation, prepare v0.7.2 2023-05-01 00:19:59 +02:00
Clément DOUIN 694173b534
release v0.7.0 (#433)
* update codebase with email lib changes (#431)

update himalaya-lib, rename remaining mbox vars

add missing methods from lib

update changelog

* fixed missing folder aliases #430

* improve README links

* fix README repology link

* fix README repology table

* fix README repology table 2

* center README repology table

* fix README cosmetic issues

* fix README cosmetic issues 2

* fix README title

* fix README wiki links

* fix lock file

* prepare v0.6.2

* fix ci

* try some musl builds #356

* add musl build to artifact #356

* add musl build to deployment pipeline #356

* migrate clap v4, add man command #419

* add option to choose color manually #407

* update links and badges

* update matrix badge

* add github release version badge

* update badges links

* fix code bloc type

* fix tests

* fix cargo lock

* generate all man pages for all subcommands #419

* fix query and headers arg parsers

* fix invalid flags and options due to clap v4 migration

* fix tests

* remove -l|--log-level option

* refactor contributing guide

* update lib

* fix flags string printer

* make commands read, attachments, copy, move and delete accept multiple ids

* fix ids arg parser

* fix flags subcommands conflicts between ids and flags

* flip back copy and move arguments

* add issue template (#439)

* update lib, prepare for sync feature

* update himalaya lib, fix senders and config

* update lock file himalaya lib

* fix sync enabling issues

* fix wrong imap backend init in main file

* fix notmuch backend post sync feature

* configuration wizard (#432)

* make DeserializedConfig::path more robust

With this change, himalaya uses the crate `dirs` in order to follow XDG
specifications on Unix, Known Folder on Windows and Standard Directories
on MacOS. This gives us much smoother cross-platform support. It still
has the same fallbacks (`$HOME/.config/himalaya/config.toml` and
`$HOME/.himalayarc`.)

Additionally, this commit removes a bit of in-house code-bloat.

* add wizard entrypoint and basic structure

* wip

* feat: impl Serialize for all DeserializedConfigs

* feat: select default account and write to file

* feat: add SMTP part of wizard

* build: update lockfile

* refactor: separate out multiple files for wizard

* style: friendlier and prettier messages

* feat: add maildir part of wizard

* feat: add notmuch part of wizard

* chore: clippy lints and reorder prompts

* fix: contrived solution to serializing None values

* fix: allow empty Option field when deserializing

* style: address PR review comments

* fix: utilize notmuch lib in finding database path

* fix notmuch wizard

---------

Co-authored-by: Clément DOUIN <clement.douin@posteo.net>

* add account sync progress bar

* improve sync spinner

* make the sync dry run flag show patches without applying them

* update himalaya lib, increase imap session pool size

* add disable cache flag

* add nlnet logo in readme

* update himalaya lib deps, make use of sync reports

* prepare v0.7.0

* bump rustc v1.67.0 and clap v4.1.4

* bump himalaya lib v0.5.1, fix flake lock file

---------

Co-authored-by: janabhumi <dmitriy@ideascup.me>
Co-authored-by: Knut Magnus Aasrud <km@aasrud.com>
2023-02-08 16:03:45 +01:00
Clément DOUIN 1dcdfa8afa
update nix flake 2022-09-28 22:28:08 +02:00
Clément DOUIN 8cdeba62a1
release v0.5.2 (#282)
* doc: fix blur in list msg screenshots (#181)

* fix a typo in mbox arg (#245)

`targetted` to `targeted` 👌🏻

* make inbox, sent and drafts folder customizable (#246)

* mbox: make inbox, sent and drafts folder customizable

* msg: update send handler parameters order

* vim: fix extracting message ids from list (#247)

The current method doesn't work because the list uses a fancy line
character (`│`) as the separator, not a regular pipe character (`|`).
Matching for the first number in the line instead solves the problem and
will continue to work regardless of what separator is used.

* add new line after printing strings (#251)

* init cargo workspace (#252)

* init cargo workspaces

* nix: fix assets path

* doc: update rtp vim plugin

* vim: add error message if loading vim plugin from vim/

* init sub crates (#253)

* init sub crates

* doc: update readme

* doc: improve main readme

* doc: add links, add missing crate task

* doc: update emojis

* update cargo lock

* implement contact completion with completefunc (#250)

This allows users to define a command for contact completion with
`g:himalaya_complete_contact_cmd` and trigger it with `<C-x><C-u>` when
writing an email.

* fix clippy lints (#255)

* revert cargo workspace feature

* fix nix run (#274)

* replace cargo2nix by naersk

* add rust-analyzer and rustfmt to nix build inputs

* remove wiki from git submodules, update changelog

* fix missing range when fetch fails, add more logs (#276)

* add missing fix in changelog

* remove blank lines and spaces from plain parts (#280)

* fix watch command (#271)

* remove also tabs from text parts (#280)

* pin native-tls minor version (#278)

* improve msg sanitization (#280)

* fix mbox vim plugin telescope preview (#249)

* bump version v0.5.2

* update changelog

Co-authored-by: Austin Traver <austintraver@gmail.com>
Co-authored-by: Jason Cox <dev@jasoncarloscox.com>
Co-authored-by: Gökmen Görgen <gkmngrgn@gmail.com>
Co-authored-by: Ethiraric <ethiraric@gmail.com>
2022-02-02 02:21:35 +01:00
toastal f77f33b2d8
fix vim plugin + update flake references (#182)
* Nix dependencies updated

* fix vim plugin build
2021-08-03 15:11:52 +02:00
toastal 0d7b490f98
include vim plugin inside nix package (#157) 2021-06-03 16:51:48 +02:00
Sridhar Ratnakumar 76f9084f91
add nix support (#76)
* Add default.nix for nix support

* Convert to flake

* gitignore before building the source

* Add default.nix and shell.nix for legacy workflows

* Use https://github.com/oxalica/rust-overlay

This one works for development workflow, with a functional rust-analyzer for using with language server support in IDEs.

Also add .vscode/ for pre-configured settings.

* Add documentation

* Restore old TOC and apply TOC patch manually

* Clarify that these two commands are either-or

* Add installing from local checkout (nix-env)

* Add note about version update

* Improve Nix workflow, for zero maintenance

Use https://github.com/nmattia/naersk

This avoids having to set a sha and version in Nix scripts.

* Simplify using crate2nix

Ref: https://www.reddit.com/r/rust/comments/mmbfnj/nixifying_a_rust_project/

* Use rootCrate

* Propagate openssl deps to non-shell build

* Try the oxalica overlay

* Get rid of gitignore crate

cf. https://www.reddit.com/r/rust/comments/mmbfnj/nixifying_a_rust_project/gtsgxal/?context=3

* Configure himalaya crate under defaultCrateOverrides

* Specify openssl in buildInputs

* Make a note about a potential error when using Nix 2.4pre

* Remove PKG_CONFIG_PATH (unnecessary)

* Add cargo-watch

Co-authored-by: Alexander Bantyev <balsoft@balsoft.ru>

Co-authored-by: Alexander Bantyev <balsoft@balsoft.ru>
2021-04-18 00:06:11 +02:00