Coder Social home page Coder Social logo

abcdw / rde Goto Github PK

View Code? Open in Web Editor NEW
214.0 14.0 16.0 5.27 MB

Tools for managing reproducible development environments. Mirror of https://sr.ht/~abcdw/rde/

Home Page: https://trop.in/rde

License: GNU General Public License v3.0

Shell 0.29% Emacs Lisp 1.75% Makefile 0.15% Scheme 97.48% CSS 0.04% Elixir 0.30%
emacs guix guixhome sway wayland zsh rde guix-home guile scheme

rde's Introduction

rde

Developer and power user friendly GNU/Linux distribution based on GNU Guix package manager.

More info is available at trop.in/rde.

Disclaimer: The rde project is stable and usable, but still under active development and API is a subject to change.

Principles

This is a brief list of principles, more detailed description can be found in the manual.

Main

Ergonomic
Sane keybindings, good contrast, readable fonts.
Reproducible
Setup can be easily replicated.
Hackable
Easy to throw out or modify any part of setup.
Stateless
All state must be explicit and syncable or temporary.

Secondary

Lightweight and battery efficient
wayland, fast native apps.
Offline
most of workflows and apps should work without network.
Attention-friendly
minimal use of notification and other distractive things.

Usage

Read Getting Started section of the manual, skim through the source code and enjoy the thing!

Channel introduction

In case you want to use rde as a channel, there is a channel definition:

(cons*
 (channel
  (name 'rde)
  (url "https://git.sr.ht/~abcdw/rde")
  (introduction
   (make-channel-introduction
    "257cebd587b66e4d865b3537a9a88cccd7107c95"
    (openpgp-fingerprint
     "2841 9AC6 5038 7440 C7E9  2FFA 2208 D209 58C1 DEB0"))))
 %default-channels)

Add it to ~~/.config/guix/channels.scm~, and call guix pull or manage it any other way you want.

Just a screenshot

A picture to catch your eye)

https://cdn.fosstodon.org/media_attachments/files/106/900/674/950/793/851/original/4b17f03528571ca0.png

Tools

Community

There are a few mailing lists you can subscribe and/or post with your existing email account:

~abcdw/[email protected]
for news and updates.
~abcdw/[email protected]
for discussions and questions.
~abcdw/[email protected]
for patches and development related discussions.

Join #rde IRC channel on libera.chat.

Check out Community section of the manual.

Contributing

To propose new features, fixes or ideas send emails, optionally with inline patches to rde-devel mailing list. As usual more info is available in Contributing section of the manual.

People’s rde configurations

Those repositories are not affilated with rde or Guix, they are provided as real-world examples of people’s rde configurations, which you can inspect to get familiar with its concepts, but be careful and thoughtful, remember that blindly copying snippets of code from the internet can have a huge security implications on your setup. If you think other users might learn from your configuration and you’d like to share it publicly, let us know via the <a href=”* Community”>community channels. For Guix Home example configurations, see <a href=”* People’s Guix Home configurations”>People’s Guix Home configurations.

Guix Home

Guix Home is a part of GNU Guix now, no additional installation steps are required anymore.

People’s Guix Home configurations

Those repositories are not affilated with rde or Guix, they are provided as real-world Guix Home usage examples, but be careful and thoughtful, remember that blindly copying snippets of code from the internet can have a huge security implications on your setup.

  • yoctocell’s full-blown configuration with variety of software.
  • krevedkokun’s Emacs(Evil)/Wayland(Sway) compact and clean config.
  • Nicolas Graves’ dotfiles forked from krevedkokun’s.
  • akagi’s configurations, home and system services and packages.

rde's People

Contributors

11kilobytes avatar abcdw avatar benoitj avatar declantsien avatar iah0nii3re avatar j-shilling avatar jgarte avatar johanengstrand avatar krevedkokun avatar michal-atlas avatar migalmoreno avatar minikn avatar morganjamessmith avatar nicolas-graves avatar peterk-end avatar qzdl avatar yoctocell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rde's Issues

How do I install this as an ISO

Sorry for the noob question, Guix is super confusing to me. I see that there's a file in here that tells you how to install Guix, but I don't see any Guix commands? And how do I add my own configuration?

I'd like
- to know how to install this from the live iso without going through Guix installer
- How do use this repo on a fresh guix install
- If I install it as a channel, what do I do with it?

Incorrect module?

Thanks for making Guix Home. I enjoy using it a lot.

When I try to pull from the rde channel, it fails to build and says "no code for module (gnu home services configuration)", which is used in emacs.scm and home-services-utils.scm. I can't find this module in upstream guix. Does it still exist somewhere else?

How to use only Emacs config?

I am an Emacs user on Mac.

Watched you stream about Modern Emacs would like to use your config.
I don't know how to consume emacs part only. Have you thought on separating it from the rest?

