unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* How to package inputrc
@ 2020-07-12 22:01 Jonathan Brielmaier
  2020-07-13  1:17 ` Bengt Richter
  0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Brielmaier @ 2020-07-12 22:01 UTC (permalink / raw)
  To: Guix-devel

Hi folks,

an annoying thing for me in a default Guix installation is the lack of
an inputrc definition[0]. So while using the shell I miss going through
my bash history via "page up"/"page down" keys.

To tackle this issue I created a simple inputrc and copied to
`/etc/inputrc`:
```
# alternate mappings for "page up" and "page down" to search the history
"\e[5~": history-search-backward
"\e[6~": history-search-forward
```

In order to achieve this more elegant I could write a simple service to
copy the file to /etc. Another option would be a small package.

I think other distros provide one in the default, basic installation:
ArchLinux[1], Debian[2] and openSUSE has even a longer one.

Are others missing that too? What do you think?

Good night
Jonathan

[0] https://wiki.archlinux.org/index.php/Readline
[1]
https://git.archlinux.org/svntogit/packages.git/plain/trunk/inputrc?h=packages/readline
[2] https://packages.debian.org/buster/all/readline-common/filelist


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

* Re: How to package inputrc
  2020-07-12 22:01 Jonathan Brielmaier
@ 2020-07-13  1:17 ` Bengt Richter
  0 siblings, 0 replies; 6+ messages in thread
From: Bengt Richter @ 2020-07-13  1:17 UTC (permalink / raw)
  To: Jonathan Brielmaier; +Cc: Guix-devel

On +2020-07-13 00:01:32 +0200, Jonathan Brielmaier wrote:
> Hi folks,
> 
> an annoying thing for me in a default Guix installation is the lack of
> an inputrc definition[0]. So while using the shell I miss going through
> my bash history via "page up"/"page down" keys.
> 
> To tackle this issue I created a simple inputrc and copied to
> `/etc/inputrc`:
> ```

What hat are you wearing? Admin or user as logged in, or user as user
of a particular app, or?

Of course, as owner of your machine, you may do as you please, if you can ;-)

But IMO user preferences should stay out of the root directory, like /etc/...
so I would put your mods in $HOME/.inputrc, as your ArchLinux referece [0] discusses,
or maybe under ~/.emacs.d/ if it's just emacs you want to tweak.

As you say, other distros provide defaults, but unless you want to modify
everyone's experience who logs in on the machine, I would say stick to
$HOME/.something, where something IMO should not be more global in effect than need be.

Think twice about anything you need sudo to accomplish :)

I think it is a kind of namespace hygiene problem, when it is not clear who gets
to define names and what they do under what circumstances.

My 2¢ ;-)

> # alternate mappings for "page up" and "page down" to search the history
> "\e[5~": history-search-backward
> "\e[6~": history-search-forward
> ```
> 
> In order to achieve this more elegant I could write a simple service to
> copy the file to /etc. Another option would be a small package.
> 
> I think other distros provide one in the default, basic installation:
> ArchLinux[1], Debian[2] and openSUSE has even a longer one.
> 
> Are others missing that too? What do you think?
> 
> Good night
> Jonathan
> 
> [0] https://wiki.archlinux.org/index.php/Readline
> [1]
> https://git.archlinux.org/svntogit/packages.git/plain/trunk/inputrc?h=packages/readline
> [2] https://packages.debian.org/buster/all/readline-common/filelist
> 

-- 
Regards,
Bengt Richter


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

* Re: How to package inputrc
@ 2020-07-13 17:26 Jesse Gibbons
  2020-07-13 18:30 ` Efraim Flashner
  0 siblings, 1 reply; 6+ messages in thread
From: Jesse Gibbons @ 2020-07-13 17:26 UTC (permalink / raw)
  To: guix-devel

> In order to achieve this more elegant I could write a simple service to
> copy the file to /etc. Another option would be a small package.

I like the service idea a lot better. It appears to me that Guix is designed for services to deal with the more customizable parts of the installation, whereas packages are standard. /etc/inputrc is one of those things each system admin would want to customize, just like most of the things in /etc.



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

* Re: How to package inputrc
  2020-07-13 17:26 How to package inputrc Jesse Gibbons
@ 2020-07-13 18:30 ` Efraim Flashner
  2020-07-13 18:35   ` Efraim Flashner
  0 siblings, 1 reply; 6+ messages in thread
From: Efraim Flashner @ 2020-07-13 18:30 UTC (permalink / raw)
  To: Jesse Gibbons; +Cc: guix-devel

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

On Mon, Jul 13, 2020 at 11:26:59AM -0600, Jesse Gibbons wrote:
> > In order to achieve this more elegant I could write a simple service to
> > copy the file to /etc. Another option would be a small package.
> 
> I like the service idea a lot better. It appears to me that Guix is designed for services to deal with the more customizable parts of the installation, whereas packages are standard. /etc/inputrc is one of those things each system admin would want to customize, just like most of the things in /etc.

I'll go ahead and link to my os-release service here. It's a small
service that creates an /etc/os-release file. The service in action¹ and
the actual service itself. It would also be possible to create an even
simpler file than the one I made here², with something like this:

(define %inputrc
  (plain-file "inputrc"
              "set show-mode-in-prompt on\n"
              "set enable-bracketed-paste on\n"
              "set editing-mode vi\n"
              "Control-l: clear-screen\n"
              "set bell-style visible\n"))

¹ https://gitlab.com/Efraim/guix-config/-/blob/master/E5400_config.scm#L68
² https://gitlab.com/Efraim/guix-config/-/blob/master/config/os-release.scm

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: How to package inputrc
  2020-07-13 18:30 ` Efraim Flashner
