Re: guix shell --container from Shepherd to run a service
Hi Attila > dear Guix, > > my ultimate goal is to run Home Assistant (a python based service) > from Shepherd. I have a not yet running attempt of home assistant packaged, maybe you would like to have a stab at it? > packaging it seems to be too much effort, so i looked into running it in a > `guix shell --container`. it works fine when done from the terminal: > > $ su - hass > $ guix shell --manifest=manifest.scm --container --emulate-fhs --network > --share=/srv/hass > $ cd /srv/hass && source bin/activate && LD_LIBRARY_PATH=/lib:/lib64 hass > 2>&1 | tee /var/log/home-assistant.log > > (specifications->manifest > '("python" > "python-virtualenv" > "python-pytzdata" > "autoconf" > "openssl" > "libxml2" > "libxslt" > "libjpeg" > "libffi" > "eudev" > "zlib" > "pkg-config" > "ffmpeg" > "gcc-toolchain" > > "git" > )) > > now, i've converted this to a Shepherd service like this: > > (simple-service > 'home-assistant > shepherd-root-service-type > (list > (shepherd-service >(requirement '(file-systems networking guix-daemon)) >(provision '(home-assistant)) >(documentation "") >;; TODO herd stop doesn't work >(start > #~(lambda _ > (fork+exec-command > (list #$(file-append guix "/bin/guix") >"shell" >"--manifest=manifest.scm" >"--container" >"--emulate-fhs" >"--network" >"--share=/srv/hass" >"--" >#$(file-append bash "/bin/bash") >"-c" "cd /srv/hass && source bin/activate && > LD_LIBRARY_PATH=/lib:/lib64 hass") > #:log-file "/var/log/home-assistant.log" > #:user '#$(user-account-name *hass-user*) > #:group '#$(user-account-group *hass-user*) > #:supplementary-groups > '#$(user-account-supplementary-groups *hass-user*) > #:environment-variables > (list (string-append "HOME=/home/" > #$(user-account-name *hass-user*) > > > but this errors out: > > guix shell: error: mkdir: Permission denied: > "/tmp/guix-directory.sfpIhA/real-root" > > should this work, or am i holding it wrong? > > or should it be done some other way? any examples around? > > if it should work, then any hints on what to look at for a fix? grepping for > 'real-root' brings up MOUNT-FILE-SYSTEMS in linux-container.scm, but i > couldn't find anything obviously broken there. > > sidenote: debugging this would be a lot easier if the error wasn't reduced to > the above line, but instead a general error handler printed a backtrace. > > -- > • attila lendvai > • PGP: 963F 5D5F 45C7 DFCD 0A39 > -- > “When men yield up the privilege of thinking, the last shadow of liberty > quits the horizon.” > — Thomas Paine (1737–1809)
Re: Why YOU should join a Team!
I cannot claim to have a lot of time at hand, but to give something back to guix I'd like to join the science team. On April 28, 2025 10:00:14 AM CST, Christopher Howard wrote: There's no particular rule on how much you need to have contributed to become a Team member. Personally, I think that if you consider yourself as someone who's working on the project then the door is open for you to join a team. See the manual for the details! For my part, I would like to be on the Emacs team, but it seems like a mockery to ask to join, as I hardly have any spare time right now to do more than report bugs I notice, chiefly due to having a lot of small children in my family. I sometimes have a little spare time during the winter months when it is not practical to do outdoors activities, but it is touch and go. I worked a little on trying to patch emacs-guix last winter, but I reached an impasse when I realized I was going to have to rewrite entire files' worth of code as well as maybe patch Guix itself. There are some Emacs packages I would like to see added, and I occasionally report some Emacs packages that need to be updated, usually as a result of my own bug reports to the Emacs package developers. Not sure if any of that is a strong enough argument to get added to a team. -- Sent from /e/OS Mail.
Reliable way to get directory of current guile script
Hi Guix I have problems of finding a reliable way to access the current directory from a guile script. My setup is the following: I have a channels.scm file and a manifest.scm file at my project root directory. Additionally I have .guix/modules/my-package.scm file describing my package, which I reference in my manifest file like (package->development-manifest (load "guix.scm")) where guix.scm is a symlink to .guix/modules/my-package.scm. Now in .guix/modules/my-package.scm I want to have the absolute path of my project root. I used to use (define %source-dir (string-append (current-source-directory) "/../..")) which works fine until you call something like this: guix time-machine -C channels.scm -- repl manifest.scm in the project root. This fails because current-source-directory returns the path to the manifest.scm file. Now I started to use (define %source-dir (canonicalize-path (dirname (dirname (dirname (current-filename)) and this seemed to work fine until I included the package as a dependency into another package where it fails with the (not helpful at all) error message In procedure scm_to_utf8_stringn: Wrong type argument in position 1 (expecting string): #f which seems to stem from the factthat current-filename resolved to #f and dirname threw an exception Now I am using (define %source-dir (or (canonicalize-path (dirname (dirname (dirname (current-filename) (string-append (current-source-directory) "/../.."))) which covers my two needs, but it just feels ridiculously. Is there no easy and reliable way to get the path of the current script in guile? Best, Reza
Re: Reliable way to get directory of current guile script
Attila Lendvai writes: > not sure, but this may be relevant: > > (current-filename) is #f when guix pull'ing > https://issues.guix.gnu.org/55464 Yes seems to be the same or a similar issue but the workaround also looks kinda ugly ;)
Re: Reliable way to get directory of current guile script
Tomas Volf <~@wolfsden.cz> writes: > Hi, > > first let me have a meta comment. Your client seems to embed \r > characters (0x0D, CR) into your emails. Not sure if that is > intentional. Not really, but it makes me wonder what is causing this, I am using notmuch with emacs...? > reza writes: > >> Hi Guix >> >> I have problems of finding a reliable way to access the current >> directory from a guile script. >> >> My setup is the following: I have a channels.scm file and a manifest.scm >> file at my project root directory. Additionally I have >> .guix/modules/my-package.scm file describing my package, which I >> reference in my manifest file like >> >> (package->development-manifest (load "guix.scm")) >> >> where guix.scm is a symlink to .guix/modules/my-package.scm. >> >> Now in .guix/modules/my-package.scm I want to have the absolute path of >> my project root. I used to use >> >> (define %source-dir (string-append (current-source-directory) "/../..")) >> >> which works fine until you call something like this: >> >> guix time-machine -C channels.scm -- repl manifest.scm >> >> in the project root. This fails because current-source-directory returns >> the path to the manifest.scm file. Now I started to use >> >> (define %source-dir (canonicalize-path (dirname (dirname (dirname >> (current-filename)) >> >> and this seemed to work fine until I included the package as a >> dependency into another package where it fails with the (not helpful at >> all) error message >> >> In procedure scm_to_utf8_stringn: Wrong type argument in position 1 >> (expecting string): #f >> >> which seems to stem from the factthat current-filename resolved to #f >> and dirname threw an exception >> Now I am using >> >> (define %source-dir (or (canonicalize-path (dirname (dirname (dirname >> (current-filename) >> (string-append (current-source-directory) >> "/../.."))) >> >> which covers my two needs, but it just feels ridiculously. Is there no >> easy and reliable way to get the path of the current script in >> guile? > > I am not away of reliable way to get "path of the current script", > however for use in Guix, there is fairly simple pattern to get a root of > your repository. You just need to look for a known file unique to your > setup. I am using something similar to the following: > > --8<---cut here---start->8--- > (define %root > ;; I am pretty sure this file will not be in any other directory. > (dirname (dirname (canonicalize-path > (search-path %load-path > "my-system/files/channels.scm") > --8<---cut here---end--->8--- thanks for the tip, will try it out, though it has some ambiguity to it which I'd like to avoid... > And then I am just basing everything on %root. > > Hope this helps, > Tomas > > -- > There are only two hard things in Computer Science: > cache invalidation, naming things and off-by-one errors.
Re: example of poor debugging message (follow up Guix Days)
Hi, Because I stumbled on one (which I still don't understand) (repl-version 0 1 1) (exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (channel)) (value #f)) Context: I have a package with its own channel which by itself builds fine. When I include this package in yt another package the build fails with the above error message (pointing to the first package). No clue what is going wrong or where to look for more information... Especially annoying in this particular case is that the package as a channel is used as a dependency, therefore I have to push changes to git and then run git pull every time I want to debug the problem. > Hi, > > Maybe this one as well: > > --8<---cut here---start->8--- >> ./pre-inst-env guix build casacore indi libsep libxisf python-asdf \ > python-asdf-astropy python-astrocut python-astropy \ > python-astropy-healpix python-astropy-iers-data python-astroquery \ > python-casacore python-cmocean python-cmyt python-czml3 python-drizzle \ > python-drms python-ephem python-esutil python-extinction python-fitsio \ > python-glfw python-glue-core python-gwcs python-halotools \ > python-lofar-h5plot python-losoto python-mpl-scatter-density \ > python-mpsplines python-ndcube python-pyvo python-rad \ > python-roman-datamodels python-s3path python-sep-pjw python-sgp4 \ > python-sncosmo python-sndata python-soxs python-specreduce \ > python-spherical-geometry python-stsci-stimage python-sunkit-image \ > python-tweakwcs python-viresclient scamp > > Backtrace: > In guix/store.scm: >1330:8 19 (call-with-build-handler # …) > In guix/ui.scm: > 504:3 18 (_) > In ice-9/boot-9.scm: > 1747:15 17 (with-exception-handler # …) > 1752:10 16 (with-exception-handler _ _ #:unwind? _ # _) > In guix/ui.scm: > 491:6 15 (_) > In guix/scripts/build.scm: > 818:5 14 (_) > In srfi/srfi-1.scm: >673:15 13 (append-map _ _ . _) >586:17 12 (map1 ("x86_64-linux")) > In guix/scripts/build.scm: >820:21 11 (_ _) > In guix/store.scm: > 1412:11 10 (map/accumulate-builds # …) >1330:8 9 (call-with-build-handler # …) > In guix/scripts/build.scm: >779:18 8 (_ _) > In guix/monads.scm: > 576:2 7 (run-with-store # …) > In guix/store.scm: >2038:8 6 (_ _) > In guix/packages.scm: > 2050:11 5 (_ _) >1986:8 4 (_ _) > In guix/build-system/pyproject.scm: > 93:0 3 (pyproject-build _ _ #:source _ #:tests? _ # _ # _ # _ # …) > In ice-9/boot-9.scm: > 1685:16 2 (raise-exception _ #:continuable? _) > 1685:16 1 (raise-exception _ #:continuable? _) > 1685:16 0 (raise-exception _ #:continuable? _) > > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > Keyword argument has no value: #:tests? > --8<---cut here---end--->8--- > > I'm not quite sure where I need to check. Maybe do not cut long lines so > the key information may be visible? > > --- > Oleg
Practical consensus building, was: Deliberation period for GCD 003 "Rename the default branch" has technically started
Hello, I was reading this very insightful article about practical consensus building [1] and have noted some short comings and differences from the GCDs in process and wanted to list them here for discussion: 1. Consensus building needs necessary conditions to be met before starting, this is not mentioned in the GCD process and should probably be checked before every GCD 2. In the necessary conditions the "core values" are mentioned, as far as I know the core values of the guix project are not stated explicitly 3. Participation guidelines should be agreed upon and be met 4. To also hear "quiet" voices, rounds are initiated where each member comments on the issue without comments from the others (this may be hard to achieve via email) 5. Several rounds may be used before finding a consensus or aborting 6. I no consensus was found, the process should be analyzed carefully, this may hint at short comings in the necessary conditions or core values and values need clarification 7. Instead of disagreement finer tuned stances should be taken 8. A very important role is the facilitator which guides and moderates the discussion and summarizes the status of the discussion periodically [1] https://www.tamarackcommunity.ca/hubfs/Resources/Tools/Practical%20Guide%20for%20Consensus-Based%20Decision%20Making.pdf > Hello, > > I see much discussion of the deliberation, framed as a vote, but that’s > not what it is. I think mentions of votes, opposition, veto, and > similar phrases miss the point. > > The deliberation is meant as a way to get a clear understanding of what > people have said and done before—a show of hands to remove ambiguity. > > What matters in this process is not the deliberation: it’s the > discussion where everyone shares their feelings, states their needs, and > turns that into a proposal to amend the document. > > In some cases, conflicting needs will be irreconcilable and the proposal > will end up being withdrawn, and that’s fine. But in many cases, we > should be able to come up with proposals that account for everyone’s > needs. > > Ludo’.
Re: GCD005: Regular and efficient releases
]. > > Team branches can still be folded into the release branch as long as changes > are > minor package upgrades. > > ### 9. Ungraft master branch > Guix master is ungrafted to minimise the difference with users of the release > initial 'guix pull' experience. > > ### 10. Bugs and documentation focus > The master branch should be quiet at this point as everyone should focus on > testing and resolving any bugs. New documentation can also be done. > > ### 11. Branch and tag release branch > The master branch is tagged and a new release branch is created. > > * master branch: security only. > * release branch: security updates as normal. Only RC blocking bugs. > > Only security updates go to the master branch from week 9->13. All other > changes stay in a team branch or go to the `staging` branch. The focus on the > release branch is to stabilise so only RC bugs should be pushed. > > ### 12. Testing and Hard Freeze > RC bugs and issues should be solved for the release branch. > > Only changes that will fix a non-building package, or a bug in a package are > allowed. Ideally avoid new upstream versions, but it's acceptable to use a > new > minor upstream version to solve a bug. > > Any non-building packages are removed. > > ### 13. Release candidate > Release artifacts are created for the release candidate. There's a final 2 > weeks of testing with these artifacts. If there are no release blocking bugs > discovered then the releas uses these artifacts. If bugs are found/fixed then > release artifacts are regenerated as needed. > > ### 14. Final release > Final release is announced and new release artifacts are published. > > ### 15. Staging merged to master > If there were any breaking changes placed onto the `staging` branch then these > can be merged into the `master` branch at this point. The master branch then > continues as normal. > > ### 16. Release retrospective > A retrospective is undertaken by the release team to understand how the > release > process can be improved to make it more reliable for users and > easier/efficient > for developers. > > ### 17. Relax! > The release has been cut, everyone is now excited, and hopefully all is well. > Take some time off from release work! There's some time built-in here to > relax and get back to other hacking before it's time to start again with the > next release. > > --- > > [^1]: https://guix.gnu.org/en/blog/2022/gnu-guix-1.4.0-released/ > > [^2]: Examples of distributions that have cadences for different users and > screnarios > are Nix's stable branch, OpenSUSE's SlowRoll branch and Ubuntu's LTS > (Long Term Support) releases. > > [^3]: the aspect of creating news and excitement for casual users is > well-known > in the FOSS community. An example from > [GNOME's earlier > days](https://mail.gnome.org/archives/gnome-hackers/2002-June/msg00041.html). > > [^4]: GuixDays 2025 release discussion brought up examples of Guix not being > used to teach users because the initial pull was so slow that the > teaching session would have completed before 'guix pull' would finish. > We know guix pull being slow was identified by users as a challenge. > > [^5]: OpenSuse has a [SlowRoll > branch](https://en.opensuse.org/Portal:Slowroll) > where they release a smaller set of package updates on a monthly basis. > This is an interesting innovation as it allows users to still benefit > from > a rolling release but at a slower rate of change (fewer regressions). > They are also not dropping too far behind the rolling release, so > there's > not as much maintenance for OpenSUSE developers dealing with an out of > date release branch and having to backport software. > > [^6]: Nix has the concept of a [Release > Editor](https://nixos.github.io/release-wiki/Release-Editors.html) > who is responsible for improving the legibility of the release notes. > Our > version extends the idea to make sure other artifacts and activities > that > promote the release happen. > > [^7]: > https://github.com/NixOS/rfcs/blob/master/rfcs/0085-nixos-release-stablization.md I am missing the automation aspect a little in this GCD. As I understand the release take so long because there is a lot of manual effort involved in doing one. I think it is worthwhile to also work towards more automation in preparing a release and testing it. I have by no means a lot of insight into doing a release but my impression is that automation could drastically improve the time to relase. Thanks again! Best, Reza
Re: Introducing Guixotic, a Guix/Guile worker cooperative
Hi Guixotic > Hi, Guixers and Guilers! > > It is a great pleasure to introduce you to Guixotic, our new worker > cooperative specializing in GNU Guix and Guile: Very cool initiative! > https://guixotic.coop/ > > We are currently three people that you may already be familiar with: > Maxim Cournoyer (apteryx), Robin Templeton (lispwitch), and John > Kehayias (podiki). > > Our ultimate goal is to improve, strengthen, and expand Guix and Guile > by building an ecosystem of services around these technologies. The aim > is to transform a hobby into a viable livelihood, thereby fostering and > accelerating their development and adoption. > > We want to see these projects we love and have come to rely on continue > to grow, be used in all sorts of applications and businesses, and be > part of a healthy free software ecosystem. Besides ourselves, we want to > see opportunities for many more people to make a living working with > Guix and Guile. > > If this proves successful, we hope to be a model for what is possible > with a collectively managed free software worker cooperative. We are all > equal owners, and future members will be, too. We plan to have more > members in the future and be part of a group of businesses and > organizations centering on Guile and Guix. > > So, what exactly will we be doing? We offer services from education and > training to commercial support, from DevOps to system administration, > from packaging to new feature development. In short, everything Guix and > Guile. > > This is not meant to subsume the work each of us already does in these > and related projects, or have some "special class" of users or clients > influencing these projects. Rather, this is a way to allow us to work > full-time contributing. The idea is that paid projects, training, > support, etc., will help improve Guix and Guile for everyone, while also > supporting us to do more of the work we already love to do. It's about > placing the best of our energy, talent, and interests where it matters > the most to us, instead of having these restricted to late-night hobbies > and hacks (don't worry, we'll continue doing that too ;-)). > > Please let us know if you have any questions, suggestions, or > feedback. If you know of someone or an organization/business that > would be benefit from our services, we would love to hear about > them. You can contact us via mailto:cont...@guixotic.coop. Equally > useful is spreading the word. If you don't currently have any projects > for us but would be interested in supporting our work, it's possible > to contribute to our funding via Liberapay: > <https://liberapay.com/guixotic>. Can you share hourly rates for your services, e.g. for sys admin or packaging work? > As you might expect, we are very excited to be embarking on this > journey, and this is our first official announcement anywhere. And, of > course, we're a little nervous with what the future may hold as we feel > this isn't just about us succeeding, but opening it up for more people > to do this work, too. Nonetheless, we can't wait to see what the future > holds. > > Thanks for being part of this community and for reading this far! > > On behalf of Guixotic, Maxim, Robin and John. All the best to you! Reza > [0] http://guixotic.coop/ > [1] https://liberapay.com/guixotic
Re: 04/04: gnu: Add fwupd.
On Wednesday, August 31, 2022, Liliana Marie Prikler < liliana.prik...@gmail.com> wrote: > Am Mittwoch, dem 31.08.2022 um 09:26 -0400 schrieb Maxim Cournoyer: > > Hi, > > > > guix-comm...@gnu.org writes: > > > > > civodul pushed a commit to branch master > > > in repository guix. > > > > > > commit 23152ff70f0ed4966d8207846f54c793d7cb4f86 > > > Author: Petr Hodina > > > AuthorDate: Tue Jan 4 06:58:51 2022 +0100 > > > > > > gnu: Add fwupd. > > > > > > * gnu/packages/firmware.scm (fwupd): New variable. > > > > > > Signed-off-by: Ludovic Courtès > > > > Just a quick question: does this tool talks to a remote server that > > serves non-free software as well as free one? If so, it'd need to be > > patched to comply with the FSDG. > I'd be surprised if it supplied free software as well as non-free one. > > The vendor guide[1] states the following: > > Do I have to contribute any code? > > > > No, unless you're using a custom update protocol that fwupd does not > > already support. > > The user guide[2] likewise states: > > The OEM vendor is in full control over what models are supported and is > > the only entity that can add support for new hardware. > > The vendor agreement[3] further grants no freedom safe for the second – > the freedom to make unmodified copies. > > Cheers > > [1] https://fwupd.org/lvfs/docs/vendors > [2] https://fwupd.org/lvfs/docs/users > [3] https://fwupd.org/lvfs/docs/agreement > > Isn't fwupd a package manager which could technically be replaced by guix?
Re: LaTeX packaging policy
Good question, maybe we should just do that. Thoughts? What about size? Does this not bloat up profile sizes? -- Reza Housseini This message is signed with my GnuPG key: C0F3 0812 9AF2 80F4 0830 C2C1 C375 C6AF 0512 5C52 OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
poetry not building
Hi Poetry is not building on ci.guix.gnu.org [1]. There is a pending patch [2] on the issue tracker. What is missing to apply this patch and how can I help? Cheers, Reza [1] https://ci.guix.gnu.org/search?query=poetry [2] https://issues.guix.gnu.org/63139 -- Reza Housseini This message is signed with my GnuPG key: C0F3 0812 9AF2 80F4 0830 C2C1 C375 C6AF 0512 5C52 OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: poetry not building
Hi Felix Thanks for your reply. I really hope someone responds to you, but in the meantime you could set up your own copy of Guix. It's an elegant way to stop begging, which I stopped doing because I find it demeaning. I was not begging only posing a simple question. This is a misunderstanding on your side. More importantly, setting up your own Guix would allow you to test the proposed patch set, which is quite large. After some time, you can report your experience to the bug. That might provide a measure of comfort to anyone who would like to help you but is deterred by the fear of making a mistake. Reviewers have lives. I already tested parts of the patch set, I was never at any point demanding the reviewers to work on this patch asap. As a result, the adoption of the patch set becomes more likely. An additional benefit is that you could pin your own branch to a commit on master that works for you. For example, you could branch off of my "prebuilt" branch. [1] It follows "master," but with a delay in hope of maximizing substitute availability. I also try to sidestep temporary or unresolved quirks like this one [2] which can make it impossible to reconfigure your system or your home. It may be a rational choice depending on your set of personal constraints. I'm playing with the idea of doing that for a while now, but I fear this adds another layer of complexity I'm not prepared to handle right now. Thanks for the suggestion anyway. Cheers, Reza -- Reza Housseini This message is signed with my GnuPG key: C0F3 0812 9AF2 80F4 0830 C2C1 C375 C6AF 0512 5C52 OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Version from file in a package
Hi List Following the excellent blog post from Ludo [1] to guixify my python project, I wanted to include a version string from file to have a single source for the guix files and also for the python pyproject.toml file. Something along this: (define-public my-package (let* ((vcs-file? (or (git-predicate %source-dir) (const #t))) (version-file "VERSION") (version-from-file (call-with-input-file version-file get-string-all))) (package (name "my-package") (version version-from-file) (source (local-file "../.." "my-package-checkout" #:recursive? #t #:select? vcs-file?)) (build-system pyproject-build-system) ... this seems to work when I build locally but throws an error when I build after a guix pull: (exception system-error (value "open-file") (value "~A: ~S") (value ("No such file or directory" "VERSION")) (value (2))) How can I achieve this? Thanks for your input! Best, Reza [1] https://guix.gnu.org/en/blog/2023/from-development-environments-to-continuous-integrationthe-ultimate-guide-to-software-development-with-guix/ -- Reza Housseini This message is signed with my GnuPG key: C0F3 0812 9AF2 80F4 0830 C2C1 C375 C6AF 0512 5C52 OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: ActtivityPub and Haunt
But I will hands-down say that Haunt was an EXCELLENT environment for writing ap.rocks. The implementation guide page especially is a great demonstration of Haunt's power: https://activitypub.rocks/implementation-report/ pretty cool stuff indeed! I also checked out the software mentioned on the page, are there any attempts at packaging some of the software e.g. microblog.pub? -- Reza Housseini This message is signed with my GnuPG key: C0F3 0812 9AF2 80F4 0830 C2C1 C375 C6AF 0512 5C52 OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Authenticated Boot and Disk Encryption
Hello Guix! I came across this blog post <https://0pointer.net/blog/authenticated-boot-and-disk-encryption-on-linux.html> and was wondering what is the state of authenticated boot and encryption in Guix System? I have this vision where you define such things in your system guile script and everything gets configured appropriately, or at least the default setup is as secure as possible. Thanks for any insights. Cheers, Reza
Re: Guix+Jenkins slides/video
On Mon, Oct 11, 2021 at 12:36 PM zimoun wrote: > Hi Phil, > > > On Mon, 4 Oct 2021 at 12:30, Phil wrote: > > > https://www.devopsworld.com/agenda/session/617842 > > > > Slides are available at the bottom without registration. The video > > requires registration (and needs full screen). > > Cool! Thanks. > > (Although the registration is not so nice, another story. ;-)) > > > This is still a work in progress, so any suggestions, comments, > > questions very welcome. > > Could you list what appears to you missing from Cuirass to support your > needs? > > > Cheers, > simon > > Hi Phil I am also really interested in this topic, where did you host the package definition? Is it in the same repo as the source code? @zimoun I would also prefer to use Cuirass, could you sketch a similar setup with Cuirass? Cheers, Reza
Re: gcc-4.7 and gcc-4.8 compilation failure in x64
Hi Ekaitz Not that I am in any position to answer the question, but could you share a little bit more context? Did the error occur when you were compiling gcc-4.7 or do programs compiled with this compiler have this issue? What path led you to gcc-4.7? Can you share your compilation settings? etc.. Kind regards, Reza On 3/29/22 16:15, Ekaitz Zarraga wrote: Hi, I'm digging on old compiler versions for bootstrapping purposes and I realized that gcc 4.7 and 4.8 packages don't compile on x64. We have been able to reproduce the failure of gcc 4.7 but we didn't test the 4.8 error that far. In gcc-4.7 the error is the following: ./md-unwind-support.h:60:47: error: dereferencing pointer to incomplete type I guess there's something missing there but I'm out of ideas to dig on this further. Anyone? OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: gcc-4.7 and gcc-4.8 compilation failure in x64
Looks like a bug in gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712 You probably have to patch gcc 4.* as it was only backported until gcc 5.5 On 3/29/22 21:01, Ekaitz Zarraga wrote: And you try to compile that using `guix build -m manifest.scm` the compilation fails. The same happens when choosing 4.8. More specifically I mean the output of that command is: ./md-unwind-support.h:60:47: error: dereferencing pointer to incomplete type ... error: in phase 'build': uncaught exception: %exception #<&invoke-error program: "make" arguments: ("-j" "8" "LDFLAGS_FOR_TARGET=-B/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib -Wl,-dynamic-linker -Wl,/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/ld-linux-x86-64.so.2" "LDFLAGS=-Wl,-rpath=/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib -Wl,-dynamic-linker -Wl,/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/ld-linux-x86-64.so.2" "BOOT_CFLAGS=-O2 -g0") exit-status: 2 term-signal: #f stop-signal: #f> phase `build' failed after 256.1 seconds command "make" "-j" "8" "LDFLAGS_FOR_TARGET=-B/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib -Wl,-dynamic-linker -Wl,/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/ld-linux-x86-64.so.2" "LDFLAGS=-Wl,-rpath=/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib -Wl,-dynamic-linker -Wl,/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/ld-linux-x86-64.so.2" "BOOT_CFLAGS=-O2 -g0" failed with status 2 builder for `/gnu/store/bx2zldsx3by529hri5pfx15k12f67gzb-gcc-4.7.4.drv' failed with exit code 1 build of /gnu/store/bx2zldsx3by529hri5pfx15k12f67gzb-gcc-4.7.4.drv failed View build log at '/var/log/guix/drvs/bx/2zldsx3by529hri5pfx15k12f67gzb-gcc-4.7.4.drv.gz'. guix build: error: build of `/gnu/store/bx2zldsx3by529hri5pfx15k12f67gzb-gcc-4.7.4.drv' failed OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: gcc-4.7 and gcc-4.8 compilation failure in x64
Did you try to use guix time-machine and compile 4.7 from there? Perhaps the issue is the glibc version? On 3/30/22 21:32, Ekaitz Zarraga wrote: Hi Reza, On Wednesday, March 30th, 2022 at 9:27 PM, Reza Housseini wrote: Looks like a bug in gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712 You probably have to patch gcc 4.* as it was only backported until gcc 5.5 On 3/29/22 21:01, Ekaitz Zarraga wrote: And you try to compile that using `guix build -m manifest.scm` the compilation fails. The same happens when choosing 4.8. More specifically I mean the output of that command is: ./md-unwind-support.h:60:47: error: dereferencing pointer to incomplete type ... error: in phase 'build': uncaught exception: %exception #<&invoke-error program: "make" arguments: ("-j" "8" "LDFLAGS_FOR_TARGET=-B/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib -Wl,-dynamic-linker -Wl,/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/ld-linux-x86-64.so.2" "LDFLAGS=-Wl,-rpath=/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib -Wl,-dynamic-linker -Wl,/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/ld-linux-x86-64.so.2" "BOOT_CFLAGS=-O2 -g0") exit-status: 2 term-signal: #f stop-signal: #f> phase `build' failed after 256.1 seconds command "make" "-j" "8" "LDFLAGS_FOR_TARGET=-B/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib -Wl,-dynamic-linker -Wl,/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/ld-linux-x86-64.so.2" "LDFLAGS=-Wl,-rpath=/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib -Wl,-dynamic-linker -Wl,/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/ld-linux-x86-64.so.2" "BOOT_CFLAGS=-O2 -g0" failed with status 2 builder for` /gnu/store/bx2zldsx3by529hri5pfx15k12f67gzb-gcc-4.7.4.drv' failed with exit code 1 build of /gnu/store/bx2zldsx3by529hri5pfx15k12f67gzb-gcc-4.7.4.drv failed View build log at '/var/log/guix/drvs/bx/2zldsx3by529hri5pfx15k12f67gzb-gcc-4.7.4.drv.gz'. guix build: error: build of `/gnu/store/bx2zldsx3by529hri5pfx15k12f67gzb-gcc-4.7.4.drv' failed So the gcc-4.7 and gcc-4.8 packages never worked? Or we need an older libc? OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Donation of used Softiron Overdrive 1000
Hi Guixers, I'd like to donate this used machine [1] to the guix project. Is there any interest and when yes can I advice the seller to send the machine directly to the build farm hoster? Thanks for the great project. Kind regards, Reza [1] https://www.ebay-kleinanzeigen.de/s-anzeige/softiron-overdrive-1000-arm64-aarch64-developer-kit/1952849632-228-7046 OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: Donation of used Softiron Overdrive 1000
On 4/27/22 10:13, Julien Lepiller wrote: I used to host one of them (or was it another kind of overdrive?). Now that I moved to a new place where I should stay for a while, I should be able host one again, if needed :) My German is not too great. Does it come with disks and USB cable? What's its condition overall? Will it die after a few weeks? :D On April 27, 2022 9:03:36 AM GMT+02:00, Reza Housseini wrote: Hi Guixers, I'd like to donate this used machine [1] to the guix project. Is there any interest and when yes can I advice the seller to send the machine directly to the build farm hoster? Thanks for the great project. Kind regards, Reza [1]https://www.ebay-kleinanzeigen.de/s-anzeige/softiron-overdrive-1000-arm64-aarch64-developer-kit/1952849632-228-7046 Hi Julien The seller said it is in excellent condition. It has an 1TB HDD included, but about the cables I am not sure. Can I advice the seller to send it to you then? Cheers, Reza OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: Donation of used Softiron Overdrive 1000
On 4/27/22 14:38, Mathieu Othacehe wrote: Hello Julien and Reza, Thanks for the donation! We already have two Overdrive 1000 connected to the build farm behind ci.guix.gnu.org (overdrive1 and dover machines). Adding an extra one, and have it hosted at your place Julien would be great :). You can then follow the procedure described here: https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/doc/cuirass.org, to add it to the build farm. I will be happy to help you, if needed at that time. Mathieu Great! Do you send me your address Julien, then I will buy the machine today. OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: Multiple profiles with Guix Home
On 5/4/22 09:01, Maxime Devos wrote: Liliana Marie Prikler schreef op wo 04-05-2022 om 06:16 [+0200]: Until the previous mail, I have not seen anything about thematic profiles, so I did not have thematic profiles in mind in my response. Even then, I'm not sure what these thematic profiles are supposed to solve that is not working around some underlying problem (e.g. slow profile building times). Pierre's "Guix Profiles in Practice" is a 2.5 years old blog post. If you can't think of any uses for multiple profiles, you're not the target audience at this point. I have seen that blog post. I do use profiles, albeit with "guix environment" and now "guix shell". But I have not yet seen any reasons for profile _splitting_. And if I'm not the target audience, what does that matter? Greetings, Maxime. A specific use case for profile splitting I see very useful, is e.g. having a profile with all your editor and plugin dependencies and your project specific dependencies. So if you work on a specific project you can merge the two profiles and your linters will not complain about missing dependencies. I can also imagine more fine grained splitting, for example test and documentation dependencies in separate profiles or even unit test and integration test dependencies split into separate profiles. At the moment I see no possibilities for even the "easy" use case I mentioned first. Cheers, Reza OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: Merging the purge-python2-packages branch
On 5/30/22 18:49, zimoun wrote: Well, me, personally, I continue to do most of my research using Python 2 because I cannot afford to port everything to Python 3. And since I do only number crunching, meaning nothing with security implications, I am not particularly worried. [...] Once Python 2 lives in a largely isolated package sub-universe, I don't see much harm keeping it in Guix for now. If security issues become apparent, we might have to do something more drastic. I think time-machine is the tool to use here, and as Maxime suggested, if you really need to keep maintaining a python2 package than guix-past is the perfect place to do it (porting to python3 makes probably still more sense than maintaining an outdated python package). It appears to me surprising: we do not provide a schedule for the removals, then bang purge. I don't see the problem, python 2 was sunsetting in 2020(!) [1] after a prolongation from 2015, so it should not come as a surprise. Cheers, Reza [1] https://www.python.org/doc/sunset-python-2/ -- Reza Housseini This message is signed with my GnuPG key: C0F3 0812 9AF2 80F4 0830 C2C1 C375 C6AF 0512 5C52 OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: Failed to build in QA
This is probably down to a top level circular dependency. In particular, trying to paraview to compute the version to form part of the native-search-path at the top level causes problems. I'm wondering why it builds fine locally but causes problems in QA have you any pointers what might be the difference? Making openfoam have LD_LIBRARY_PATH as a search path seems like the incorrect use of search paths though, since you're searching for something in the same package. Replacing this with wrapping would be an improvement, although still I'm unsure why LD_LIBRARY_PATH would need setting in this case Hmm maybe you are right, will try to wrap the binaries instead... OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Restart of v4l-utils build
Hi List I wanted to install python-sphinx-gallery but deep down in the dependency list v4l-utils is failing [1]. Locally it builds fine therefore I assume the build only needs to be restarted. Thanks, Reza [1] https://ci.guix.gnu.org/build/2030706/details -- Reza Housseini This message is signed with my GnuPG key: C0F3 0812 9AF2 80F4 0830 C2C1 C375 C6AF 0512 5C52 OpenPGP_0xC375C6AF05125C52.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: Failed to build in QA
Hi Christopher I submitted a new revision to the issue, but the QA link shows Issue not found This could mean the issue does not exist, it has no patches or has been closed. do you know what the problem is here? Thanks for your help, Best, Reza
xz backdoor
Hi Guixers Just stumbled upon this recently discovered supply chain attack on xz, inserting a backdoor via test files [1, 2]. And it made me wondering, what would have been the effects on guix and how can we potentially avoid it? Stay safe! Reza [1] https://www.openwall.com/lists/oss-security/2024/03/29/4 [2] https://access.redhat.com/security/cve/cve-2024-3094#cve-cvss-v3
Package for OpenCV4
Hi, just started to prepare a packge for `qimgv` [1], but it has a dependency to OpenCV-4, and current available version of OpenCV in Guix repository is 3.4.3. just wanted to know, if there is a plan to upgrade OpenCV to version 4? since I had a try and it seems that OpenCV-4 needs more tasks than just upgrading the version number. [1]: https://github.com/easymodo/qimgv -- Reza Alizadeh Majd PantherX Team https://www.pantherx.org/
Persian translation
Hey guys. I hope you all are well. I wanted to contribute to GNU and Guix but I'm not a programmer so I thought maybe I can translate Guix to Persian if it's needed. Can you guys help me to start? What should I do? Where should I start? I have a GNU Savannah account now. What's the next step? -- Ali Reza Hayati www.alirezahayati.com signature.asc Description: OpenPGP digital signature
Re: Persian translation
Hey Florizan, thanks for advice. I'll report back. I just joined the mailing list and email the team leader. If I don't hear back, I'll let you all know. On 8/4/20 9:38 PM, pelzflorian (Florian Pelz) wrote: > On Tue, Aug 04, 2020 at 12:57:37PM -0400, Amin Bandali wrote: >> Hi Ali Reza, >> >> Ali Reza Hayati writes: >> >>> Hey guys. >>> I hope you all are well. >>> >>> I wanted to contribute to GNU and Guix but I'm not a programmer so I >>> thought maybe I can translate Guix to Persian if it's needed. Can you >>> guys help me to start? What should I do? Where should I start? >>> >>> I have a GNU Savannah account now. What's the next step? >> >> Thanks for your interest and for volunteering to translate Guix into >> Persian. I'd be happy to help with translating and/or reviewing >> yours/others' translations. >> >> I believe the translation of Guix is done using the Translation Project, >> consisting of the three "packages" guix [0], guix-manual [1], and >> guix-packages [2] as of now. >> >> [0]: <https://translationproject.org/domain/guix.html> >> [1]: <https://translationproject.org/domain/guix-manual.html> >> [2]: <https://translationproject.org/domain/guix-packages.html> >> >> We should probably start by emailing the "team lead" for the Persian >> team <https://translationproject.org/team/fa.html> and ask to join the >> team. I don't think translating Guix requires a disclaimer, but you may >> consider doing so anyway, if you may at some point in the future >> contribute translations to other projects which require it. It would >> probably be a good idea to join the translation-team-fa mailing list as >> well. >> >> <https://translationproject.org/html/translators.html> contains general >> instructions for translators. > > This is very much correct. You just need to edit the PO file from > <https://translationproject.org/team/fa.html> in a PO editor and after > adding some translations submit it to the Translation Project. But > you should first talk to your team. > > However I see little activity on > <https://translationproject.org/team/fa.html>. Please report back if > there are any problems reaching the team lead. Also the Guix System > installer does not support right-to-left scripts yet (the bug was > reported here <https://issues.guix.info/issue/35319>). > > Regards, > Florian > -- Ali Reza Hayati www.alirezahayati.com signature.asc Description: OpenPGP digital signature
Re: Persian translation
There is a law that supports companies/people what it's not strict nor good enough. No law like what we see in other countries. On August 5, 2020 2:15:29 AM UTC, aviva wrote: >On 8/4/20 1:08 PM, pelzflorian (Florian Pelz) wrote: >> On Tue, Aug 04, 2020 at 12:57:37PM -0400, Amin Bandali wrote: >>> Hi Ali Reza, >>> >>> Ali Reza Hayati writes: >>> >>>> Hey guys. >>>> I hope you all are well. >>>> >>>> I wanted to contribute to GNU and Guix but I'm not a programmer so I >>>> thought maybe I can translate Guix to Persian if it's needed. Can you >>>> guys help me to start? What should I do? Where should I start? >>>> >>>> I have a GNU Savannah account now. What's the next step? > > >Does Iran have a legal context for copyright? > > > > -- Ali Reza Hayati www.alirezahayati.com
Allow to add more than one group for service user
Hi Guix, coming from this thread: https://lists.gnu.org/archive/html/help-guix/2020-07/msg00088.html I had defined a service that needs to run by a specific user. regarding application creates a unix domain socket during start and change the ownership of socket file to specific group. the problem is that daemon user (the user that runs the service) only detects it's primary group and don't have permission to `chown` the socket file. I also performed another test and run a bash instance inside a `screen` using the service. when I check for the user groups, I had seen that only primary group is detected as group for service user. I assume that that this might be a bug on group assignment for service user. or I might missed something in service definition. kind regards, Reza -- Reza Alizadeh Majd PantherX Team https://www.pantherx.org/
Re: Allow to add more than one group for service user
Hi Julien, On Wed, 19 Aug 2020 07:11:25 -0400 Julien Lepiller wrote: > This kind of message should probably go to guix-help instead. Can you > send your user and groups definition you're using? Then we should see > if there's anything wrong with it, or if we can reproduce the issue. sorry for interruption, since I assumed this could be a bug I continue previous discussion in this mailing list, if you think `help-guix` is the proper place to discuss about this issue we can continue on following thread: https://lists.gnu.org/archive/html/help-guix/2020-07/msg00088.html by the way, here is the user account and groups that I'm using for my service definition: --8<---cut here---start->8--- (define %kyc-accounts (list (user-group (name "kyc-service")) (user-group (name "kyc-rpc")) (user-account (name "kyc-service") (group "kyc-service") (system? #f) (supplementary-groups '("wheel" "kyc-rpc" "video")) (comment "KYC service user" --8<---cut here---end--->8--- later I add these definitions using `account-service-type` extension: --8<---cut here---start->8--- (define kyc-service-type ... (extensions (list ... (service-extension account-service-type (const %kyc-accounts ... --8<---cut here---end--->8--- -- Reza Alizadeh Majd PantherX Team https://www.pantherx.org/
Re: Allow to add more than one group for service user
On Wed, 19 Aug 2020 14:13:43 -0400 Julien Lepiller wrote: > From what I understand, the generated /etc/group is correct, but > loging as kyc-service, even after a reboot, you don't see the > additional groups? when I login normally, using `su - kyc-service` all groups are in place and I can see both the primary and supplementary groups using `groups` command. but, when I switch to a shell that is run by service, `groups` command shows me only the primary group of the user: --8<---cut here---start->8--- sh-5.0$ whoami kyc-service sh-5.0$ groups kyc-service --8<---cut here---end--->8--- -- Reza Alizadeh Majd PantherX Team https://www.pantherx.org/
Re: Allow to add more than one group for service user
On Wed, 19 Aug 2020 14:13:43 -0400 Julien Lepiller wrote: > From what I understand, the generated /etc/group is correct, but > loging as kyc-service, even after a reboot, you don't see the > additional groups? in order to replicate this issue I had prepared a `test-service` that provides bash access inside a screen for a test user: --8<---cut here---start->8--- (use-modules (gnu) (gnu system) (gnu system shadow) (gnu packages admin) (gnu packages bash) (gnu packages base) (gnu packages screen) (gnu services shepherd) (guix gexp) (guix records) (ice-9 match)) (define-record-type* test-configuration make-test-configuration test-configuration? (package test-configuration-package (default bash))) (define test-shepherd-service (match-lambda (($ package) (list (shepherd-service (provision '(test-service)) (documentation "run a bash instance inside screen") (requirement '(user-processes)) (start #~(make-forkexec-constructor (list (string-append #$screen "/bin/screen") "-D" "-m" "-S" "test-service" (string-append #$package "/bin/sh")) #:user "test" #:group "users")) (stop #~(make-kill-destructor))) (define (test-accounts config) "return the user accounts for test-service" (list (user-group (name "testgrp")) (user-account (name "test") (group "testgrp") (system? #t) (comment "test user") (supplementary-groups '("users" "wheel")) (home-directory "/home/test" (define test-service-type (service-type (name 'test-service) (extensions (list (service-extension shepherd-root-service-type test-shepherd-service) (service-extension account-service-type test-accounts))) (default-value (test-configuration --8<---cut here---end--->8--- using above snippet, I realized that the only group which is set to `#:group` parameter of `make-forkexec-constructor` (`users` in this test) is available for service. --8<---cut here---start->8--- root@panther ~# su - test -bash-5.0$ groups testgrp users wheel -bash-5.0$ screen -r test-service sh-5.0$ groups users --8<---cut here---end--->8--- -- Reza Alizadeh Majd PantherX Team https://www.pantherx.org/
Re: Allow to add more than one group for service user
Hi Oleg, Thanks for your response On Thu, 20 Aug 2020 09:04:36 +0300 Oleg Pykhalov wrote: > Addional groups which could be specified via ‘supplementary-groups’ > will be available for processes launched as services after Shepherd's > next release with merged patch https://issues.guix.info/41573 Glad to hear about that, I assume this could fix my issue, so I just need to wait for next release of Shepherd. Regards, Reza -- Reza Alizadeh Majd PantherX Team https://www.pantherx.org/
Service implementation for LXQt desktop
Hi Guix, working on a service definition for LXQt desktop, I need to perform a series of default configurations. for example to set the window manager, prepare default panel, set the default theme, etc. these configurations should be located $XDG_CONFIG_DIRS so the default paths are: /run/current-system/profile/etc/xdg /home/$USER/.guix-profile/etc/xdg /home/$USER/.config/ I wanted to use `activation-service-type` to prepare default configurations in users home directory, but don't know how to access each user's home directory. the other option is to provide default configurations in store and symlink them in system profile. could anyone help me to do this using activation snippet? this is the service implementation that I'm working on: --8<---cut here---start->8--- (define-record-type* lxqt-desktop-configuration make-lxqt-desktop-configuration lxqt-desktop-configuration? (package lxqt-package (default lxqt-modified-dev))) (define %lxqt-activation #~(begin (let* ((conf-dir "DON'T KNOW HOW TO SET PATH FOR PROFILE") (session-conf (string-append conf-dir "/session.conf"))) (use-modules (guix build utils)) (mkdir-p conf-dir) (unless (file-exists? session-conf) (call-with-output-file session-conf (lambda (port) (format port "# Auto Generated by Lxqt Service [General] window_manager=openbox"))) (define lxqt-desktop-service-type (service-type (name 'lxqt-desktop) (extensions (list (service-extension profile-service-type (compose list lxqt (service-extension activation-service-type (const %lxqt-activation)) (default-value (lxqt-desktop-configuration)) (description "Run the LXQt desktop environment."))) --8<-------cut here---end--->8--- Kind regards, Reza -- Reza Alizadeh Majd PantherX Team https://www.pantherx.org/
Re: Service implementation for LXQt desktop
Hi Ludovic, On Mon, 07 Sep 2020 11:45:01 +0200 Ludovic Courtès wrote: > Instead of accessing each users’s home directory, I strongly recommend > adding a new “skeleton”: a set of files that are automatically added > to new home directories when a new user account shows up. as I know, skeletons only apply on new home directories, and for example if an existing user wants to switch from XFCE to LXQt desktop, related skeleton files wont be applied on their home directory. > To do that, the lxqt service can extend ‘account-service-type’ with > new skeletons. I can’t find an example of that but let us know if > it’s harder than it seems! as I understand from the documents, `account-service-type` extension returns a list of `user-account` and `user-group` records. I also didn't find any reference related to ad skeletons to `user-account`. a solution that I was thinking of was to add these configurations, to the related `$XDG_CONFIG_DIRS` path in system profile located in `/run/current-system/profile/etc/xdg/...` just don't know which service extension I should extend for this purpose. Thanks, Reza -- Reza Alizadeh Majd PantherX Team https://www.pantherx.org/
Re: Service implementation for LXQt desktop
On Thu, 3 Sep 2020 11:11:42 +0430 Reza Alizadeh Majd wrote: > Hi Guix, > > working on a service definition for LXQt desktop, I need to perform a > series of default configurations. for example to set the window > manager, prepare default panel, set the default theme, etc. > > these configurations should be located $XDG_CONFIG_DIRS so the default > paths are: > > /run/current-system/profile/etc/xdg > /home/$USER/.guix-profile/etc/xdg > /home/$USER/.config/ > > I wanted to use `activation-service-type` to prepare default > configurations in users home directory, but don't know how to access > each user's home directory. > > the other option is to provide default configurations in store and > symlink them in system profile. could anyone help me to do this using > activation snippet? > > this is the service implementation that I'm working on: > > --8<---cut here---start->8--- > (define-record-type* > lxqt-desktop-configuration make-lxqt-desktop-configuration > lxqt-desktop-configuration? > (package lxqt-package (default lxqt-modified-dev))) > > > (define %lxqt-activation > #~(begin > (let* ((conf-dir "DON'T KNOW HOW TO SET PATH FOR PROFILE") > (session-conf (string-append conf-dir "/session.conf"))) > (use-modules (guix build utils)) > (mkdir-p conf-dir) > (unless (file-exists? session-conf) > (call-with-output-file session-conf > (lambda (port) > (format port "# Auto Generated by Lxqt Service > [General] > window_manager=openbox"))) > > > (define lxqt-desktop-service-type > (service-type >(name 'lxqt-desktop) >(extensions > (list (service-extension profile-service-type > (compose list lxqt > (service-extension activation-service-type > (const %lxqt-activation)) >(default-value (lxqt-desktop-configuration)) >(description "Run the LXQt desktop environment."))) > > --8<---cut here---end--->8--- > > Kind regards, > Reza > does anyone have any suggestion about this initial configurations for a new desktop service (LXQt)? check the other desktop services, I didn't find any reference about this type of initial configurations in service definitions, is this type of modifications need to be applied on package definition instead? Regards, Reza -- Reza Alizadeh Majd PantherX Team https://www.pantherx.org/
Re: Reviewing KDE Plasma state on Guix System
Hi Guix, On behalf of PantherX team just wanted to mention that our bounty program is still active for whom interested to work on `kwin` package. Anyone interested to work on `kwin` package and provide a working version could reach us both here on this thread or by contacting bou...@pantherx.org. The bounty results will be published to the community and whoever does that gets the full credit. At the end just wanted to mention The bounty is really just a motivation that hopefully benefits the whole community. --- Regards Reza Alizadeh Majd PantherX Team
right location for gitlab-runner
Hi, I had prepare a package for `gitlab-runner`: https://docs.gitlab.com/runner/ but I'm not sure about the right place to submit regarding patch. is the `gnu/packages/ci.scm` is a good location to submit this package? -- Regards Reza Alizadeh Majd PantherX Team
Re: right location for gitlab-runner
Hi, On Tue, Dec 31, 2019, at 1:07 AM, Ludovic Courtès wrote: > Hello! > > "Reza Alizadeh Majd" skribis: > > > I had prepare a package for `gitlab-runner`: > > https://docs.gitlab.com/runner/ > > > > but I'm not sure about the right place to submit regarding > > patch. is the `gnu/packages/ci.scm` is a good location to > > submit this package? > > Sure, sounds good! > > Ludo’. > thanks, regarding patch submitted: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=38827 -- Regards Reza Alizadeh Majd PantherX Team