Giter Club home page Giter Club logo

void-docs's Introduction

Void Docs

Welcome to the Void documentation. This repository contains the source data behind https://docs.voidlinux.org/. Contributing to this repository follows the same protocol as the packages tree. For details, please read CONTRIBUTING.

Building

The res/build.sh script builds HTML, roff and PDF versions of the Void documentation and the void-docs.1 man page. It requires the following Void packages:

  • mdBook
  • findutils
  • lowdown (version 0.8.1 or greater)
  • texlive
  • perl
  • perl-File-Which
  • perl-JSON
  • librsvg-utils
  • python3-md2gemini

In order to build and install these files, set the PREFIX and DESTDIR environment variables to appropriate values and run res/build.sh followed by res/install.sh.

void-docs's People

Contributors

abenson avatar adigitoleo avatar ahesford avatar anjandev avatar bobertlo avatar cameronnemo avatar camoz avatar cinerea0 avatar classabbyamp avatar duncaen avatar ericonr avatar fabulvoid avatar flexibeast avatar gt7-void avatar jeffayle avatar lordfeck avatar mahiuchun avatar maxice8 avatar mmnmnnmnmm avatar oynqr avatar paper42 avatar r-ricci avatar sburris0 avatar st3r4g avatar the-maldridge avatar travankor avatar triallax avatar vaelatern avatar wychmire avatar zlice avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

void-docs's Issues

Invalid sha256 urls

The doc mentioned that sha256 for images is available at

http://alpha.de.repo.voidlinux.org/live/current/sha256sums.txt

But the files are named respectively sha256.txt and sha256.sig now. I don't know if the doc must be updated or the file renamed on the server.

Document default groups

This came up yesterday in the IRC channel, there are a number of default groups that void ships with that are currently not really documented.

I think a section in the docs that describes what each group does would be good to have.

Document non obvious package management mechanisms

You can create a virtualpkg to install a different version of the kernel without breaking dependencies. There should be a cannonical method documented for this.

