Re: guix shell init

2023-10-28 Thread Suhail
"jgart"  writes:

> It would create a basic manifest.scm or guix.scm file for the user.

what would the "basic" manifest.scm or guix.scm do? could you share a
sample of what it would look like?

-- 
Suhail

This email is not an offer capable of acceptance, does not evidence an intention
to enter into an agreement, has no operative effect until a definitive agreement
is signed in writing by both parties, and that no party should act in reliance
on the email or any representations of the sender until a definitive agreement
is signed in writing by both parties.

This email may contain information that is privileged, confidential and/or
exempt from disclosure.  No waiver whatsoever is intended by sending this e-mail
which is intended only for the named recipient(s).  Unauthorized use,
dissemination or copying is prohibited.  If you receive this email in error,
please notify the sender and destroy all copies of this email.




Re: guix shell init

2023-10-28 Thread Suhail
"jgart"  writes:

> It would generate this boilerplate somehow:
>
> https://guix.gnu.org/en/blog/tags/cookbook/sk/html_node/Getting-Started.html

i see. i'm relatively new to guix, but i think it would be useful to
have a utility that

- allows us to define some language-specific, and more generally
  "situation-specific", templates

- [optional] allows the appropriate template to be automatically selected

- allows the user to specify the template they desire

cheers

-- 
Suhail

This email is not an offer capable of acceptance, does not evidence an intention
to enter into an agreement, has no operative effect until a definitive agreement
is signed in writing by both parties, and that no party should act in reliance
on the email or any representations of the sender until a definitive agreement
is signed in writing by both parties.

This email may contain information that is privileged, confidential and/or
exempt from disclosure.  No waiver whatsoever is intended by sending this e-mail
which is intended only for the named recipient(s).  Unauthorized use,
dissemination or copying is prohibited.  If you receive this email in error,
please notify the sender and destroy all copies of this email.




Re: Need people to help with kernel updates

2023-10-28 Thread Leo Famulari
Hello everyone,

It seems that linux-libre 6.6 will be released soon.

Would anyone like to try their hand at packaging it for Guix? Wilko, do
you feel up to it?

As I mentioned previously, this requires a bit more work than minor
kernel upgrades because the kernel configs need to be updated.

I'm happy to assist with this, give advice, etc.

Leo



Re: branch master updated: gnu: Add passff.

2023-10-28 Thread Kaelyn





--- Original Message ---
On Saturday, October 28th, 2023 at 8:05 AM, Clément Lassieur 
 wrote:


> 
> 
> On Sat, Oct 28 2023, Christopher Baines wrote:
> 
> > This passff-host package looks a bit odd to me, one thing to mention is
> > that guix show says it has no dependencies, but I don't think that's
> > correct:

I agree about this. When I packaged passff-host locally some time ago, I saw it 
has a runtime dependency on python and also needs to be able to find the pass 
binary. I've attached the bare (unfinished/unpolished) package definition 
extracted from my local channel and attached it, for if it is of assistance to 
folks. My definition tries to embed a sane path for finding pass with a default 
of the path to the password-store package it was built against, and also tries 
to copy the passff.json into the correct browser folder for Chromium, Firefox, 
and Icecat based on the packaged install_host_app.sh script (note: I have only 
used it with Icecat).

Cheers,
Kaelyn

> > 
> > ./pre-inst-env guix show passff-host
> > name: passff-host
> > version: 1.2.3
> > outputs:
> > + out: everything
> > systems: x86_64-linux mips64el-linux aarch64-linux powerpc64le-linux 
> > riscv64-linux
> > + i686-linux armhf-linux i586-gnu powerpc-linux
> > dependencies:
> 
> 
> I imagine it's a bug in `guix show`? As doc says:
> 
> • Gexps carry information about the packages or derivations they
> refer to, and these dependencies are automatically added as inputs
> to the build processes that use them.
> 
> > Was this change sent as a patch to guix-patches?
> 
> 
> No it wasn't.

