~abcdw/rde-discuss

6 2

Re: Unsupported config option of features by design?

Demis Balbach <db@minikn.xyz>
Details
Message ID
<172622305.687140.1636728533929@ox79.mailbox.org>
DKIM signature
pass
Download raw message
Hello again,
(if I should open a new thread with this please let me know)

I played around with rde abit and came up with a basic config, taking your example config as a blueprint (sorry I don't know how to post code):

```
(define-module (minikn geekcave)
  #:use-module (gnu packages networking)
  #:use-module (gnu packages)
  #:use-module (gnu services dbus)
  #:use-module (gnu services desktop)
  #:use-module (gnu services)
  #:use-module (gnu system file-systems)
  #:use-module (gnu system keyboard)
  #:use-module (gnu system mapped-devices)
  #:use-module (guix gexp)
  #:use-module (ice-9 match)
  #:use-module (nongnu packages linux)
  #:use-module (nongnu system linux-initrd)
  #:use-module (rde features base)
  #:use-module (rde features bittorrent)
  #:use-module (rde features docker)
  #:use-module (rde features emacs)
  #:use-module (rde features fontutils)
  #:use-module (rde features gnupg)
  #:use-module (rde features keyboard)
  #:use-module (rde features linux)
  #:use-module (rde features mail)
  #:use-module (rde features password-utils)
  #:use-module (rde features shells)
  #:use-module (rde features shellutils)
  #:use-module (rde features ssh)
  #:use-module (rde features system)
  #:use-module (rde features terminals)
  #:use-module (rde features tmux)
  #:use-module (rde features version-control)
  #:use-module (rde features wm)
  #:use-module (rde features xdg)
  #:use-module (rde features)
  #:use-module (rde packages))

(define* (pkgs #:rest lst)
  (map specification->package+output lst))

(define %brielmaier-public-key
  (plain-file
   "mirror.brielmaier.net.pub"
   "(public-key
   (ecc
(curve Ed25519)
(q #7514F8D729DB1935470A581CE3851ED9FD6F1F9BAFE1D8BEC77A931ADB7A4337#)
))"))

(define %db-features
  (list
   (feature-user-info
    #:user-name "db"
    #:full-name "Demis Balbach"
    #:email "db@minikn.xyz"
    #:user-groups (list "wheel"
                        "audio"
                        "video"
                        "input"
                        "cdrom"
                        "disk"
                        "lp"))
   ;(feature-gnupg
   ; #:gpg-primary-key "F17DDB98CC3C405C"
   ; #:gpg-ssh-agent? #t
   ; #:pinentry-flavor 'emacs
   ; #:ssh-keys '(("E3FFA5A1B444A4F099E594758008C1D8845EC7C0")))
   ;(feature-password-store
   ; #:remote-password-store-url "ssh://git@gitlab.com:minikN/pass.git")
   (feature-keyboard
    #:keyboard-layout (keyboard-layout "us" "altgr-intl" #:options '("ctrl:nocaps")))))

(define %main-features
  (list
   (feature-custom-services
    #:system-services (list (simple-service 'dbus-services dbus-root-service-type (list blueman))
                            (service bluetooth-service-type (bluetooth-configuration
                                                             (auto-enable? #t)))))
   (feature-base-services
    #:guix-substitute-urls (list "https://mirror.brielmaier.net")
    #:guix-authorized-keys (list %brielmaier-public-key))
   (feature-desktop-services)
   (feature-alacritty)
   (feature-zsh)
   (feature-git
    #:sign-commits? #t
    #:git-gpg-sign-key "F17DDB98CC3C405C")
   (feature-sway
    #:extra-config
    `((include ,(local-file "./config/sway/config"))))
   (feature-sway-run-on-tty
    #:sway-tty-number 2)
   (feature-sway-screenshot)
   (feature-sway-statusbar)
   (feature-xdg
    #:xdg-user-directories-configuration
    (home-xdg-user-directories-configuration
     (music "$HOME/music")
     (videos "$HOME/vids")
     (pictures "$HOME/pics")
     (documents "$HOME/docs")
     (download "$HOME/dl")
     (desktop "$HOME")
     (publicshare "$HOME")
     (templates "$HOME")))
   (feature-base-packages
    #:system-packages
    (append
     (pkgs
      "curl"
      "git"
      "vim"
      "blueman"
      "bluez"
      "mesa"
      "mesa-headers"
      "mesa-utils"
      "mesa-opencl"
      "mesa-opencl-icd"
      "pavucontrol")))))

