The defining heart of my system.
  • Nix 40.2%
  • Shell 29%
  • Vim Script 15.4%
  • Python 13.4%
  • jq 1.1%
  • Other 0.9%
Find a file
2026-03-17 12:58:48 +01:00
.forgejo/issue_template repo(issue_templates): make describing the problem required 2026-02-18 03:13:15 +01:00
.template feat(mvs): prepare 2025-09-22 12:23:50 +02:00
bootstrap refactor(system): shrink non-{terminal,chonk} systems 2026-01-28 04:33:14 +01:00
config feat(zshrc): throw out TIME_LEFT in prompt 2026-03-17 00:31:59 +01:00
doc docs: revamp readme 2025-11-03 01:39:07 +01:00
lib feat: various QoL things 2026-02-22 19:46:45 +01:00
path fix(typst-publish): don't close open PRs 2026-03-14 01:35:04 +01:00
system feat(chonk): add scrub 2026-03-17 12:58:48 +01:00
.gitattributes Add wallpaper 2023-05-26 16:47:35 +02:00
.gitignore feat(browser): add OSF as search engine 2026-02-17 23:40:43 +01:00
LICENSE feat: remove multisn8 hardcoding 2025-12-21 00:13:46 +01:00
README.typ docs: add general usage to readme 2025-11-03 01:46:25 +01:00

#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")