I(define-public passff-host
  (package
(name "passff-host")
(version "1.2.3")
(home-page "https://github.com/passff/passff-host/;)
(source
 (origin
   (method git-fetch)
   (uri (git-reference (url home-page)
   (commit version)))
   (file-name (git-file-name name version))
   (sha256
(base32
 "1p18l1jh20x4v8dj64z9qjlp96fxsl5h069iynxfpbkzj6hd74yl"))
   ))
;; NOTE: python-build-system is used instead of copy-build-system to
;; automatically pick up the Python 3 dependency and to wrap the installed
;; Python script.
;; FIXME: The passff.json in etc/ needs to go into a browser-dependent
;; location to work with that specific browser. How to install it to the
;; right location needs to be figured out and documented.
(build-system python-build-system)
(arguments
 (list #:tests? #f ; There are no tests
   #:phases
   #~(modify-phases %standard-phases
   (replace 'build
 (lambda _
   ;; TODO? Add password-store as an input and embed the store
   ;; path to the "pass" executable.
   (substitute* "src/passff.py"
 (("_VERSIONHOLDER_") #$(package-version this-package))
 ;; (("\"pass\"") (string-append
 ;;"\""
 ;;#$(this-package-input "password-store")
 ;;"/bin/pass\""))
 (("\"PATH\": .*")
  (string-join (list
"\"PATH\""
" \"/run/current-system/profile/bin"
"/run/booted-system/profile/bin"
(string-append
 #$(this-package-input "password-store")
 "/bin\",\n"))
   ":"))
 )))
   (replace 'install
 (lambda _
   (let ((etc (string-append #$output "/etc"))
 (libexec (string-append #$output "/libexec")))
 ;; Install the host script in libexec
 (install-file "src/passff.py" libexec)
 ;; Insert the script path and install the (example)
 ;; native host manifest to etc
 (substitute* "src/passff.json"
   (("PLACEHOLDER") (string-append libexec "/passff.py")))
 (for-each
  (lambda (dir)
(install-file "src/passff.json" dir))
  (list etc ;; Generic location for easier access
;; Chromium location based on src/install_host_app.sh
(string-append etc "/chromium/native-messaging-hosts")
;; Firefox location based on src/install_host_app.sh
(string-append #$output "/lib/mozilla/native-messaging-hosts")
;; Icecat location derived from the above Firefox location
(string-append #$output "/lib/icecat/native-messaging-hosts")))
 )))
 )))
(inputs 

Re: branch master updated: gnu: Add passff.

2023-10-28 Thread Clément Lassieur
On Sat, Oct 28 2023, Christopher Baines wrote:

> This passff-host package looks a bit odd to me, one thing to mention is
> that guix show says it has no dependencies, but I don't think that's
> correct:
>
>   ./pre-inst-env guix show passff-host
>   name: passff-host
>   version: 1.2.3
>   outputs:
>   + out: everything
>   systems: x86_64-linux mips64el-linux aarch64-linux powerpc64le-linux 
> riscv64-linux
>   + i686-linux armhf-linux i586-gnu powerpc-linux
>   dependencies: 

I imagine it's a bug in `guix show`?  As doc says:

   • Gexps carry information about the packages or derivations they
 refer to, and these dependencies are automatically added as inputs
 to the build processes that use them.

> Was this change sent as a patch to guix-patches?

No it wasn't.



Re: branch master updated: gnu: Add passff.

2023-10-28 Thread Christopher Baines

guix-comm...@gnu.org writes:

> This is an automated email from the git hooks/post-receive script.
>
> snape pushed a commit to branch master
> in repository guix.
>
> The following commit(s) were added to refs/heads/master by this push:
>  new 6c894b7a1a gnu: Add passff.
> 6c894b7a1a is described below
>
> commit 6c894b7a1a6a7a0f7c51a44136bba00dc0b5250c
> Author: Clément Lassieur 
> AuthorDate: Tue Oct 17 16:53:57 2023 +0200
>
> gnu: Add passff.
>
> * gnu/packages/browser-extensions.scm (passff-host): New variable.
> (passff): New variable.
>
> Change-Id: I0f6f4b0c319e5cffd0940421a4d8bdc73d8d806b
> ---
>  gnu/packages/browser-extensions.scm | 76 
> +
>  1 file changed, 76 insertions(+)

This passff-host package looks a bit odd to me, one thing to mention is
that guix show says it has no dependencies, but I don't think that's
correct:

  ./pre-inst-env guix show passff-host
  name: passff-host
  version: 1.2.3
  outputs:
  + out: everything
  systems: x86_64-linux mips64el-linux aarch64-linux powerpc64le-linux 
riscv64-linux
  + i686-linux armhf-linux i586-gnu powerpc-linux
  dependencies: 

Was this change sent as a patch to guix-patches?

Thanks,

Chris


signature.asc
Description: PGP signature


Re: Divvying up service definitions

2023-10-28 Thread Attila Lendvai
> I dont think there's any problem wrt categorization. For your Kerberos
> example, either would be fine as they're not mutually exclusive.
> (though I'd lean towards 'authentication' here)

sure, but the crux of the issue here is how to improve code readability; i.e. 
would it make the humans working on the Guix codebase more effective.

if all the 3 options are equally reasonable, then some people will have to 
check two places before they find it in the third.

with such a codebase people will develop a habit of just using multi-file grep 
to find stuff... which is arguably a better strategy to begin with.

and it's worth pointing it out here that following grep'able patterns like 
`define.*kerberos` highly facilitates code navigation, and especially so for 
newcomers. this is one of the features of lisp(ers) that i badly miss in many 
other languages/cultures. and arguably, this is much more important than the 
placement of the definitions.

and while i'm ranting, another useful strategy is to give unique names to 
abstractions, and make sure that wherever these abstractions are employed, that 
name shows up in the source code; i.e. it can be grap'ped. IOW, names should 
not be e.g. programmatically assembled in DWIM'ish ways, unless it is a 
frequent enough pattern that the loss of grep'pability is worth it. or 
abstractions should not be hidden behind late binding, unless it's worth the 
additional loss of code readability.

ultimately, definitions shouldn't live in text files, but in a source code 
database, with proper search and projection tools in the editor (and the DVCS) 
that understand the graph nature of the source code. that would make this 
entire discussion moot, but we're not there yet.

-- 
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“The meeting of two personalities is like the contact of two chemical 
substances: if there is any reaction, both are transformed.”
— Carl Jung (1875–1961)