(define %geekcave-filesystems
  (list (file-system ;; System partition
         (device (file-system-label "GUIX"))
         (mount-point "/")
         (type "btrfs"))
        (file-system ;; Boot partition
         (device (file-system-label "BOOT"))
         (mount-point "/boot/efi")
         (type "vfat"))))

(define %geekcave-features
  (list
   (feature-host-info
    #:host-name "geekcave"
    #:timezone  "Europe/Berlin"
    #:locale "en_US.utf8")
   (feature-kernel
    #:kernel linux-lts
    #:kernel-arguments (list "quiet"
                             "modprobe.blacklist=nouveau"
                             "net.ifnames=0")
    #:initrd microcode-initrd
    #:firmware (list amdgpu-firmware linux-firmware))
   (feature-file-systems
    #:file-systems %geekcave-filesystems)
   (feature-hidpi)))

(define-public main-config
  (rde-config
   (features
    (append
     %db-features
     %main-features
     %geekcave-features))))

(define geekcave
  (rde-config-operating-system main-config))

(define he
  (rde-config-home-environment main-config))

(define (dispatcher)
  (let ((target (getenv "TARGET")))
    (match target
	   ("home" he)
	   ("geekcave" geekcave)
	   (_ he))))

(dispatcher)
```

Running `TARGET=geekcave guix system build ./config.scm' successfully builds the os. However, running `TARGET=home guix home build ./config.scm' returns `guix home: error: no target of type 'home-profile' for service 'home-zsh''

I'd appreciate any help. Thanks in advance.

> Andrew Tropin <andrew@trop.in> hat am 12.11.2021 08:15 geschrieben:
>
>
> On 2021-11-11 20:01, Demis Balbach wrote:
>
> > Thank you very much Andrew (Explanation and patches). Much appreciated.
>
> My pleasure.
>
> >
> > Cheers,
> >
> > Demis.
> >
> >> Andrew Tropin <andrew@trop.in> hat am 11.11.2021 10:29 geschrieben:
> >>
> >>
> >> On 2021-11-09 23:31, Demis Balbach wrote:
> >>
> >> > Hello,
> >> >
> >> > I'm trying to use rde to configure my system. So far I've noticed 2 things:
> >> >
> >> > 1) With feature-gnupg, there is no option to pass (ssh-keys '(("..."))).
> >> > 2) with feature-kernel, there is no option to pass (initrd ...)
> >> >
> >> > I understand that the features you created are wrapper around guix
> >> > home/system to fit YOUR needs, so these options missing may be by
> >> > design? If so, is it therefore recommended to fork your repository and
> >> > extend the feature rather than open a PR for the options?
> >>
> >> You are right, during implementation of the feature I rely mostly on my
> >> needs and needs of my friends/coworkers, who use rde, but there is no
> >> technical restrictions and if additional parameters suits the feature
> >> nature it can be added.
> >>
> >> I plan to add new arguments to features, when the demand appears, so
> >> sending a patch or request should be enough to get it implemented.  The
> >> same thing is applicable for values provided by the feature, I expose
> >> only values, which is needed or will likely to be needed soon by some
> >> other features, but that doesn't mean that other values can't be
> >> exposed, they just waiting for some demand :)
> >>
> >> That means by design I expect general purpose features like kernel,
> >> user-info, gnupg to be improved/extended in upstream repository, but if
> >> someone wants a new feature they can implement it in their own repo, it
> >> should not require forking.  Actually, I expected that from time to time
> >> people would like to reimplement some features in their own taste and
> >> use them instead of upstream one, but this action also doesn't require
> >> forking.
> >>
> >> Added ssh-key argument to feature-gnupg and intitrd/initrd-modules to
> >> feature-kernel:
> >>
> >> https://git.sr.ht/~abcdw/rde/commit/1b08f117bd6c63c4f998b743dd8741d66b77767e
> >>
> >> https://git.sr.ht/~abcdw/rde/commit/d00b6b286176ad5b912fce42b88657870564ec12
> >>
> >> >
> >> > Thank you.
> >> >
> >> > Cheers,
> >> >
> >> > Demis.
> >>
> >> --
> >> Best regards,
> >> Andrew Tropin
>
> --
> Best regards,
> Andrew Tropin

Re: Unsupported config option of features by design?

Details
Message ID
<874k8g4nvb.fsf@trop.in>
In-Reply-To
<172622305.687140.1636728533929@ox79.mailbox.org> (view parent)
DKIM signature
missing
Download raw message
On 2021-11-12 15:48, Demis Balbach wrote:

> Hello again,
> (if I should open a new thread with this please let me know)
>
> I played around with rde abit and came up with a basic config, taking your example config as a blueprint (sorry I don't know how to post code):
>
> ```
> (define-module (minikn geekcave)
>   #:use-module (gnu packages networking)
>   #:use-module (gnu packages)
>   #:use-module (gnu services dbus)
>   #:use-module (gnu services desktop)
>   #:use-module (gnu services)
>   #:use-module (gnu system file-systems)
>   #:use-module (gnu system keyboard)
>   #:use-module (gnu system mapped-devices)
>   #:use-module (guix gexp)
>   #:use-module (ice-9 match)
>   #:use-module (nongnu packages linux)
>   #:use-module (nongnu system linux-initrd)
>   #:use-module (rde features base)
>   #:use-module (rde features bittorrent)
>   #:use-module (rde features docker)
>   #:use-module (rde features emacs)
>   #:use-module (rde features fontutils)
>   #:use-module (rde features gnupg)
>   #:use-module (rde features keyboard)
>   #:use-module (rde features linux)
>   #:use-module (rde features mail)
>   #:use-module (rde features password-utils)
>   #:use-module (rde features shells)
>   #:use-module (rde features shellutils)
>   #:use-module (rde features ssh)
>   #:use-module (rde features system)
>   #:use-module (rde features terminals)
>   #:use-module (rde features tmux)
>   #:use-module (rde features version-control)
>   #:use-module (rde features wm)
>   #:use-module (rde features xdg)
>   #:use-module (rde features)
>   #:use-module (rde packages))
>
> (define* (pkgs #:rest lst)
>   (map specification->package+output lst))
>
> (define %brielmaier-public-key
>   (plain-file
>    "mirror.brielmaier.net.pub"
>    "(public-key
>    (ecc
> (curve Ed25519)
> (q #7514F8D729DB1935470A581CE3851ED9FD6F1F9BAFE1D8BEC77A931ADB7A4337#)
> ))"))
>
> (define %db-features
>   (list
>    (feature-user-info
>     #:user-name "db"
>     #:full-name "Demis Balbach"
>     #:email "db@minikn.xyz"
>     #:user-groups (list "wheel"
>                         "audio"
>                         "video"
>                         "input"
>                         "cdrom"
>                         "disk"
>                         "lp"))
>    ;(feature-gnupg
>    ; #:gpg-primary-key "F17DDB98CC3C405C"
>    ; #:gpg-ssh-agent? #t
>    ; #:pinentry-flavor 'emacs
>    ; #:ssh-keys '(("E3FFA5A1B444A4F099E594758008C1D8845EC7C0")))
>    ;(feature-password-store
>    ; #:remote-password-store-url "ssh://git@gitlab.com:minikN/pass.git")
>    (feature-keyboard
>     #:keyboard-layout (keyboard-layout "us" "altgr-intl" #:options '("ctrl:nocaps")))))
>
> (define %main-features
>   (list
>    (feature-custom-services
>     #:system-services (list (simple-service 'dbus-services dbus-root-service-type (list blueman))
>                             (service bluetooth-service-type (bluetooth-configuration
>                                                              (auto-enable? #t)))))
>    (feature-base-services
>     #:guix-substitute-urls (list "https://mirror.brielmaier.net")
>     #:guix-authorized-keys (list %brielmaier-public-key))
>    (feature-desktop-services)
>    (feature-alacritty)
>    (feature-zsh)
>    (feature-git
>     #:sign-commits? #t
>     #:git-gpg-sign-key "F17DDB98CC3C405C")
>    (feature-sway
>     #:extra-config
>     `((include ,(local-file "./config/sway/config"))))
>    (feature-sway-run-on-tty
>     #:sway-tty-number 2)
>    (feature-sway-screenshot)
>    (feature-sway-statusbar)
>    (feature-xdg
>     #:xdg-user-directories-configuration
>     (home-xdg-user-directories-configuration
>      (music "$HOME/music")
>      (videos "$HOME/vids")
>      (pictures "$HOME/pics")
>      (documents "$HOME/docs")
>      (download "$HOME/dl")
>      (desktop "$HOME")
>      (publicshare "$HOME")
>      (templates "$HOME")))
>    (feature-base-packages
>     #:system-packages
>     (append
>      (pkgs
>       "curl"
>       "git"
>       "vim"
>       "blueman"
>       "bluez"
>       "mesa"
>       "mesa-headers"
>       "mesa-utils"
>       "mesa-opencl"
>       "mesa-opencl-icd"
>       "pavucontrol")))))
>
> (define %geekcave-filesystems
>   (list (file-system ;; System partition
>          (device (file-system-label "GUIX"))
>          (mount-point "/")
>          (type "btrfs"))
>         (file-system ;; Boot partition
>          (device (file-system-label "BOOT"))
>          (mount-point "/boot/efi")
>          (type "vfat"))))
>
> (define %geekcave-features
>   (list
>    (feature-host-info
>     #:host-name "geekcave"
>     #:timezone  "Europe/Berlin"
>     #:locale "en_US.utf8")
>    (feature-kernel
>     #:kernel linux-lts
>     #:kernel-arguments (list "quiet"
>                              "modprobe.blacklist=nouveau"
>                              "net.ifnames=0")
>     #:initrd microcode-initrd
>     #:firmware (list amdgpu-firmware linux-firmware))
>    (feature-file-systems
>     #:file-systems %geekcave-filesystems)
>    (feature-hidpi)))
>
> (define-public main-config
>   (rde-config
>    (features
>     (append
>      %db-features
>      %main-features
>      %geekcave-features))))
>
> (define geekcave
>   (rde-config-operating-system main-config))
>
> (define he
>   (rde-config-home-environment main-config))
>
> (define (dispatcher)
>   (let ((target (getenv "TARGET")))
>     (match target
> 	   ("home" he)
> 	   ("geekcave" geekcave)
> 	   (_ he))))
>
> (dispatcher)
> ```
>
> Running `TARGET=geekcave guix system build ./config.scm' successfully builds the os. However, running `TARGET=home guix home build ./config.scm' returns `guix home: error: no target of type 'home-profile' for service 'home-zsh''
>
> I'd appreciate any help. Thanks in advance.
>

Try to pull latest changes for rde and guix channels.

If it won't help, please share a git repo with the config and
your channels.scm.

To generate channels.scm you can use:

guix describe -f channels > channels.scm

I'll take a look on Monday.

>> Andrew Tropin <andrew@trop.in> hat am 12.11.2021 08:15 geschrieben:
>>
>>
>> On 2021-11-11 20:01, Demis Balbach wrote:
>>
>> > Thank you very much Andrew (Explanation and patches). Much appreciated.
>>
>> My pleasure.
>>
>> >
>> > Cheers,
>> >
>> > Demis.
>> >
>> >> Andrew Tropin <andrew@trop.in> hat am 11.11.2021 10:29 geschrieben:
>> >>
>> >>
>> >> On 2021-11-09 23:31, Demis Balbach wrote:
>> >>
>> >> > Hello,
>> >> >
>> >> > I'm trying to use rde to configure my system. So far I've noticed 2 things:
>> >> >
>> >> > 1) With feature-gnupg, there is no option to pass (ssh-keys '(("..."))).
>> >> > 2) with feature-kernel, there is no option to pass (initrd ...)
>> >> >
>> >> > I understand that the features you created are wrapper around guix
>> >> > home/system to fit YOUR needs, so these options missing may be by
>> >> > design? If so, is it therefore recommended to fork your repository and
>> >> > extend the feature rather than open a PR for the options?
>> >>
>> >> You are right, during implementation of the feature I rely mostly on my
>> >> needs and needs of my friends/coworkers, who use rde, but there is no
>> >> technical restrictions and if additional parameters suits the feature
>> >> nature it can be added.
>> >>
>> >> I plan to add new arguments to features, when the demand appears, so
>> >> sending a patch or request should be enough to get it implemented.  The
>> >> same thing is applicable for values provided by the feature, I expose
>> >> only values, which is needed or will likely to be needed soon by some
>> >> other features, but that doesn't mean that other values can't be
>> >> exposed, they just waiting for some demand :)
>> >>
>> >> That means by design I expect general purpose features like kernel,
>> >> user-info, gnupg to be improved/extended in upstream repository, but if
>> >> someone wants a new feature they can implement it in their own repo, it
>> >> should not require forking.  Actually, I expected that from time to time
>> >> people would like to reimplement some features in their own taste and
>> >> use them instead of upstream one, but this action also doesn't require
>> >> forking.
>> >>
>> >> Added ssh-key argument to feature-gnupg and intitrd/initrd-modules to
>> >> feature-kernel:
>> >>
>> >> https://git.sr.ht/~abcdw/rde/commit/1b08f117bd6c63c4f998b743dd8741d66b77767e
>> >>
>> >> https://git.sr.ht/~abcdw/rde/commit/d00b6b286176ad5b912fce42b88657870564ec12
>> >>
>> >> >
>> >> > Thank you.
>> >> >
>> >> > Cheers,
>> >> >
>> >> > Demis.
>> >>
>> >> --
>> >> Best regards,
>> >> Andrew Tropin
>>
>> --
>> Best regards,
>> Andrew Tropin

-- 
Best regards,
Andrew Tropin

Re: Unsupported config option of features by design?

Demis Balbach <db@minikn.xyz>
Details
Message ID
<87a6i8w6lg.fsf@minikn.xyz>
In-Reply-To
<874k8g4nvb.fsf@trop.in> (view parent)
DKIM signature
pass
Download raw message
> Try to pull latest changes for rde and guix channels.

This didn't help.

> If it won't help, please share a git repo with the config and
> your channels.scm.

You can find the repo here: https://github.com/minikn/guix/tree/rde

Thank you in advance.

Cheers,

Demis.

Re: Unsupported config option of features by design?

Details
Message ID
<87tugdc3s0.fsf@trop.in>
In-Reply-To
<87a6i8w6lg.fsf@minikn.xyz> (view parent)
DKIM signature
missing
Download raw message
On 2021-11-13 14:03, Demis Balbach wrote:

>> Try to pull latest changes for rde and guix channels.
>
> This didn't help.
>
>> If it won't help, please share a git repo with the config and
>> your channels.scm.
>
> You can find the repo here: https://github.com/minikn/guix/tree/rde
>
> Thank you in advance.
>
> Cheers,
>
> Demis.

Successfully built it with

--8<---------------cut here---------------start------------->8---
GUILE_LOAD_PATH=./ TARGET=geekcave-he guix time-machine -C channels.scm -- home build ./config.scm
--8<---------------cut here---------------end--------------->8---

The output:
--8<---------------cut here---------------start------------->8---
successfully built /gnu/store/rhpdfpi4jd1vgingdz6i08ysykjx413h-bemenu-0.6.3.drv
building /gnu/store/yn25rkjh820vdair2d474p0p4xiyvqsi-sway-config.drv...
successfully built /gnu/store/yn25rkjh820vdair2d474p0p4xiyvqsi-sway-config.drv
building /gnu/store/r3irf4v5pqvnvvylpg6v8ngkv2ljpq8q-files.drv...
successfully built /gnu/store/r3irf4v5pqvnvvylpg6v8ngkv2ljpq8q-files.drv
building /gnu/store/9dycj476zn7aag0nqdpa4ri40qr2k9yz-home.drv...
successfully built /gnu/store/9dycj476zn7aag0nqdpa4ri40qr2k9yz-home.drv
/gnu/store/fnqlkljvfj2jsfl9am5vrmd040n4iijb-home
--8<---------------cut here---------------end--------------->8---

Try to issue the same command and paste the output log please.

-- 
Best regards,
Andrew Tropin

Re: Unsupported config option of features by design?

Demis Balbach <db@minikn.xyz>
Details
Message ID
<87y25maf6p.fsf@minikn.xyz>
In-Reply-To
<874k8g4nvb.fsf@trop.in> (view parent)
DKIM signature
pass
Download raw message
It is working now. Thanks.

Re: Unsupported config option of features by design?

Demis Balbach <db@minikn.xyz>
Details
Message ID
<87v90qaf04.fsf@minikn.xyz>
In-Reply-To
<874k8g4nvb.fsf@trop.in> (view parent)
DKIM signature
pass
Download raw message
Is there a recommended way to report issues / ask for help?
I don't want to spam this mailing list with my issues, but
trying get more and more into rde, I'm facing several problems.

At the moment I'm trying to set up my mail account with mailbox.org,
I don't know if I should create a new thread for this, continue with
this one, or do something differently.

Thank you for your help.

Kind regards,

Demis.

Re: Unsupported config option of features by design?

Details
Message ID
<87zgq1oqzf.fsf@trop.in>
In-Reply-To
<87v90qaf04.fsf@minikn.xyz> (view parent)
DKIM signature
missing
Download raw message
On 2021-11-17 18:06, Demis Balbach wrote:

> Is there a recommended way to report issues / ask for help?
> I don't want to spam this mailing list with my issues, but
> trying get more and more into rde, I'm facing several problems.

The more issues you report, and questions you ask the less will remain
for the new users =)  Don't hesitate to do it.

>
> At the moment I'm trying to set up my mail account with mailbox.org,
> I don't know if I should create a new thread for this, continue with
> this one, or do something differently.

Rule of thumb: if the topic, question or issue is different from the
previous one and/or doesn't much the subject, create a new thread :)

This way other people if they have the same problem/question will find
the answers faster and it will be easier to handle/follow discussions in
different threads.

If there is a patch or a suggestions related to some part of source code
you can post it on rde-devel.

>
> Thank you for your help.
>
> Kind regards,
>
> Demis.

-- 
Best regards,
Andrew Tropin
Reply to thread Export thread (mbox)