Hello, Is there anything related to file and directory permissions to be set on foreign distrubution for guix home to work? I know that feature is still pretty young and some parts are still in dev, yet I have tried it on my fedora 34 system and got the following error, which could be related to permission and file ownership: --------------------------------------------------- building /gnu/store/564yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv... Backtrace: 8 (primitive-load "/gnu/store/lp5wrbb8qi9lc3hyji3dxwjzgg8?") In ice-9/ports.scm: 463:17 7 (call-with-output-file _ _ #:binary _ #:encoding _) In ice-9/eval.scm: 159:9 6 (_ #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>)) 163:9 5 (_ #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>)) 155:9 4 (_ #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>)) 159:9 3 (_ #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>)) In ice-9/boot-9.scm: 152:2 2 (with-fluid* _ _ _) In ice-9/ports.scm: 440:11 1 (call-with-input-file "export HISTFILE=$HOME/.bash_his?" ?) In unknown file: 0 (open-file "export HISTFILE=$HOME/.bash_history" "r" # # ?) ERROR: In procedure open-file: In procedure open-file: No such file or directory: "export HISTFILE=$HOME/.bash_history" builder for `/gnu/store/564yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv' failed with exit code 1 build of /gnu/store/564yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv failed View build log at '/var/log/guix/drvs/56/4yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv.bz2'. cannot build derivation `/gnu/store/ic73gayslzsj0k2snp61z5aaiwd6l5ck-files.drv': 1 dependencies couldn't be built applying 2 grafts for /gnu/store/g2wlw2kxszxclfq1pvxyfbs7q15xl1vf-python-future-0.18.2.drv ... cannot build derivation `/gnu/store/gam06nxwyb6kcqs3pxwh1v8p627ps0df-home.drv': 1 dependencies couldn't be built guix home: error: build of `/gnu/store/gam06nxwyb6kcqs3pxwh1v8p627ps0df-home.drv' failed ----------------------------------------------- The guix home configuration file I use: --------------------------------------------- (use-modules (gnu home) (gnu home services) (gnu home services shells) (gnu services) (gnu packages admin) (gnu packages python-xyz) (gnu packages password-utils) (gnu packages dunst) (gnu packages disk) (gnu packages backup) (gnu packages libreoffice) (gnu packages guile) (gnu packages xdisorg) (gnu packages tls) (gnu packages vpn) (guix gexp)) (home-environment (packages (list htop glances password-store dunst ranger restic hunspell ;; hunspell-dict-fr hunspell-dict-en ;; guile neofetch xdotool openssl openvpn xscreensaver)) (services (list (service home-bash-service-type (home-bash-configuration (guix-defaults? #t) (bash-profile (list "export HISTFILE=$HOME/.bash_history")))) (simple-service 'test-config home-files-service-type (list `("config/test.conf" ,(plain-file "tmp-file.txt" "the content of ~/.config/test.conf"))))))) ------------------------------------- Some system related information: ------------------------------------------------------- [roland@singularity ~]$ guix describe hint: Consider installing the `glibc-locales' package and defining `GUIX_LOCPATH', along these lines: guix install glibc-locales export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale" See the "Application Setup" section in the manual, for more info. Generation 45 Oct 18 2021 13:14:31 (current) guix 84759b7 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 84759b7c20fa4ee7e8004f2fc0ddec694cf9aedd [roland@singularity ~]$ neofetch --off --package_managers off --title_fqdn off --uptime off roland@singularity ------------------ OS: Fedora 34 (Workstation Edition) x86_64 Host: B550 GAMING X Kernel: 5.14.9-200.fc34.x86_64 Uptime: 2 hours, 53 mins Packages: 2438 Shell: bash 5.0.16 Resolution: 3840x2160 WM: stumpwm Theme: Adwaita [GTK2/3] Icons: Adwaita [GTK2/3] Terminal: alacritty CPU: AMD Ryzen 7 3800XT (16) @ 3.900GHz GPU: NVIDIA GeForce RTX 3070 Memory: 4328MiB / 32035MiB ------------------------------------------------------------------------- Regards, Roland Everaert --- Use the F.O.S.S., Luke Sent with [ProtonMail](https://protonmail.com/) Secure Email.
[-- Attachment #1: Type: text/plain, Size: 1342 bytes --] Hi, Roland Everaert via <help-guix@gnu.org> writes: > Is there anything related to file and directory permissions to be set > on foreign distrubution for guix home to work? > > I know that feature is still pretty young and some parts are still in dev, yet > I have tried it on my fedora 34 system and got the following error, which > could be related to permission and file ownership: > > ... > > --8<---------------cut here---------------start------------->8--- > (home-environment > (packages (list htop glances password-store dunst ranger restic hunspell > ;; hunspell-dict-fr hunspell-dict-en > ;; guile > neofetch xdotool openssl openvpn xscreensaver)) > (services > (list > (service home-bash-service-type > (home-bash-configuration > (guix-defaults? #t) > (bash-profile (list "export HISTFILE=$HOME/.bash_history")))) This should be a file-like object, e.g. plain-file same as in the test-config. > (simple-service 'test-config > home-files-service-type > (list `("config/test.conf" > ,(plain-file "tmp-file.txt" > "the content of ~/.config/test.conf"))))))) > --8<---------------cut here---------------end--------------->8--- [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 861 bytes --]
Hi Roland, Roland Everaert via <help-guix@gnu.org> writes: > Hello, > > Is there anything related to file and directory permissions to be set on foreign distrubution for guix home to work? No special permissions are needed for guix home to work. I'm using it on a foregin distro and it works (still have some minor papercuts but unrelated to this). > I know that feature is still pretty young and some parts are still in > dev, yet I have tried it on my fedora 34 system and got the following > error, which could be related to permission and file ownership: > > --------------------------------------------------- > > building /gnu/store/564yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv... > Backtrace: > 8 (primitive-load "/gnu/store/lp5wrbb8qi9lc3hyji3dxwjzgg8?") > In ice-9/ports.scm: > 463:17 7 (call-with-output-file _ _ #:binary _ #:encoding _) > In ice-9/eval.scm: > 159:9 6 (_ #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>)) > 163:9 5 (_ #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>)) > 155:9 4 (_ #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>)) > 159:9 3 (_ #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>)) > In ice-9/boot-9.scm: > 152:2 2 (with-fluid* _ _ _) > In ice-9/ports.scm: > 440:11 1 (call-with-input-file "export HISTFILE=$HOME/.bash_his?" ?) > In unknown file: > 0 (open-file "export HISTFILE=$HOME/.bash_history" "r" # # ?) > > ERROR: In procedure open-file: > In procedure open-file: No such file or directory: "export HISTFILE=$HOME/.bash_history" > builder for `/gnu/store/564yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv' failed with exit code 1 > build of /gnu/store/564yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv failed > View build log at '/var/log/guix/drvs/56/4yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv.bz2'. > cannot build derivation `/gnu/store/ic73gayslzsj0k2snp61z5aaiwd6l5ck-files.drv': 1 dependencies couldn't be built > applying 2 grafts for /gnu/store/g2wlw2kxszxclfq1pvxyfbs7q15xl1vf-python-future-0.18.2.drv ... > cannot build derivation `/gnu/store/gam06nxwyb6kcqs3pxwh1v8p627ps0df-home.drv': 1 dependencies couldn't be built > guix home: error: build of `/gnu/store/gam06nxwyb6kcqs3pxwh1v8p627ps0df-home.drv' failed > > ----------------------------------------------- > > The guix home configuration file I use: > > --------------------------------------------- > > (use-modules (gnu home) > (gnu home services) > (gnu home services shells) > (gnu services) > (gnu packages admin) > (gnu packages python-xyz) > (gnu packages password-utils) > (gnu packages dunst) > (gnu packages disk) > (gnu packages backup) > (gnu packages libreoffice) > (gnu packages guile) > (gnu packages xdisorg) > (gnu packages tls) > (gnu packages vpn) > (guix gexp)) > > (home-environment > (packages (list htop glances password-store dunst ranger restic hunspell > ;; hunspell-dict-fr hunspell-dict-en > ;; guile > neofetch xdotool openssl openvpn xscreensaver)) > (services > (list > (service home-bash-service-type > (home-bash-configuration > (guix-defaults? #t) > (bash-profile (list "export HISTFILE=$HOME/.bash_history")))) > > (simple-service 'test-config > home-files-service-type > (list `("config/test.conf" > ,(plain-file "tmp-file.txt" > "the content of ~/.config/test.conf"))))))) > ------------------------------------- I think this is an issue due to the api changed for the home-bash-service-type and the docs hasn't been updated. See this email thread [0]. Try changing: (bash-profile (list "export HISTFILE=$HOME/.bash_history")) to (bash-profile (list (plain-file "bash_profile" "export HISTFILE=$HOME/.bash_history"))) [0] https://lists.gnu.org/archive/html/help-guix/2021-10/msg00045.html I hope that helps. -- s/Fred[re]+i[ck]+/Fredrik/g
The documentation says otherwise. according to it, it can be a list of strings or gexps for setting environment variables.
Roland Everaert
---
Use the F.O.S.S., Luke
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
Le lundi 18 octobre 2021 à 18:55, Oleg Pykhalov <go.wigust@gmail.com> a écrit :
> Hi,
>
> Roland Everaert via help-guix@gnu.org writes:
>
> > Is there anything related to file and directory permissions to be set
> >
> > on foreign distrubution for guix home to work?
> >
> > I know that feature is still pretty young and some parts are still in dev, yet
> >
> > I have tried it on my fedora 34 system and got the following error, which
> >
> > could be related to permission and file ownership:
> >
> > ...
> >
> > --8<---------------cut here---------------start------------->8---
> >
> > (home-environment
> >
> > (packages (list htop glances password-store dunst ranger restic hunspell
> >
> > ;; hunspell-dict-fr hunspell-dict-en
> >
> > ;; guile
> >
> > neofetch xdotool openssl openvpn xscreensaver))
> >
> > (services
> >
> > (list
> >
> > (service home-bash-service-type
> >
> > (home-bash-configuration
> >
> > (guix-defaults? #t)
> >
> > (bash-profile (list "export HISTFILE=$HOME/.bash_history"))))
>
> This should be a file-like object, e.g. plain-file same as in the test-config.
>
> > (simple-service 'test-config
> >
> > home-files-service-type
> >
> > (list `("config/test.conf"
> >
> > ,(plain-file "tmp-file.txt"
> >
> > "the content of ~/.config/test.conf")))))))
> >
> > --8<---------------cut here---------------end--------------->8---
With that syntax it works.
Thank you,
Roland Everaert
---
Use the F.O.S.S., Luke
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
Le lundi 18 octobre 2021 à 19:21, Fredrik Salomonsson <plattfot@posteo.net> a écrit :
> Hi Roland,
>
> Roland Everaert via help-guix@gnu.org writes:
>
> > Hello,
> >
> > Is there anything related to file and directory permissions to be set on foreign distrubution for guix home to work?
>
> No special permissions are needed for guix home to work. I'm using it on
>
> a foregin distro and it works (still have some minor papercuts but
>
> unrelated to this).
>
> > I know that feature is still pretty young and some parts are still in
> >
> > dev, yet I have tried it on my fedora 34 system and got the following
> >
> > error, which could be related to permission and file ownership:
> >
> > building /gnu/store/564yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv...
> >
> > Backtrace:
> >
> > 8 (primitive-load "/gnu/store/lp5wrbb8qi9lc3hyji3dxwjzgg8?")
> >
> > In ice-9/ports.scm:
> >
> > 463:17 7 (call-with-output-file _ _ #:binary _ #:encoding )
> >
> > In ice-9/eval.scm:
> >
> > 159:9 6 ( #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>))
> >
> > 163:9 5 (_ #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>))
> >
> > 155:9 4 (_ #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>))
> >
> > 159:9 3 (_ #(#(#<directory (guile-user) 7fffefbabf00>) #<outp?>))
> >
> > In ice-9/boot-9.scm:
> >
> > 152:2 2 (with-fluid* _ _ _)
> >
> > In ice-9/ports.scm:
> >
> > 440:11 1 (call-with-input-file "export HISTFILE=$HOME/.bash_his?" ?)
> >
> > In unknown file:
> >
> > 0 (open-file "export HISTFILE=$HOME/.bash_history" "r" # # ?)
> >
> > ERROR: In procedure open-file:
> >
> > In procedure open-file: No such file or directory: "export HISTFILE=$HOME/.bash_history"
> >
> > builder for `/gnu/store/564yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv' failed with exit code 1 build of /gnu/store/564yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv failed View build log at '/var/log/guix/drvs/56/4yvkjmdp5bvdijk8w0cwl7ym5q6sdr-bash_profile.drv.bz2'. cannot build derivation` /gnu/store/ic73gayslzsj0k2snp61z5aaiwd6l5ck-files.drv': 1 dependencies couldn't be built
> >
> > applying 2 grafts for /gnu/store/g2wlw2kxszxclfq1pvxyfbs7q15xl1vf-python-future-0.18.2.drv ...
> >
> > cannot build derivation `/gnu/store/gam06nxwyb6kcqs3pxwh1v8p627ps0df-home.drv': 1 dependencies couldn't be built guix home: error: build of` /gnu/store/gam06nxwyb6kcqs3pxwh1v8p627ps0df-home.drv' failed
> >
> > The guix home configuration file I use:
> >
> > (use-modules (gnu home)
> >
> > (gnu home services)
> >
> > (gnu home services shells)
> >
> > (gnu services)
> >
> > (gnu packages admin)
> >
> > (gnu packages python-xyz)
> >
> > (gnu packages password-utils)
> >
> > (gnu packages dunst)
> >
> > (gnu packages disk)
> >
> > (gnu packages backup)
> >
> > (gnu packages libreoffice)
> >
> > (gnu packages guile)
> >
> > (gnu packages xdisorg)
> >
> > (gnu packages tls)
> >
> > (gnu packages vpn)
> >
> > (guix gexp))
> >
> > (home-environment
> >
> > (packages (list htop glances password-store dunst ranger restic hunspell
> >
> > ;; hunspell-dict-fr hunspell-dict-en
> >
> > ;; guile
> >
> > neofetch xdotool openssl openvpn xscreensaver))
> >
> > (services
> >
> > (list
> >
> > (service home-bash-service-type
> >
> > (home-bash-configuration
> >
> > (guix-defaults? #t)
> >
> > (bash-profile (list "export HISTFILE=$HOME/.bash_history"))))
> >
> > (simple-service 'test-config
> >
> > home-files-service-type
> >
> > (list `("config/test.conf"
> >
> > ,(plain-file "tmp-file.txt"
> >
> > "the content of ~/.config/test.conf")))))))
> > -----------------------------------------------------------------------------------------------------------------------------------------------------------
>
> I think this is an issue due to the api changed for the
>
> home-bash-service-type and the docs hasn't been updated. See this email
>
> thread [0]. Try changing:
>
> (bash-profile (list "export HISTFILE=$HOME/.bash_history"))
>
> to
>
> (bash-profile (list (plain-file "bash_profile" "export HISTFILE=$HOME/.bash_history")))
>
> [0] https://lists.gnu.org/archive/html/help-guix/2021-10/msg00045.html
>
> I hope that helps.
>
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> s/Fred[re]+i[ck]+/Fredrik/g
[-- Attachment #1: Type: text/plain, Size: 234 bytes --] Roland Everaert <r.everaert@protonmail.com> writes: > The documentation says otherwise. according to it, it can be a list of > strings or gexps for setting environment variables. Yes it was. But now it's already fixed in ff20d392. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 861 bytes --]
My documentation still seems to be out of date after running guix pull and guix system reconfigure. I opened the doc with info guix. Am I missing a step?
> On 19. Oct 2021, at 15:57, Oleg Pykhalov <go.wigust@gmail.com> wrote:
>
> Roland Everaert <r.everaert@protonmail.com> writes:
>
>> The documentation says otherwise. according to it, it can be a list of
>> strings or gexps for setting environment variables.
>
> Yes it was. But now it's already fixed in ff20d392.