Re: How to package inputrc

2020-07-13 Thread Marius Bakke
Efraim Flashner  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.  :-)


signature.asc
Description: PGP signature


Re: How to package inputrc

2020-07-13 Thread Efraim Flashner
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  אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted



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


signature.asc
Description: PGP signature


Re: How to package inputrc

2020-07-13 Thread Efraim Flashner
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  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: How to package inputrc

2020-07-13 Thread Jesse Gibbons

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.




Re: How to package inputrc

2020-07-12 Thread Bengt Richter
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



How to package inputrc

2020-07-12 Thread Jonathan Brielmaier
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