improve licensing
[distro-setup] / README
1 # I follow the GNU license recommendations,
2 # https://www.gnu.org/licenses/license-recommendations.en.html, which
3 # recommends that small programs, < 300 lines, such those contained in
4 # this file or related to this file, be licensed Apache License 2.0. Any
5 # program which grows large enough, I will switch it to GPL.
6
7 # Copyright 2024 Ian Kelling
8
9 # Licensed under the Apache License, Version 2.0 (the "License");
10 # you may not use this file except in compliance with the License.
11 # You may obtain a copy of the License at
12
13 # http://www.apache.org/licenses/LICENSE-2.0
14
15 # Unless required by applicable law or agreed to in writing, software
16 # distributed under the License is distributed on an "AS IS" BASIS,
17 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 # See the License for the specific language governing permissions and
19 # limitations under the License.
20
21 ~4k loc bash, configs for my computers
22
23 Initial os install is also automated using a separate repo called
24 automated-distro-installer, also at iankelling.org/git. Beyond the
25 initial bare os, the rest is automated from scripts in this repo.
26
27 This is not meant for other people to run verbatum, but for them to read
28 and copy the good parts. It has dependencies on other repos at
29 https://iankelling.org/git.
30
31 The main thing missing for someone else to use things is the expected
32 location of repos in the filesystem. So you would need to lookout for
33 paths starting with /a and adjust them.
34
35 Background: reasoning behind using /a: The home directory is typically
36 used for local software development, but I use paths like /a instead,
37 for the following reasons:
38
39 1. I want to run code directly from where I work on it, instead of
40 always having to create and use some install process. If that code is in
41 a home directory, and you want to run it as root (especially in contexts
42 where SUDO_USER is not set, like cron/systemd), you have to hardcode the
43 username for /home/username, or create some install process where that
44 username is saved somewhere, and then you are stuck with a single
45 username. If it ever got packaged for a gnu/linux distro, it would rely
46 on a hardcoded path with no username in it, so let's just do that.
47
48 2. The home directory is inconvenient. It's filled with a bunch of junk
49 you don't care about, which makes directory listing horrible, makes it so
50 you can't back it up easily (for example, gvfs mountpoint in it breaks
51 lots of things), and has things you don't want to backup. So, you could
52 use a subdirectory. But typing /s is much faster than ~/s and in every
53 root context, /home/username/s.
54
55 The license of each file is specified in the header. There is no
56 overarching license.
57
58 Please email me if you have a patches, bugs, feedback, or republish this
59 somewhere else: Ian Kelling <ian@iankelling.org>.