unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Emacs UI for Guix (GSOC)
@ 2014-03-21 10:55 Yagnesh Raghava Yakkala
  2014-03-21 13:50 ` Ludovic Courtès
  2014-03-22 18:29 ` Ludovic Courtès
  0 siblings, 2 replies; 6+ messages in thread
From: Yagnesh Raghava Yakkala @ 2014-03-21 10:55 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 312 bytes --]


Hello all,

I know its too late and few hours before the dead line of GSOC
application. Anyway I wrote a proposal based on previously discussed by Xue¹
in the list. I am attaching that here.  I would like to work on this whether
or not I will get selected for GSOC. I seek your comments (especially
Ludovic.)


[-- Attachment #2: proposal.org --]
[-- Type: text/x-org, Size: 5047 bytes --]

* Title
Emacs UI for Guix.

* Abstract
Guix¹ is purely functional package manger for GNU system. Guix, in addition to
standard package management features, supports transactional upgrades and
roll-backs, unprivileged package management. Package.el is a simple package
manager for GNU Emacs², which downloads and installs the Elisp packages from
different package archives. This project "Emacs UI for Guix" (or guix.el) aims
to create an User Interface (UI) for Guix above GNU Emacs analogous to Emacs
package.el. Guix.el provides an easy interface for guix command line to build,
install, upgrade, rollback and create packages for GNU system.

* Content
This package (guix.el) will include a interface that lets the user to easily
install (by name or by expression), remove, upgrade, and roll back packages.
Of course, guix.el can also list the available and/or installed packages from
the Emacs. guix.el provides an easy key bindings (similar to Package.el for
Emacs) for guix command line operations. This package interacts with guix in
the background and tries to hide the complexity of command line
options/arguments of guix.

The command `guix-describe-package' can prompt for the name of a package, and
display a help buffer describing the package.  The buffer includes the name,
version, source, dependencies, home page, license(s) and other descriptions of
the package.

`M-x guix-list-packages' will bring up a buffer named `*Guix Packages*'
with a list of all packages.  User can install or uninstall packages via
this buffer.

The `*Guix Packages*' buffer will list all the packages that Guix knows
about, one on each line, with the following information:

   * The package name (e.g., `emacs').

   * The package's version number (e.g., `24.3').

   * The package's status (installed/available).

   * A short description of the package.

The following key bindings will be available in the `*Guix Packages*' buffer:

`h'
     Print a short message which summarizes available key bindings
      and their meanings (`guix-quick-help').

`?'
`<RET>'
     Display a help buffer for the package on the current line
     (`guix-describe-package'), similar to the help window
     displayed by the `C-h P' command of Package.el.

`i'
     Mark the package on the current line for installation
     (`guix-mark-install').  If the package status is `available', this
     adds an `I' character to the start of the line; typing `x' (see
     below) will download and install the package.

`d'
     Mark the package on the current line for deletion
     (`guix-mark-delete').  If the package status is `installed', this
     adds a `D' character to the start of the line; typing `x' (see
     below) will delete the package.

`u'
     Remove any installation or deletion mark previously added to the
     current line by an `i' or `d' command.

`U'
     Mark all package with a newer available version for “upgrading”
     (`guix-mark-upgrades').  This places an installation mark on the
     new available versions, and a deletion mark on the old installed
     versions.

`x'
     Download and install all packages marked with `i', and their
     dependencies; also, delete all packages marked with `d'
     (`guix-execute').  This also removes the marks.

`r'
     Refresh the package list (`guix-refresh').  Download the archive
     contents again and recomputes the package list.

`R'
     Roll back to the previous generation of the profile
     (`guix-roll-back').  This undo the last transaction.

`g'
     Rebuild the tabulated list of packages that have been downloaded
     previously.  See `r' (guix pull) to check package updates.

For example, user can install a package by typing `i' on the line listing
that package, followed by `x'.

User can also use the command `M-x guix-package-install' and `M-x
guix-package-remove' to install/remove a package.


* Timeline of the development.
** Before April 21:
- Getting familiar with guix concepts and code base
- Study Emacs Package.el implementation.
- Adding new package to guix.

** April 20 – May 23:
- Start on guix.el coding.
- Initial work on Elisp interface of guix function calls.
- Finalizing on guix.el implementation concepts that includes how to interact
  with guix from Emacs.

** May 24 – July 15:
- Implementation of glue code between Elisp and Guix.
- Work towards primary usable implementation of guix.el.

** July 16 – July 24:
- Code cleanup
- Fixing initial reported bugs.
- Preparing for submission of mid term evaluation

** June 27th Mid term evaluation

** June 28  – July 15:
- Further changes to improve code functionality.
- Refactoring code if required.
- Writing tests

** July 15 – July 25:
- Start working on documentation to meet GNU documentation standards.
- Fixing remaining bugs.
- Code cleanup

