1 |
Hi! |
2 |
|
3 |
I'm here with an update. I've went to check out more about nixOS, and how |
4 |
their .nix configuration ideas could be applied to Gentoo. What I found out |
5 |
was, one main advantage/selling point of nixOS is that it is takes a |
6 |
functional approach to package/system management, resulting in no |
7 |
side-effects (only have limited FP experience so sorry if that isn't |
8 |
accurate description). I think we can use some of these ideas in the |
9 |
creation of a configuration distribution system. |
10 |
|
11 |
***If you're familiar with nix, you can skip the section below*** |
12 |
|
13 |
Some more detailed explanation: |
14 |
|
15 |
Everything can and should be configured through this base .nix config file, |
16 |
files such as in /etc/foo-config too. You don't want to manually edit the |
17 |
file since that will create a side effect! Therefore, if you change the |
18 |
.nix configuration file in the distro, you essentially rebuild an entire |
19 |
new system. The nix package manager does some clever re-arrangement and |
20 |
re-connecting of symlinks, otherwise, making new changes would warrant an |
21 |
undesirable and intensive complete rebuild from scratch. Because of this |
22 |
approach, changes are very easily revertible too. Buzzword I learned: |
23 |
"atomic", which supposedly describes this nature of being able to restore |
24 |
to a working state. IIRC, there was an Atomic Gentoo GSoC proposal a while |
25 |
back. May be it. |
26 |
|
27 |
Most importantly though, what attracted me into looking into nixOS was that |
28 |
essentially, a configuration file defines the system. This is the main |
29 |
selling point. In short, this is some serious abstraction. Apparently, /usr |
30 |
and /root is read-only to even root. After all, you don't need to and |
31 |
shouldn't have to touch it. |
32 |
|
33 |
*** End of nix explanation *** |
34 |
|
35 |
A few things to keep in mind however. Nix was built from the ground up to |
36 |
be functional. Gentoo prides itself in being a meta-distribution, so I |
37 |
think maybe it is possible to implement a functional configuration approach |
38 |
too as a choice. However, this might be a big undertaking, requiring |
39 |
perhaps major edits of portage or another pkg manager, which is maybe too |
40 |
ambitious for the scope of GSoC. Also, maybe there isn't demand for |
41 |
functional configuration on Gentoo. |
42 |
|
43 |
Maybe we should look into other ways / solutions to share Gentoo |
44 |
configurations. |
45 |
|
46 |
|
47 |
Apologies if I made any factual mistakes. Do correct me, as I am still in |
48 |
the process of understanding stuff correctly. Thanks for taking the time to |
49 |
read! |
50 |
|
51 |
Best, |
52 |
Ethan |
53 |
|
54 |
|
55 |
On Wed, Feb 21, 2018 at 3:14 PM, Alice Ferrazzi <alicef@g.o> wrote: |
56 |
|
57 |
> |
58 |
> |
59 |
> On Thu, Feb 15, 2018 at 2:11 AM, Ethan Kiang <chocopuff298@×××××.com> |
60 |
> wrote: |
61 |
> > Hi, |
62 |
> > |
63 |
> > My name is Ethan and I'm currently a high school senior. Attending uni |
64 |
> next |
65 |
> > year, so I should be elligible to apply to the GSoC. |
66 |
> |
67 |
> Hello Ethan, |
68 |
> |
69 |
> Welcome to Gentoo GSoC mailing list. |
70 |
> |
71 |
> > |
72 |
> > Quick background, I first started using Linux in the August of 2016. |
73 |
> Started |
74 |
> > with a few weeks of Ubuntu, then a few months of Arch Linux. On Gentoo |
75 |
> Linux |
76 |
> > since March of last year. Loving Gentoo so far. |
77 |
> > |
78 |
> |
79 |
> Thanks for loving Gentoo and for your passion on Linux. |
80 |
> |
81 |
> > I'm interested in both the Binhost API support and Social Linux |
82 |
> distribution |
83 |
> > network ideas posted on the GSoC ideas wiki page. I believe that compile |
84 |
> > times is one of the factors that turns potentially interested users away |
85 |
> > from Gentoo. These two ideas, specifically better Binhost support, will |
86 |
> > hopefully make slow compile less of a factor against choosing Gentoo as a |
87 |
> > distro. |
88 |
> |
89 |
> I think you can find more inspiration in the thread about building binary |
90 |
> packages and |
91 |
> Social Linux Distribution Network: |
92 |
> https://archives.gentoo.org/gentoo-dev/message/ |
93 |
> 3a801271d2b3ac97c29b4e6319b37009 |
94 |
> |
95 |
> There was some interested in integrating Gentoo with the Open Build |
96 |
> Service, one problem |
97 |
> quoting Michał Górny is "if it requires changes to the ebuild format, then |
98 |
> you |
99 |
> have to list them and convince us. If it doesn't, then you are free to |
100 |
> play with OBS any way you like." |
101 |
> Would be nice to maybe do some research in that way and see if it can |
102 |
> become some work for the GSoC. |
103 |
> The second point was about sharing the Gentoo user's profile setups and |
104 |
> give the possibility |
105 |
> to use a build service in case multiple machines are using the same |
106 |
> profile. |
107 |
> I think you need to do a bit of research and starting to take data for |
108 |
> write a proposal. |
109 |
> |
110 |
> > |
111 |
> > I'm interested in hearing more about how you guys expect the Social Linux |
112 |
> > network to function. Currently, I have some inspiration from nixOS. I |
113 |
> have |
114 |
> > not used nix before, but the way nix handles configuration is pretty |
115 |
> cool. |
116 |
> > It is all done in one central location. Maybe it would be cool to |
117 |
> implement |
118 |
> > something similar on Gentoo. |
119 |
> > |
120 |
> > Link that might help explain ore: |
121 |
> > https://nixos.org/nixos/manual/index.html#sec-configuration-syntax |
122 |
> > |
123 |
> > However, I think this might be too limiting / simplistic for the |
124 |
> multitude |
125 |
> > of choices that Gentoo offers. It would make sharing configs easy. Each |
126 |
> > system would be uniquely defined by the config file. |
127 |
> |
128 |
> I'm not sure how Nix works but looks interesting. |
129 |
> |
130 |
> > |
131 |
> > I go by chocopuff on freenode. My GH is zyklotomic (nothing to see there |
132 |
> > though). I have played around with ebuilds a bit, enough to know how to |
133 |
> > version bump and attempt submitting PRs. My bugzilla account is also |
134 |
> tied to |
135 |
> > this email address. I have much to learn, am still a newbie! |
136 |
> |
137 |
> Keep the good work! |
138 |
> |
139 |
> > |
140 |
> > Thanks for reading! Looking forward to hearing back. |
141 |
> > |
142 |
> > Best, |
143 |
> > Ethan Kiang |
144 |
> |
145 |
> Thanks, |
146 |
> Alice |
147 |
> |
148 |
> -- |
149 |
> Thanks, |
150 |
> Alice Ferrazzi |
151 |
> |
152 |
> Gentoo Kernel Project Leader |
153 |
> Gentoo Foundation Vice-Secretary |
154 |
> Gentoo Google Summer of Code Administrator |
155 |
> Mail: Alice Ferrazzi <alicef@g.o> |
156 |
> PGP: 2E4E 0856 461C 0585 1336 F496 5621 A6B2 8638 781A |
157 |
> |