virtualpkg=linux:linux5.6 in `/etc/xbps/newerkernel.conf?

Troubleshooting update errors

We have a section on updating Void, but no discussion on how to troubleshoot common error messages when the update fails.

For example, removing orphans with xbps-remove -o sometimes resolves the "unresolvable shlibs" error that occurs when attempting xbps-install -Su.

The old wiki has some discussion about a related but different problem as well.

[Documentation improvement for the installation] Add how much RAM is needed for loading the image into RAM (e. g. if 2 GB is enough or not, what would be recommended)

From https://docs.voidlinux.org/installation/live-images/guide.html:

"Boot your machine from the install media you created. If you have enough RAM, there is an option on the boot screen to load the entire image into ram, which will take some time but speed up the rest of the install process."

Could it be said how much RAM is needed? I have an old computer with only 2 gigabyte of RAM. Is it worth to load the entire image into RAM? Right now we as users don't know. A recommendation here would be nice.

Xorg > Input Drivers

In this section the table looks borked. I don't know what causes it, maybe because the table has only one column?

Cutover plan

The docs have reached a pretty good level of maintenance, and I'm glad to see the high quality bar that has been maintained over here. Lets start putting together a plan to once and for all EOL the wiki server. I want to reclaim those resources and reassign them to putting a mirror back in Germany, something we desperately need since the German intranet is very sad as of late.

Lets target end of August for me to shut down wiki.voidlinux.org and reclaim the resource into the pool. By that time lets grab any information that's worth saving.

@Duncaen to assist in this process can you make the wiki R/O on August 1?

Title casing for headers

I noticed that there are some incensistencies in the title casings for headers. Some are capitalized on only the first word, some on all of them, and some others etc.

We should decide on a style and add it to the style guide; we should then comb through the existing documentation and bring it all up to speed.

NetworkManager

The NetworkManager page is empty. It should be written or removed.

Add guide on full disk encryption

Please add a guide explaining how to do Full Disk Encryption. There is This guide and This guide.

It would be nice to be able to explain some Void specific issues with doing this, and to have a recommended way to do Full Disk Encryption.

Make a void-docs package

This is a bit ambitious and requires some discussion on the best way to proceed, but having a void-docs package available could be interesting for having access to offline documentation (without having to clone a git repo) and, more importantly, for including in the live images.

What we'd have to decide:

  • How to package? Package all markdown files or convert them into some other format? Would this conversion keep them readable? How would the navigation work?
  • How to version the package? When would we have new docs releases? Definitely when someone builds new live images, but only updating the package then seems bad practice.

Inspiration from this taken liberally from starting a DragonFlyBSD installation and having a README right there on the root dir.

Extend guide about NetworkManager

Please extend guide about NetworkManager in docs with the info from "Wireless (NetworkManager, no window manager present)" from wiki.

  • Add info that you need to create file /etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules.
  • Add info that permission must be at least 644: chmod 644 /etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules (missing in the wiki).
  • Add info that user should be in network group.

I was installing fresh void installation on my laptop and spent a lot of time debugging this issue. I kept getting errors that user is not authorized to manage network connections.

config/xorg: Session and seat management documentation

Source: config/xorg/index.md

This needs to be written by someone with knowledge of the subject, and it's not clear what needs to be covered in the first place. Attempts so far have filled out bits of the documentation (such as #38) but topics like using dbus-launch, ConsoleKit2, elogind, and other programs / services probably merits enough depth so that it's clear to users what the right thing to do is.

It'd also help to collect examples of previous questions (from reddit, the mailing list, IRC, etc.) and their solutions (when available) to figure out what troubleshooting problems come up.

Accessibility improvements

  • Skip to content #61
  • unbind mdbooks arrow key bindings? I think this could interference with users who use the keyboard/arrow keys to navigate web pages.
  • sitemap? not supported by mdbook.

Single-page version of Handbook?

Can/should we provide a single-page version of the Handbook? A user on IRC asked if there was one, and it seems to me that it would make it easier for users to search for particular terms within the Handbook.

Related: the above user noted that it was annoying to go to a page in the Handbook and find that it contained only a brief overview of the section. In a single-page version, i imagine this would be fine; but if we started adding ToCs for subsections (cf. #234), that might end up being unwieldy in a single-page version.

@ericonr, @bobertlo, thoughts?

Questions: Should all of the wiki be ported to void-docs?

I am trying to port everything needed from the wiki to the docs over time. Can I get some input on what should be ported first? I am trying to finish up steam, and docker, then will be moving on to whatever else is deemed most important. Is there anything not to port from the wiki?

RFC: style guide: linking to man pages.

Currently most links to man pages follow [page(section)](https://man.voidlinux.org/page.section), there is one exception I know of, the init(8) link on in about.md, it uses a link and "code" inside of the link text.

I personally prefer to keep it simpler and just use links.

Expand Xorg section to include basic setup of xinit/a display manager

It would be nice, if the Xorg sections would be expanded to contain the basic setup of a Xsession and how it is hooked up to either xinit/startx or a display manager. I really had issues with this when I was setting up my first minimalist Linux installation.

I know, that this is highly distro agnostic, but I think of it as an entry point for new users. (A starting point for more detailed research, so to say)

GNOME setup from base install needs documentation

Following the wiki, installing gnome and enabling the gdm service does not work. I have been able to figure it out, but not document the process. You definitely need to also install xorg and xinit. Also I think elogind is required?

The main issue is that if you don't have everything right and start gdm it locks up. I have been adding gnome-session to my xinitrc and making sure it works, then gdm seems to be able to work? I also would touch /etc/sv/gdm/down and sv once gdm to test before getting things to work for sure.

I need to do more VM testing before trying to write up anything, but I think this would be useful information. We don't want people "breaking" their systems.

Is a consistent style desired? Should documentation be more terse?

So, usually package installation is presented as the whole xbps-install command, but something that the Arch wiki actually does right IMHO is just list the packages that people have to install and hyperlink the word "install" to the guide about installing packages. That feels more concise, at least to me.

This also goes for enabling services. There are instructions for enabling dbus, for example, all around the docs. Wouldn't it be better to just mention "make sure that the dbus service is enabled" and link to the services page as well? That's what the NetworkManager page does, while the IWD and Bluetooth page both have the ln -s /etc/sv/dbus /var/service command.

This is not a really big issue, but it would be interesting if we could define some sort of guidelines around writing docs and keep a consistent style. Whatever decision is made, I can port the current pages to that (or not, if it's deemed unnecessary).

Definition of scope

There is no definition of the scope of these documents, as was discussed on IRC. What should be included and what should not?

There seemed to be an agreement that these documents should be a manual for the setup and administration of void systems, and generally excluding how to use upstream software aside from documenting idiosyncrasies presented by void.

I think it would be useful to formalize this. Specifically with a definition of scope near the style guide and probably a less formal note near the how to read section explaining that we are not rewriting upstream application documentation, nor are we compiling a collection of links to said documentation which is easily found by the user.

This will be especially important if we make an open call for contributors. Those of us who have contributed seem to have similar use cases for void and similar opinions on the docs, but new users who can document software we aren't knowledgeable with may have very different ideas of what this manual is.

My goal with this issue is not to define policy, but to open a discussion.

runit could use a more general explaination

@Duncaen mentioned this in irc and I think it is a good idea. Right now we have a short quick usage guide in the header of the Configuration > Services and Daemons section. I think a possible layout could be:

- Configuration
   - Runit
      - Starting/Stopping Services
      - Configuring Services
   - Services and Daemons
      - Cron
      - ...

With an explaination of what runit is and why it is used in the heading, but I am very open to discussion on that point. There's probably a third and better solution?

Especially in the context of people viewing Void Linux as an "anti-systemd" distro, I think we could mention how we are more "pro-runit" and dropped systemd promarily over compatibility issues.

Advanced installation guides

I plan to start working on this, but am looking for input on how to handle this. There are SO many installation guides on the wiki, with SO much duplication. My proposal is to create a fleshed out "advanced installation" guide, along with other specific guides, which will only offer differences from the main guide.

Advanced Installation Guide

This guide will detail "manual" installation from start to finish, more in the style of the "live image installer" guide. This guide would be formal and fleshed out, mentioning alternatives to the given procedures. Topics would include:

  • preparing and mounting partitions
  • manually installing a system with xbps-install
  • basic configuration of the system afterwards, up to the point of being able to use the rest of the manual.
  • bootloader: only cover "regular" bootloader in this guide for BIOS/UEFI systems

Alternative Installation Guides

These guides will in every instance possible just reference the "main" advanced installation guide, and not duplicate those steps. They will only present changes to that procedure, and enough context for the user to be able to follow what is happening. Initial topics could include:

  • encrypted disks
  • raspberry pi
  • other embedded systems
  • dual booting
  • alternative bootloaders
  • etc

Proposed Process

  1. Write a minimal installation guide. It should cover anything needed to go from nothing to a working system, but not try to cram everything from the wiki into it. A minimum viable product to manually install a system.
  2. Write Alternative Guides for specific use cases and hardware, referencing them as needed from the main guide.
  3. ???
  4. Profit

connman may be insecure, please consider removal

with a quick look at wireshark upon connecting to the internet
connman updates connection stats over HTTP to ipv4.connman.net using GET requests

I'm not sure if this is a local server or what (traffic was only sent when ethernet was connected)
but anything that uses web technology is insecure and prone to WAN hacking

after a bit of research, it appears connman is Intel technology, so yeah, wouldn't be surprised if it's found Intel is actually spying.
(wouldn't be the first time they've done so)

also, while I do highly recommend removal from the docs, I also recommend removal from the repos.
normally I wouldn't go this far and recommend as such, since I support FOSS and ~OSI,
but there's at least 2 things against connman that make me consider otherwise:

  • if the TCP/HTTP connections are indeed spying, then connman is a virus.
  • web technologies don't adhere to the security attitude of BSD and are purely preferential.

I was goaded into the lightweightedness of connman from the docs which is why I installed.
(it's only a 32bit machine with 2GB of RAM)

if I had to recommend a replacement, network-admin seems much more viable:

if there's anything wrong with this though, I'll happily retract this recommendation ;)

Pulseaudio: alsa-plugins-pulseaudio suggestion

I had a perplexing issue where I had an application which would play sound, but not show up in pavucontrol, and would not play sound if pavucontrol was open. The solution to this - i linked a bunch of other services so I don't know if it was just this and really I should experiment before submitting this PR - was to install the alsa-plugins-pulseaudio package and restart pulse, may be worth adding to the docs

Make a section for "external applications"

After somewhat lengthy discussion on IRC, I'd like to record it here. The proposal is to try and make a single section (possibly even a single page) as reference for all applications that aren't installed via xbps.

This page would:

  • Be "probably in the installing section, near the existing documentation for nonfree" and "with a paragraph explaining the distinction between nonfree, non-distributable, and proprietary closed-source". @the-maldridge
  • Refer to the resticted packages that can be built locally with xbps-src. It's a section that already exists in the docs. @flexibeast
  • Tell people to try and use flatpaks for most of their external needs, especially when proprietary (we might need to document flatpak too, if people have issues with it). Probably list a few applications that flatpak allow people to use. @bobertlo
  • Explain that some language package managers, such as pip and gem (#185) can require the respective devel packages for those languages (so python-devel and ruby-devel) in order to build some libraries. This can be even more relevant when using a musl build.
  • If void-linux/void-packages#20735 is accepted, include information about it and how people can use xtools to extract that single file from the package, without installing it. Perhaps even make another xtool for that? To go along with xmandoc.

What we need, AFAIK:

  • write the actual page
  • decide if it's going into an existing section or if it's going to be its own section
  • consider moving some docs to their respective packages

I wrote this right before going to sleep, so if there are any egregious mistakes I can correct them in a bit.

PCI passthrough guide

I setup PCI passthrough on voidlinux by using various r/voidlinux reddit posts. I would like to formally document the process.

  • Installing required packages
  • Document isolating video card for pci passthrough (dracut and grub)
  • Loading amd/intel iommu
  • Document configuring virt-manager

Extra:

  • Configuring scream for painless audio

@HadetTheUndying can maybe review the guide.

void-linux/void-packages#17225 must be merged before I can begin this guide.

The guide would only feature void specific issues when configuring PCI passthrough and link to archwiki for anything that's more general.

Is this guide appropriate for the handbook?

shells: `loksh` and `oksh`

In the section on shells, oksh is listed, however on my system I get a message stating oksh is being removed from the repos. It seems to have been superseeded by loksh, which is not listed in the docs. This suggests to me that the docs are slightly outdated in this regard.

I have tried to create a PR to fix this, but something is broken along the line and it doesn't seem to be working.

CUPS pages overlap

Looking at the PR #41 it seems that the CUPS pages (config/install) are overlapping. I don't think that all of this information belongs on one page, but restructuring this section would be very helpful. There seems to be installation and configuration information mixed between both pages and, in some cases, duplicated.

ToCs on pages that introduce subsections

A number of Handbook pages are simply introduction pages for subsections. Such pages should, after the introductory text, contain a 'table of contents' listing those subsections. For the purposes of having a consistent style, and to possibly facilitate data transformation (e.g. to address #243), the format of such ToCs should be:

## Section Contents

- [section name](path)
- [section name](path)

Base System Requirements Testing

I took these values straight off of the wiki. I can only assume they were somewhat stale. It would be nice if these were tested, and especially with some context of what can be done with these minimal stats.

ALSA configuration docs are misleading

Sorry guys, I'm trying not to make too many doc issues,
but I keep finding stuff I've been advising against for years now :/

in here, you mention setting the default index in alsa.conf

... if you have 1 and only 1 sound card, then the issue doesn't concern you
but if you have 3 or more sound cards, then you may find yourself with shuffled devices

editing /etc/modprobe.d/alsa.conf only sets the preferred card index,
it doesn't prevent your sound cards from changing order on boot.
something that does help that though is editing /etc/modprobe.d/alsa-base.conf and specifying the order you want your drivers to load in, as mentioned in this old cringe-worthy askubuntu answer here
(ignore the comment in that answer, it actually does work)

there's something though that this won't fix
if you have multiple devices using the same driver in your system, and your preferred device is one of them, specifying the driver order will not stop your devices under that driver from shuffling about every reboot...
the only thing I can think of that would stop that is to disable the devices that aren't preferred
or take the cheap solution and use a device that uses a different driver as the preferred device.

not all apps allow you to specify an alsa device, and even some that do don't always work appropriately (utox)
so you're better off relying on a preferred device under alsa. ;)


TIP: if you're like me and rely purely on alsa for audio
these utilities are very helpful:
qastools volumeicon
QasMixer provides full control over your sound devices (better than Pulse)
volumeicon adds an interactive icon that allows you to quickly control your volume (useful for xfce)

the 1 disadvantage this has from Pulse is you can't control individual app streams
but for that you gain 2 advantages:

  • if your card has separate mic-in and line-in ports, you can make use of both ports as they were intended to be used without configuration (pulse can only make use of 1 input and needs explicit loopback enable/disable)
  • you don't run the risk of dropping all audio output when your CPU gets busy (pulse requires a system reboot)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.