I currently use doom but had some performance issue. Very much considering rde Emacs

"Get and configure rde" instructions do not work

[nix-shell:~/code/try-flakes]$ nix flake new -t "github:abcdw/rde/configs" configs 
error: --- FileTransferError ------------------------------------------------------------------------------------------------------------------------- nix
unable to download 'https://api.github.com/repos/abcdw/rde/commits/configs': HTTP error 422 ('Unprocessable Entity')

response body:

{
  "message": "No commit found for SHA: configs",
  "documentation_url": "https://docs.github.com/rest/reference/repos#get-a-commit"
}


[nix-shell:~/code/try-flakes]$ nix --version
nix (Nix) 3.0pre20201020_e0ca98c

Maybe the syntax changed?

Evince

gtk-print-preview-command

Problem with GnuPG service - gpg: public key decryption failed: No pinentry

I have set up my home configuration to use the GnuPG service but after doing so I cannot decrypt files with gpg --decrypt, apparently because I don't have a pinentry program.

Here is my relevant home configuration:

(use-modules
 (gnu home)
 (gnu packages)
 (gnu services)
 (gnu home-services gnupg)
 ...
 )

(home-environment
 (services
  (list
   (service home-gnupg-service-type
            (home-gnupg-configuration
             (gpg-config
              (home-gpg-configuration
               (extra-config
                '((cert-digest-algo . "SHA256")
                  (default-preference-list . ("SHA512"
                                              "SHA384"
                                              "SHA256"
                                              "SHA224"
                                              "AES256"
                                              "AES192"
                                              "Uncompressed"))
                  (with-fingerprint? . #t)))))
             (gpg-agent-config
              (home-gpg-agent-configuration
               (ssh-agent? #t)
               (pinentry-flavor 'emacs)
               (extra-config
                '((max-cache-ttl         . 34560000)
                  (default-cache-ttl-ssh . 34560000)))))))
   ...
   )))

However I am not able to decrypt:

[nick@S76guix ~]$ gpg --decrypt ~/.password-store/github.gpg 
gpg: encrypted with 4096-bit RSA key, ID 4EB865A125D02D3A, created 2021-12-27
"Nicholas Hubbard <[email protected]>"
gpg: public key decryption failed: No pinentry
gpg: decryption failed: No secret key

Herd status shows that gpg-agent is running:

[nick@S76guix ~]$ herd status gpg-agent
Status of gpg-agent:
  It is started.
  Running value is #t.
  It is enabled.
  Provides (gpg-agent ssh-agent).
  Requires ().
  Conflicts with ().
  Will be respawned.

Here is the generated ~/.gnupg/gpg-agent.conf:

[nick@S76guix ~]$ cat ~/.gnupg/gpg-agent.conf
enable-ssh-support 
pinentry-program /gnu/store/b6q3wjcdnv9xgsb2qfi0vis3m572ir4b-pinentry-emacs-1.2.0/bin/pinentry-emacs
allow-emacs-pinentry
allow-loopback-pinentry
max-cache-ttl 34560000
default-cache-ttl-ssh 34560000

The pinentry-program path specified in the gpg-agent config exists:

[nick@S76guix ~]$ [ -f /gnu/store/b6q3wjcdnv9xgsb2qfi0vis3m572ir4b-pinentry-emacs-1.2.0/bin/pinentry-emacs ] && echo 'all good'
all good

I have tried to change my pinentry-flavor but get the same results if I use the tty flavor.

guix home - have you considered avoiding a single package list?

Having watched your presentations about guix home this looks like a very exciting development that fits better with the rest of guix. Having looked at your source-code it looks like you are making the assumption that the user uses a single list of packages to be installed as a user-environment.

Personally I always dread accidentally triggering a massive update (like compiling Chromium) when I just need one key package updated to get work done. For that reason I wonder whether you have considered splitting the single list of packages into separate ones of related packages? Essentially making the way to manage the installed user packages closer to the manifest model that is this guix blogpost?

The key benefit for me would be to allow a user to make it easier to only update a subset of packages**.

**this would also make it easier to actually use the ideas in that blogpost, which for new users are tricky.

ISO frozen after "Please wait while gathering entropy"

Hi!

I really like your project and I am wanting to try out the ISO, but when I boot the ISO, it gets stuck on "Please wait while gathering entropy to generate the keypair" and swaywm does not appear.

My PC has an AMD RX 580 GPU.

Separate and expand the `guix home` as the home manager

Hi, I just transfer my home environment from the Julien Lepiller's guix-home-manager, I feel very confortable working on rde. I don't know if the author have any idea split guix home out of rde and expand it to a experimental guix-home-manager. :)

Helper

Сделать автогуглоотсылатор, юзающий распознавание речи

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.