@ 2020-07-13 18:35   ` Efraim Flashner
  2020-07-13 22:01     ` Marius Bakke
  0 siblings, 1 reply; 6+ messages in thread
From: Efraim Flashner @ 2020-07-13 18:35 UTC (permalink / raw)
  To: Jesse Gibbons; +Cc: guix-devel

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

On Mon, Jul 13, 2020 at 09:30:31PM +0300, Efraim Flashner wrote:
> On Mon, Jul 13, 2020 at 11:26:59AM -0600, Jesse Gibbons wrote:
> > > In order to achieve this more elegant I could write a simple service to
> > > copy the file to /etc. Another option would be a small package.
> > 
> > I like the service idea a lot better. It appears to me that Guix is designed for services to deal with the more customizable parts of the installation, whereas packages are standard. /etc/inputrc is one of those things each system admin would want to customize, just like most of the things in /etc.
> 
> I'll go ahead and link to my os-release service here. It's a small
> service that creates an /etc/os-release file. The service in action¹ and
> the actual service itself. It would also be possible to create an even
> simpler file than the one I made here², with something like this:
> 
> (define %inputrc
>   (plain-file "inputrc"
>               "set show-mode-in-prompt on\n"
>               "set enable-bracketed-paste on\n"
>               "set editing-mode vi\n"
>               "Control-l: clear-screen\n"
>               "set bell-style visible\n"))

The above wouldn't actually work. It needs a string-append or to not be
multiple strings.


> ¹ https://gitlab.com/Efraim/guix-config/-/blob/master/E5400_config.scm#L68
> ² https://gitlab.com/Efraim/guix-config/-/blob/master/config/os-release.scm
> 
> -- 
> Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted



-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: How to package inputrc
  2020-07-13 18:35   ` Efraim Flashner
@ 2020-07-13 22:01     ` Marius Bakke
  0 siblings, 0 replies; 6+ messages in thread
From: Marius Bakke @ 2020-07-13 22:01 UTC (permalink / raw)
  To: Efraim Flashner, Jesse Gibbons; +Cc: guix-devel

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

Efraim Flashner <efraim@flashner.co.il> writes:

> On Mon, Jul 13, 2020 at 09:30:31PM +0300, Efraim Flashner wrote:
>> On Mon, Jul 13, 2020 at 11:26:59AM -0600, Jesse Gibbons wrote:
>> > > In order to achieve this more elegant I could write a simple service to
>> > > copy the file to /etc. Another option would be a small package.
>> > 
>> > I like the service idea a lot better. It appears to me that Guix is designed for services to deal with the more customizable parts of the installation, whereas packages are standard. /etc/inputrc is one of those things each system admin would want to customize, just like most of the things in /etc.
>> 
>> I'll go ahead and link to my os-release service here. It's a small
>> service that creates an /etc/os-release file. The service in action¹ and
>> the actual service itself. It would also be possible to create an even
>> simpler file than the one I made here², with something like this:
>> 
>> (define %inputrc
>>   (plain-file "inputrc"
>>               "set show-mode-in-prompt on\n"
>>               "set enable-bracketed-paste on\n"
>>               "set editing-mode vi\n"
>>               "Control-l: clear-screen\n"
>>               "set bell-style visible\n"))
>
> The above wouldn't actually work. It needs a string-append or to not be
> multiple strings.

Or use 'mixed-text-file' instead of 'plain-file'.  Though 'string-join'
might be clearer in this case.  :-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

end of thread, other threads:[~2020-07-13 22:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-13 17:26 How to package inputrc Jesse Gibbons
2020-07-13 18:30 ` Efraim Flashner
2020-07-13 18:35   ` Efraim Flashner
2020-07-13 22:01     ` Marius Bakke
  -- strict thread matches above, loose matches on Subject: below --
2020-07-12 22:01 Jonathan Brielmaier
2020-07-13  1:17 ` Bengt Richter

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).