** July 26 - August 11
- reserved time left for unexpected delays.
- During whole period I will be communicating with mentor in guix IRC channel.

* Links

¹  http://www.gnu.org/software/guix/
²  http://www.gnu.org/software/emacs/

[-- Attachment #3: Type: text/plain, Size: 174 bytes --]


¹  http://article.gmane.org/gmane.comp.gnu.guix.devel/1675

Thanks
--
ఎందరో మహానుభావులు అందరికి వందనములు.
YYR

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Emacs UI for Guix (GSOC)
  2014-03-21 10:55 Emacs UI for Guix (GSOC) Yagnesh Raghava Yakkala
@ 2014-03-21 13:50 ` Ludovic Courtès
  2014-03-21 14:04   ` Yagnesh Raghava Yakkala
  2014-03-22 18:29 ` Ludovic Courtès
  1 sibling, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2014-03-21 13:50 UTC (permalink / raw)
  To: Yagnesh Raghava Yakkala; +Cc: guix-devel

Hi!

Yagnesh Raghava Yakkala <hi@yagnesh.org> skribis:

> I know its too late and few hours before the dead line of GSOC
> application. Anyway I wrote a proposal based on previously discussed by Xue¹

Heh, we can thank him.  ;-)

> in the list. I am attaching that here.  I would like to work on this whether
> or not I will get selected for GSOC. I seek your comments (especially
> Ludovic.)

I don’t see significant differences compared to what we originally
discussed with Xue, and I like the proposal.

One thing the proposal doesn’t mention is the possibility to have an
additional mode to browse the generation history.  I think it’d be nice
to keep it as a “bonus item”.

> * Timeline of the development.
> ** Before April 21:
> - Getting familiar with guix concepts and code base
> - Study Emacs Package.el implementation.
> - Adding new package to guix.
>
> ** April 20 – May 23:
> - Start on guix.el coding.
> - Initial work on Elisp interface of guix function calls.
> - Finalizing on guix.el implementation concepts that includes how to interact
>   with guix from Emacs.

An open question is whether to rely on Geiser for communication between
Emacs and Guix.  I suggest discussing it with jao, the author of Geiser.

> ** May 24 – July 15:
> - Implementation of glue code between Elisp and Guix.
> - Work towards primary usable implementation of guix.el.
>
> ** July 16 – July 24:
> - Code cleanup
> - Fixing initial reported bugs.
> - Preparing for submission of mid term evaluation
>
> ** June 27th Mid term evaluation
>
> ** June 28  – July 15:
> - Further changes to improve code functionality.
> - Refactoring code if required.
> - Writing tests
>
> ** July 15 – July 25:
> - Start working on documentation to meet GNU documentation standards.
> - Fixing remaining bugs.
> - Code cleanup
>
> ** July 26 - August 11
> - reserved time left for unexpected delays.
> - During whole period I will be communicating with mentor in guix IRC channel.

Looks good to me!

Also, an important part of GSoC, IMO, is communication.  So I’d expect
that we keep in touch on IRC and the mailing list during GSoC, so we can
share our thoughts, problems, experience, etc.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Emacs UI for Guix (GSOC)
  2014-03-21 13:50 ` Ludovic Courtès
@ 2014-03-21 14:04   ` Yagnesh Raghava Yakkala
  0 siblings, 0 replies; 6+ messages in thread
From: Yagnesh Raghava Yakkala @ 2014-03-21 14:04 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


Hello Ludovic,

On Mar 21 2014, ludo@gnu.org (Ludovic Courtès) wrote:

> Hi!
>
> Yagnesh Raghava Yakkala <hi@yagnesh.org> skribis:
>
>> I know its too late and few hours before the dead line of GSOC
>> application. Anyway I wrote a proposal based on previously discussed by Xue¹
>
> Heh, we can thank him.  ;-)

Yes.  Big thanks to him. 

>
>> in the list. I am attaching that here.  I would like to work on this whether
>> or not I will get selected for GSOC. I seek your comments (especially
>> Ludovic.)
>
> I don’t see significant differences compared to what we originally
> discussed with Xue, and I like the proposal.
>
> One thing the proposal doesn’t mention is the possibility to have an
> additional mode to browse the generation history.  I think it’d be nice
> to keep it as a “bonus item”.

Yes, you raised that in a reply to Xue's mail. I will include that as well.

>> * Timeline of the development.
>> ** Before April 21:
>> - Getting familiar with guix concepts and code base
>> - Study Emacs Package.el implementation.
>> - Adding new package to guix.
>>
>> ** April 20 – May 23:
>> - Start on guix.el coding.
>> - Initial work on Elisp interface of guix function calls.
>> - Finalizing on guix.el implementation concepts that includes how to interact
>>   with guix from Emacs.
>
> An open question is whether to rely on Geiser for communication between
> Emacs and Guix.  I suggest discussing it with jao, the author of Geiser.

I will mail him, before so I will look into Geiser code. 

>
>> ** May 24 – July 15:
>> - Implementation of glue code between Elisp and Guix.
>> - Work towards primary usable implementation of guix.el.
>>
>> ** July 16 – July 24:
>> - Code cleanup
>> - Fixing initial reported bugs.
>> - Preparing for submission of mid term evaluation
>>
>> ** June 27th Mid term evaluation
>>
>> ** June 28  – July 15:
>> - Further changes to improve code functionality.
>> - Refactoring code if required.
>> - Writing tests
>>
>> ** July 15 – July 25:
>> - Start working on documentation to meet GNU documentation standards.
>> - Fixing remaining bugs.
>> - Code cleanup
>>
>> ** July 26 - August 11
>> - reserved time left for unexpected delays.
>> - During whole period I will be communicating with mentor in guix IRC channel.
>
> Looks good to me!

Thanks.

>
> Also, an important part of GSoC, IMO, is communication.  So I’d expect
> that we keep in touch on IRC and the mailing list during GSoC, so we can
> share our thoughts, problems, experience, etc.

Sure, I will. I will have lot of question as I am very new working with
scheme. 

I will submit the proposal and will send you the final copy.

Thanks.
-- 
ఎందరో మహానుభావులు అందరికి వందనములు.
YYR

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Emacs UI for Guix (GSOC)
  2014-03-21 10:55 Emacs UI for Guix (GSOC) Yagnesh Raghava Yakkala
  2014-03-21 13:50 ` Ludovic Courtès
@ 2014-03-22 18:29 ` Ludovic Courtès
  2014-03-23 20:29   ` Yagnesh Raghava Yakkala
  1 sibling, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2014-03-22 18:29 UTC (permalink / raw)
  To: Yagnesh Raghava Yakkala; +Cc: guix-devel

Yagnesh Raghava Yakkala <hi@yagnesh.org> skribis:

> * Timeline of the development.
> ** Before April 21:
> - Getting familiar with guix concepts and code base
> - Study Emacs Package.el implementation.
> - Adding new package to guix.

Actually, it would really help if you had a first stab on the project
before April 21st.  For instance, I’d like to see the first
implementation of the Emacs/Guix communication framework and ideally a
basic implementation of package listing using tabulated-mode.

Thoughts?

Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Emacs UI for Guix (GSOC)
  2014-03-22 18:29 ` Ludovic Courtès
@ 2014-03-23 20:29   ` Yagnesh Raghava Yakkala
  2014-03-23 20:45     ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Yagnesh Raghava Yakkala @ 2014-03-23 20:29 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


Hello Ludovic,

On Mar 23 2014, ludo@gnu.org (Ludovic Courtès) wrote:

> Yagnesh Raghava Yakkala <hi@yagnesh.org> skribis:
>
>> * Timeline of the development.
>> ** Before April 21:
>> - Getting familiar with guix concepts and code base
>> - Study Emacs Package.el implementation.
>> - Adding new package to guix.
>
> Actually, it would really help if you had a first stab on the project
> before April 21st.  For instance, I’d like to see the first
> implementation of the Emacs/Guix communication framework and ideally a
> basic implementation of package listing using tabulated-mode.
>
> Thoughts?

Yes, I was thinking in the same line. I will put up a repo on github (or
savannah?) and start working on it.


Thanks.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Emacs UI for Guix (GSOC)
  2014-03-23 20:29   ` Yagnesh Raghava Yakkala
@ 2014-03-23 20:45     ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2014-03-23 20:45 UTC (permalink / raw)
  To: Yagnesh Raghava Yakkala; +Cc: guix-devel

Yagnesh Raghava Yakkala <hi@yagnesh.org> skribis:

> On Mar 23 2014, ludo@gnu.org (Ludovic Courtès) wrote:
>
>> Yagnesh Raghava Yakkala <hi@yagnesh.org> skribis:
>>
>>> * Timeline of the development.
>>> ** Before April 21:
>>> - Getting familiar with guix concepts and code base
>>> - Study Emacs Package.el implementation.
>>> - Adding new package to guix.
>>
>> Actually, it would really help if you had a first stab on the project
>> before April 21st.  For instance, I’d like to see the first
>> implementation of the Emacs/Guix communication framework and ideally a
>> basic implementation of package listing using tabulated-mode.
>>
>> Thoughts?
>
> Yes, I was thinking in the same line. I will put up a repo on github (or
> savannah?) and start working on it.

Great, thank you.  (I’d recommend Gitorious here.)

Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-03-23 20:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-21 10:55 Emacs UI for Guix (GSOC) Yagnesh Raghava Yakkala
2014-03-21 13:50 ` Ludovic Courtès
2014-03-21 14:04   ` Yagnesh Raghava Yakkala
2014-03-22 18:29 ` Ludovic Courtès
2014-03-23 20:29   ` Yagnesh Raghava Yakkala
2014-03-23 20:45     ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).