The defining heart of my system.
- Nix 40.2%
- Shell 29%
- Vim Script 15.4%
- Python 13.4%
- jq 1.1%
- Other 0.9%
| .forgejo/issue_template | ||
| .template | ||
| bootstrap | ||
| config | ||
| doc | ||
| lib | ||
| path | ||
| system | ||
| .gitattributes | ||
| .gitignore | ||
| LICENSE | ||
| README.typ | ||
#import "@preview/flow:0.3.2": *
#show: note.with(title: [The CORE])
Multisn8's personal configuration.
#caution[
I cannot make any guarantees about
security,
completeness,
documentation or
even functionality.
Things might randomly
break,
be replaced or
start working again.
I will generally try to document more things,
but as these are intended for systems I administer and
no one else,
this is not a priority.
If this bothers the reader, they might want to check out
the companion repo
#link(
"https://codeberg.org/MultisampledNight/support",
)[`support`]
instead: It has much higher standards and
is more thought for public use.
]
= Values, goals and thoughts
+ Computers should provide a _humane_ interface. @the-humane-interface
- Be mindful.
- Be considerate.
- Be cooperative and collaborative.
- Be honest.
- Be nice.
+ Organic entities form a symbiotic relationship with computers.
- This is not universal:
There are many problems that cannot be solved by technology.
- Do not fool the user into thinking progress will solve everything.
+ Empower and trust the user. Help the user build trust with the computer.
- Explicitly ask for consent, do not assume it.
- If in doubt, fall back to an ethically acceptable baseline.
Here that usually means "be nice unless met with hostility".
- Transparency and honestry are prerequisites for trust.
+ Everything is political.
- Technology is an implementation of political worldviews and values.
- There has never been any apolitical space.
Only spaces that ignored their political actions.
= Implementation details
This repo roughly consists of 4 parts:
/ `system`: A #link("https://nixos.org/")[NixOS] config framework,
its nickname being "generalized".
Setting up a full-featured end-user terminal system
should be just as easy as setting up a
slim small server with it.
/ `config`: Program-specific configs that should work without NixOS, too.
Ideally, the reader should be able to just copy them to `~/.config`
and they'd "just work"(tm)
/ `bootstrap`: Initiating a new system to use these configs.
/ `lib` and `path`: Smaller glue and automations.
= How do I use this??
\*sigh\* Alright.
Assuming the reader actually wants
a NixOS config via
generalized,
they could:
+ Create `system/configuration.nix`
+ Symlink it to `/etc/nixos`
via `sudo ln -sf "$(git rev-parse --show-toplevel)/system" /etc/nixos`
+ Import `generalized.nix` in the configuration
For customization,
check out
`system/part/options.nix`:
All of the listed options there are available via `generalized`
as NixOS module.
#bibliography("doc/ref.yml")