~abcdw/rde

ref: 54a2ae9745862b524b9b5d9b163a3d5fc6f79ea8 rde/TODO -rw-r--r-- 4.7 KiB
54a2ae97Andrew Tropin rde: Use forked shell-profile service type. 7 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
-*- mode: org -*-
#+STARTUP: showall
#+TODO: TODO IN-PROGRESS | DONE
#+TODO: QUESTION | RESOLVED

* ~guix home~ Upstream Backlog
** TODO Ensure style is correct
https://mumble.net/~campbell/scheme/style.txt
https://emacs-guix.gitlab.io/website/manual/latest/emacs-guix.html#Development
https://guix.gnu.org/manual/en/guix.html#Coding-Style
Add copyrights to source code
** TODO Cleanup utils module
Split into utils and configuration related helper?
** QUESTION Add home-services to service or keep them separate?
* ~guix home~ Before Upstream Checklist
:PROPERTIES:
:VISIBILITY: children
:END:
** TODO Make system service for Guix Home
Allows to make home-environment a part of operating-system and thus
use without ~guix home~ subcommand.
** TODO Make it possible to specify the verbosity for ~guix home reconfigure~
By default, only the path to the home environment should be shown,
~/gnu/store/...-home~.
** Finished
:PROPERTIES:
:VISIBILITY: folded
:END:
*** DONE Make symlink manager to check
if the file is modified by user before removing it, even if it already
under the control of guix home.
*** DONE Rewrite on-first-login script to guile
*** DONE Check it works on debian
*** DONE Implement zsh home-service
*** DONE Implement bash home-service
*** DONE Implement gnupg home-service
*** DONE Call on-reconfigure on reconfigure
*** DONE Add ~guix home search~
*** DONE Add ~list-generations~
*** DONE Add ~guix home roll-back/switch/delete~
*** DONE Fix environment-variables service
It's enough to make it accept pairs, it doesn't have to be list,
because value can be a gexp.
*** DONE Add XDG support to home-envirnoment
Set explicitly XDG_CONFIG_HOME and friends.
*** DONE Run ~guix home~ on 5 early adopters
**** DONE Establish/define support channels and schedule
Define schedule and add the information to announce.
- #guix IRC.
- rde-discuss mailing list.
- beweekly calls.
**** DONE Announce in rde-announce
**** DONE Announce in guix-devel
**** DONE Announce on stream
*** DONE Discuss xdg-flavor? default to #t
*** DONE Establish documenting workflow (write guideline)
*** DONE on-reconfigure -> activation
Refactor on-reconfigure service, it should be activation service,
because this script can be called on generation switch event and not
only on reconfigure.
*** DONE Add provenance
To make ~guix home describe~ more informative.
*** DONE Make activation script create ~/.guix-home symlink
It will also allow to make correct run-on-change implementation.
*** DONE Add ~guix home init~ command for migrating from ~~/.guix-profile~
Similar to ~guix package --export-manifest~, and maybe detect existing
config files and generate template for home services configurations.
E.g. if ~~/.bashrc~ exists, add ~home-bash-service-type~ to ~services~
field of ~home-environemnt~.
* ~guix home~ Backlog
:PROPERTIES:
:VISIBILITY: children
:END:
** Browsers
*** TODO ungoogled-chromium
- Browser extension
*** TODO nyxt
- Install extensions for Nyxt, see [[https://github.com/atlas-engineer/nyxt/blob/master/documents/EXTENSIONS.org#L1][here]]
** TODO Make gtk service
** Finished
*** DONE icecat
*** DONE sway
*** DONE Emacs
Features:
- xdg-flavor? :: Use ~/.config/emacs/~
- separate-customize? :: Move customize to state dir
- no-init-el? :: Use default.el instead of init.el
- server-mode? :: Create shepherd service for emacs
*** DONE pass
Also browser plugins and other stuff
*** DONE Comprehensive Email configuration
Things the user should be able to configure
- IMAP and SMTP info (e.g. address, username, port)
- PGP key
**** DONE Implement mail sync service
- isync/offlineimap/fetchmail/getmail
- Guix System already has a service for getmail, ~(gnu services getmail)~
- Integrate with mcron/state service
**** DONE Mail indexer
- notmuch/mu
*** DONE Add on-change to activation script?
For some apps to run some commands like restart if their configs updated
*** DONE Make fonts service
*** DONE SMTP client
- msmtp/sendmail
* ~rde~ Backlog
:PROPERTIES:
:VISIBILITY: content
:END:
** Extensions mechanism
*** DONE Implement features -> he/os converter
** UI
*** TODO Visually separate sway workspaces for different workflows
- code
- communication
- multimedia
** General
*** TODO Implement pam_shepherd.so
Start user-space shepherd on first user login and exit on last logout.
- [[https://github.com/systemd/systemd/blob/c5b6b4b6d08cf4c16a871401358faeb5a186c02a/src/login/pam_systemd.c][pam_systemd.c]]
- https://www.opennet.ru/base/dev/pam_linux.txt.html
Take a look at mpd service for user-service example and /run/user/ID
creation.

*** DONE Remove previous rde implementation
*** DONE Create clean example configuration
~rde/config.scm~ is a ready to use configuration, but requires few
helpers to make it customizable by the end user.