kisscommunity

kisscommunity.bvnf.space site sources
git clone git://bvnf.space/home/kiss/kisscommunity.git
Log | Files | Refs | Submodules | README | LICENSE

index.txt (41376B)


      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    508
    509
    510
    511
    512
    513
    514
    515
    516
    517
    518
    519
    520
    521
    522
    523
    524
    525
    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    541
    542
    543
    544
    545
    546
    547
    548
    549
    550
    551
    552
    553
    554
    555
    556
    557
    558
    559
    560
    561
    562
    563
    564
    565
    566
    567
    568
    569
    570
    571
    572
    573
    574
    575
    576
    577
    578
    579
    580
    581
    582
    583
    584
    585
    586
    587
    588
    589
    590
    591
    592
    593
    594
    595
    596
    597
    598
    599
    600
    601
    602
    603
    604
    605
    606
    607
    608
    609
    610
    611
    612
    613
    614
    615
    616
    617
    618
    619
    620
    621
    622
    623
    624
    625
    626
    627
    628
    629
    630
    631
    632
    633
    634
    635
    636
    637
    638
    639
    640
    641
    642
    643
    644
    645
    646
    647
    648
    649
    650
    651
    652
    653
    654
    655
    656
    657
    658
    659
    660
    661
    662
    663
    664
    665
    666
    667
    668
    669
    670
    671
    672
    673
    674
    675
    676
    677
    678
    679
    680
    681
    682
    683
    684
    685
    686
    687
    688
    689
    690
    691
    692
    693
    694
    695
    696
    697
    698
    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    714
    715
    716
    717
    718
    719
    720
    721
    722
    723
    724
    725
    726
    727
    728
    729
    730
    731
    732
    733
    734
    735
    736
    737
KDE
________________________________________________________________________________

KDE [0] is desktop environment which consists of the Plasma Desktop, the KDE 
Frameworks, and a collection of free and open source, cross-platform programs.
The project makes integral use of the Qt framework [1] to help provide a 
uniform experience for users between all of the software a user will install.

$/dilyn-corner/KISS-kde is still considered to be under heavy development. While
the desktop environment works quite well, many things have yet to be tested. If
you run into bugs, problems, or have suggestions, submit issues or pull requests
on the GitHub page!

NOTE: due to the KISS Guidestones [2], the $/dilyn-corner/KISS-kde project is
entirely community maintained. It will always remain separate from the core KISS
project, including the community repository. Specifically, KDE violates the
software inclusion guidestone. The required violations are dbus and wayland. 
However, logind, polkit, and PAM are optional to build and use KDE.


Index
________________________________________________________________________________

- Getting Started                                                          [0.0]
    - Authentication                                                       [0.1]
    - Session Management                                                   [0.2]
    - Default Window Manager                                               [0.3]

- From Scratch                                                             [1.0]
    - Prerequisites                                                        [1.1]
    - Installing                                                           [1.2]
    - Launching                                                            [1.3]

- The KISS-kde tarball                                                     [2.0]

- Starting KDE                                                             [3.0]
    - Console                                                              [3.1]
    - Login Manager                                                        [3.2]

- Post-Install                                                             [4.0]
    - Window Managers                                                      [4.1]
    - Greeters                                                             [4.2]
    - Extras                                                               [4.3]

- Troubleshooting                                                          [5.0]
    - My fonts don't work!                                                 [5.1]
    - I can't login from a screen lock!                                    [5.2]
    - I can't change the system time!                                      [5.3]
    - XYZ package fails to build!                                          [5.4]

- How You Can Help                                                         [6.0]
- References                                                               [7.0]


[0.0] Getting Started
________________________________________________________________________________

To begin using the K Desktop Environment there are two choices. The first option
is to use a prebuilt tarball similar to the KISS release tarballs and install it
analogously to how one installs KISS. The second is to build every package from
source from an existing KISS installation. Beyond this, one need only clone two 
git repositories, install dbus, and choose whether to use libudev-zero or eudev.

There are several optional features that users have a choice on. These choices
include authentication backends, login managers, and window managers. These
choices can be changed at any time, and will simply require rebuilding certain
packages. The following subsections offer an explanation of what these choices
are and how best to handle their consequences.

The first thing to do is clone the repositories and add them to your $KISS_PATH.
Assuming that you keep these repositories in $HOME,

+------------------------------------------------------------------------------+
|                                                                              |
|   $ git clone https://github.com/kiss-community/community                         |
|   $ git clone https://github.com/dilyn-corner/KISS-kde                       |
|                                                                              |
|   $ export KISS_PATH="$HOME/KISS-kde/extra:$KISS_PATH"                       |
|   $ export KISS_PATH="$HOME/KISS-kde/plasma:$KISS_PATH"                      |
|   $ export KISS_PATH="$HOME/KISS-kde/frameworks:$KISS_PATH"                  |
|   $ export KISS_PATH="$KISS_PATH:$HOME/community/community"                  |
|                                                                              |
|   # you can optionally include the kde path for sddm, dolphin, etc.          |
|   $ export KISS_PATH="$KISS_PATH:$HOME/KISS-kde/kde"                         |    
|                                                                              |
+------------------------------------------------------------------------------+


    [0.1] Authentication
    ____________________________________________________________________________

    KDE utilizes polkit and PAM for authentication. They provide a robust
    backend and sets of features which allow for more fine-grained control of 
    which users can perform what actions. However, there are no strict
    requirements to use them. For instance, kauth (the framework responsible for
    providing access to the polkit backend) only optionally requires polkit.
    Additionally, kscreenlocker (the program responsible for locking the screen)
    only requires PAM in instances where the login manager has failed to
    properly track user sessions and will not allow the user to login. 
    
    In the case of single-seat or single-user machines, complicated
    authentication frameworks might be seen as a needless additional form of
    security. If users decide they do not wish to make use of these features, 
    they are not required to do anything.

    In cases where users would prefer to have fine-grained controls over access,
    the only prerequisite is to install a user permissions backend and polkit 
    prior to building the rest of KDE. The permission systems allowed are
    linux-pam or shadow. If users intend on installing a login manager (such as 
    elogind), PAM should be chosen. Otherwise, shadow is an excellent option 
    (and is available in community).

    If a user wishes to go this route, simply build and install linux-pam or
    shadow, and then install polkit:

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ kiss b linux-pam   && kiss i linux-pam                               |
    |   $ kiss b polkit      && kiss i polkit                                  |
    |   $ kiss b polkit-qt-1 && kiss i polkit-qt-1                             |
    |                                                                          |
    +--------------------------------------------------------------------------+

    If users change their mind after setting up KDE, reverting is as simple as
    rebuilding the relevant packages. For instance, if a user decided to build 
    polkit and linux-pam and wishes to drop the stack entirely, 

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   # Uninstall linux-pam and polkit                                       |
    |   $ KISS_FORCE=1 kiss r linux-pam polkit polkit-qt-1                     |
    |                                                                          |
    |   # Rebuild kauth, kscreenlocker                                         |
    |   $ kiss b kauth kscreenlocker                                           |
    |   $ kiss i kauth kscreenlocker                                           |
    |                                                                          |
    +--------------------------------------------------------------------------+

    Known issues with lacking proper authentication backends includes the
    inability to use systemsettings to alter things like the time. 

    NOTE: currently there seems to be an issue with authentication in general;
    kscreenlocker does not allow users to log back in, and users cannot change 
    the date or time. Without linux-pam installed, the former issue is resolved.


    [0.2] Session Management
    ____________________________________________________________________________

    Currently, users can either start plasma sessions via TTY or from a greeter.
    Login managers provide a way by which certain other programs can track
    sessions, and provide a measure of security for the system. For instance, 
    networkmanager optionally requires logind for ensuring internet features 
    return after the system wakes up from sleep, and sddm allows restrictions 
    on which UIDs can login to a system.

    For users who have limited interest in managing their sessions via logind,
    no action is required.

    For users who wish to have session-tracking features or would like to 
    utilize programs like sddm, elogind is required (other options are 
    currently being explored). elogind requires PAM. As a result, users choosing 
    to use elogind should do the following:

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   # Uninstall shadow if it is installed                                  |
    |   $ KISS_FORCE=1 kiss r shadow                                           |
    |                                                                          |
    |   # Install linux-pam                                                    |
    |   $ kiss b linux-pam && kiss i linux-pam                                 |
    |                                                                          |
    |   # Rebuild polkit                                                       |
    |   $ kiss b polkit polkit-qt-1 && kiss i polkit polkit-qt-1               |
    |                                                                          |
    |   # Install elogind                                                      |
    |   $ kiss b elogind && kiss i elogind                                     |
    |                                                                          |
    |   # Because of the way we build polkit, rebuild it                       |
    |   $ kiss b polkit && kiss i polkit                                       |
    |                                                                          |
    +--------------------------------------------------------------------------+

    See [4.2] on configuration options for sddm.

    NOTE: to take advantage of the authentication backend, users should
    reinstall kauth and kscreenlocker.
    

    [0.3] Default Window Manager
    ____________________________________________________________________________

    Currently there are two primary window managers that can be chosen: kwin and 
    kwinft. kwinft [3] is a composited window manager for X11 and Wayland 
    systems. Most of the differences between kwinft and kwin are in the 
    underlying code; kwinft is designed to have better coding practices and be 
    well-organized. However, any features that appear in kwinft can be expected 
    to eventually show up in kwin. So if you prefer a more bleeding edge, 
    potentially better window manager for KDE, kwinft is an option.

    By default, kwin will be installed. If you wish to change this, fork 
    plasma-{workspace,desktop} and alter the depends files. All you are required 
    to do is uncomment the kwinft lines in the dependencies lists and comment 
    out kwin. For more information on forking packages, see [4]. In order to 
    change which is used on an existing installation,

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ pkill X                                                              |
    |                                                                          |
    |   $ KISS_FORCE=1 kiss r kwin kwayland-server                             |
    |                                                                          |
    |   $ kiss b kwinft && kiss i kwinft                                       |
    |                                                                          |
    |   $ kiss b plasma-workspace && kiss i plasma-workspace                   |
    |   $ kiss b plasma-desktop   && kiss i plasma-desktop                     |
    |                                                                          |
    |   $ startx                                                               |
    |                                                                          |
    +--------------------------------------------------------------------------+


[1.0] From Scratch
________________________________________________________________________________

Building KDE is a very straightforward process. In fact, if users already have a
working xorg setup, then it is as simple as building a single package - the
package manager will take care of the rest.

The package to install when going this route is plasma-desktop. This package
will pull in the required packages to have a fully working desktop environment,
and will additionally include a system settings manager, a default theme
(breeze), and some default icons (breeze-icons). There are some extra packages
which can be installed for more features, such as bluedevil, drkonqi, and
powerdevil. See [4.0] for more information.


    [1.1] Prerequisites
    ____________________________________________________________________________

    Ensure that you have the proper required packages installed: libudev-zero, 
    dbus, and xorg-server. libudev-zero has been tested to work with KDE. 
    Optionally, eudev also works. The choice is up to you! Currently, 
    dbus-alternatives (like a stub library) are untested. The dependencies of
    the KDE packages assume many Xorg libraries are already installed. Not 
    having xorg-server might result in missing dependencies.

    These are the only requirements for building plasma-desktop.
    
    NOTE: in order to build certain extras, coreutils is required. Specifically: 
    elogind, libblockdev, and udisks2 require three separate programs. Patches 
    are welcome to resolve this! coreutils provides files which conflict with 
    other KISS packages, such as busybox. To ensure we are using the correct 
    programs when we attempt to build these extras, we use the alternatives 
    system! For more information on this system, see [5]. This is not required
    if you do not care about elogind.

    +-------------+------------------------------------------------------------+
    | Package     | Requirement                                                |
    |-------------+------------------------------------------------------------|
    |             |                                                            |
    | elogind     | /usr/bin/realpath --relative-to                            | 
    | udisks2     | /usr/bin/ln -r                                             | 
    | libblockdev | /usr/bin/mktemp --tmpdir                                   |
    |             |                                                            |
    +-------------+------------------------------------------------------------+

    NOTE: additionally, if desired, you must enable cgroup support in your
    kernel for elogind. see [6] for more details.

    Ensure the relevant prerequisites are installed:

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ kiss b libudev-zero dbus                                             |
    |   $ kiss i libudev-zero dbus                                             |
    |   $ kiss b xorg-server libinput xf86-input-libinput                      |
    |   $ kiss i xorg-server libinput xf86-input-libinput                      |
    |                                                                          |
    |   # If you opt to install e.g. elogind                                   |
    |   $ kiss b coreutils && kiss i coreutils                                 |
    |   $ kiss a coreutils /usr/bin/realpath                                   |
    |   $ kiss a coreutils /usr/bin/mktemp                                     |
    |   $ kiss a coreutils /usr/bin/ln                                         |
    |                                                                          |
    +--------------------------------------------------------------------------+

    NOTE: If you had packages like xorg-server installed, you might want to 
    rebuild them to pickup on the new device manager they can take advantage of. 
    If you do not currently have xorg-server installed, you will want to get it. 
    A pure wayland KDE is both untested and unlikely to work.

    NOTE: with the release of plasma 5.20.0, KDE is more aggressively supporting
    a wayland environment. xorg support may be dropped in the future!

    Make sure you do not currently have qt5 installed. The build files have been
    tweaked for this repository to make use of dbus and libudev-zero. As a 
    result, carrying over the community version of these packages will lead to 
    unknown problems.

    Because of the time required to build qt5* packages, some prebuilt tarballs
    are available on the Github repository [7]. They are built in a standard 
    KISS tarball, with C(XX)FLAGS=-march=x86-64 -mtune=generic -Os -pipe.

    NOTE: In general, it is a security risk to install prebuilt packages. these
    archives are provided as a courtesy by $/dilyn-corner. Always verify the
    authenticity of packages, and the identities of packagers!
    
    The current release is 5.15.1, available with the 2020.10-1 release. 

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ ver=2020.10-1                                                        |
    |   $ qtver=5.15.1-1                                                       | 
    |   $ url=https://github.com/dilyn-corner/KISS-kde/releases/download/$ver  |
    |                                                                          |
    |   $ wget $url/qt5.$qtver.tar.gz \                                        |
    |          -O qt5@$qtver.tar.gz                                            |
    |   $ wget $url/qt5-declarative.$qtver.tar.gz \                            |
    |         -O qt5-declarative@$qtver.tar.gz                                 |
    |                                                                          |
    |   # Not a build-time requirement, but useful for e.g. falkon             |
    |   $ wget $url/qt5-webengine.$qtver.tar.gz \                              |
    |          -O qt5-webengine@$qtver.tar.gz                                  |
    |                                                                          |
    +--------------------------------------------------------------------------+

    It is recommended to verify the checksums for these tarballs to ensure
    package integrity!

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ wget $url/qt5.$qtver.tar.gz.sha256                                   |
    |                                                                          |
    |   $ sha256sum -c < qt5@$qtver.tar.gz                                     |
    |   $ sha256sum -c < qt5-declarative@$qtver.tar.gz                         |
    |   $ sha256sum -c < qt5-webengine@$qtver.tar.gz                           |
    |                                                                          |
    +--------------------------------------------------------------------------+

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ kiss i qt5@$qtver.tar.gz                                             |
    |   $ kiss i qt5-declarative@$qtver.tar.gz                                 |
    |   $ kiss i qt5-webengine@$qtver.tar.gz                                   |
    |                                                                          |
    +--------------------------------------------------------------------------+


    [1.2] Installing
    ____________________________________________________________________________

    Now that all of the build requirements are taken care of, we can install 
    the desktop environment. Just over a hundred packages are required.

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ kiss b plasma-desktop && kiss i plasma-desktop                       | 
    |                                                                          |
    +--------------------------------------------------------------------------+

    Optionally, enable and start the dbus service:

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ ln -s /etc/sv/dbus /var/service                                      |
    |   $ sv up dbus                                                           |
    |                                                                          |
    +--------------------------------------------------------------------------+

    No services are required to be running in order to start a plasma session.


    [1.3] Launching
    ____________________________________________________________________________

    Once plasma-desktop has been installed, launching KDE is as simple as
    adding the following to whatever script you use to start X:

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ exec dbus-launch --exit-with-session startplasma-x11                 | 
    |                                                                          |
    +--------------------------------------------------------------------------+

    The default fonts KDE usually ships with are hack and noto-sans. The former
    is available in community, and the latter is included in KISS-kde/extra.
    Ensure that you have a font installed prior to launching Plasma!


[2.0] The KISS-kde tarball
________________________________________________________________________________

Similarly to KISS itself, a tarball containing a fully-functional KISS with
KDE setup is available from the GitHub repository [7]. This archive can be
chrooted into or directly unpacked to '/'. It is built from a kiss-chroot 
archive with identical generic C(XX)FLAGS, and is ~330MB in size.

NOTE: In general, it is a security risk to install prebuilt packages. This
archive is provided as a courtesy by $/dilyn-corner. Always verify the
authenticity of packages, and the identities of packagers!

The KISS-kde archive is a fully installed version of plasma-desktop, but does
not make choices for the user. As a result, it should be installed
identically to how KISS is normally installed, using the KISS install guide.
See [8] for KISS setup instructions.

There will be monthly releases of the KISS-kde tarball to keep up with upstream. 
The format of releases will be in YYYY-MM format.

To download e.g. the first October 2020 release,

+------------------------------------------------------------------------------+
|                                                                              |
|   $ ver=2020.10-1                                                            |
|   $ url=https://github.com/dilyn-corner/KISS-kde/releases/download/$ver      |
|   $ wget $url/kiss-kde-$ver.tar.xz                                           |
|                                                                              |
+------------------------------------------------------------------------------+
    
It is strongly recommended to verify the checksums to avoid problems like
using a partially downloaded archive.

+------------------------------------------------------------------------------+
|                                                                              |
|   $ wget $url/kiss-kde-$ver.tar.xz.sha256                                    |
|   $ sha256sum -c < kiss-kde-$ver.tar.xz.sha256                               |
|                                                                              |
+------------------------------------------------------------------------------+

After setting up your disks, mount your desired root partition to '/mnt' and
to install the latest release,

+------------------------------------------------------------------------------+
|                                                                              |
|   $ tar xf kiss-kde-$ver.tar.xz -C /mnt                                      |
|                                                                              |
+------------------------------------------------------------------------------+

and enter the chroot environment,

+------------------------------------------------------------------------------+
|                                                                              |
|   $ /mnt/bin/kiss-chroot /mnt                                                |
|                                                                              |
+------------------------------------------------------------------------------+

From here, simply follow the rest of the install guide [8].
For help with kernels, see @/kernel. For help with bootloaders, see @/boot. 

It is recommended that you change the root password; the default is "toor".

After setting up everything, it should be as simple as: 

+------------------------------------------------------------------------------+
|                                                                              |
|   $ exit                                                                     |
|   $ reboot                                                                   |
|   $ startx                                                                   |
|                                                                              |
+------------------------------------------------------------------------------+

You should now be greeted with a fresh Plasma Desktop!


[3.0] Starting KDE
________________________________________________________________________________

You have two choices on how to launch KDE. Either you can start it directly from
the console, or you can make use of a login manager. 


    [3.1] Console
    ____________________________________________________________________________

    Launching a KDE session directly from the console is very straightforward.
    If you would like to use wayland instead of X, replace x11 by wayland in the
    below command.
    Simply add a line to your xinitrc file:

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ launch="exec dbus-launch --exit-with-session startplasma-x11"        |
    |   $ echo "$launch" >> "$HOME/.xinitrc"                                   |
    |                                                                          |
    +--------------------------------------------------------------------------+

    It may be useful to set a runtime directory. A wayland session requires this
    be set, and an X session will default to /tmp if you do not set one. Add
    this example to somewhere like .profile:

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/tmp/$(id -u)-runtime}"     |
    |                                                                          |
    |   [ -d "$XDG_RUNTIME_DIR" ] || {                                         | 
    |       mkdir -p   "$XDG_RUNTIME_DIR"                                      |
    |       chmod 0700 "$XDG_RUNTIME_DIR"                                      |
    |   }                                                                      |
    |                                                                          |
    +--------------------------------------------------------------------------+


    [3.2] Login Manager
    ____________________________________________________________________________

    The KISS-kde repository also includes sddm [9], the Simple Desktop Display
    Manager, as an option for a greeter. It requires a login manager. elogind is 
    the default; other options are currently being tested. First, build and 
    install elogind

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ kiss b elogind && kiss i elogind                                     |
    |   # So that polkit will build the correct libs to support elogind,       |
    |   $ kiss b polkit && kiss i polkit                                       |
    |                                                                          |
    +--------------------------------------------------------------------------+

    Then, install sddm
    
    +--------------------------------------------------------------------------+
    |                                                                          |
    |   # sddm is in the KISS-kde/kde repo                                     |
    |   $ kiss b sddm && kiss i sddm                                           |
    |                                                                          |
    +--------------------------------------------------------------------------+

    NOTE: by default, it may not be possible for root to login via sddm. Best
    practices would dictate that you login as an unprivileged user.
    
    Enable the requisite services for sddm to function properly. For KISS'
    default service manager,
    
    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ ln -s /etc/sv/polkitd /var/service                                   |
    |   $ ln -s /etc/sv/elogind /var/service                                   |
    |   $ ln -s /etc/sv/sddm    /var/service                                   |
    |                                                                          |
    |   $ sv up polkitd                                                        |
    |   $ sv up elogind                                                        |
    |   $ sv up sddm                                                           |
    |                                                                          |
    +--------------------------------------------------------------------------+

    If everything went well, sddm should immediately launch after you start the
    sddm service.


[4.0] Post-Install
________________________________________________________________________________

Everything you do from here on is to customize your new Plasma Desktop to your
own needs! No further setup or configuration is required. However, there are a
few things available to you that you can change, if you so choose.


    [4.1] Window Managers
    ____________________________________________________________________________

    It is possible to use your favorite window manager with KDE, and it is
    shockingly simple. All that is required is to install whatever window
    manager you would prefer (dwm, i3, sowm, etc.), and add the following to
    your environment:

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   # replace 'sowm' with whichever wm you prefer                          |
    |   $ export KDEWM=sowm                                                    |
    |                                                                          |
    +--------------------------------------------------------------------------+

    A 'good place' is up to the user; for per-user choice, add it to .profile or
    your xinitrc file. To use the choice system-wide, add it to /etc/profile or
    /etc/X11/xinit/xinitrc.


    [4.2] Greeters
    ____________________________________________________________________________

    sddm is a feature-rich but straightforward greeter; see [3.2] for 
    installation and setup instructions. sddm can be configured heavily. 
    Configuration is read from /etc/sddm.conf. If it does not exist, you can 
    generate it: 

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ sddm --example-config >> /etc/sddm.conf                              |
    |                                                                          |
    +--------------------------------------------------------------------------+

    You can manually edit this file to allow for autologins, changing themes,
    changing the user icons, or even changing the range of UIDs that can login
    through sddm. 

    Alternatively, configuration can be done graphically during a plasma
    session. Simply install sddm-kcm and a sddm configuration section in 
    systemsettings should become available.

    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ kiss b sddm-kcm && kiss i sddm-kcm                                   |
    |                                                                          |
    +--------------------------------------------------------------------------+

    NOTE: other greeters are untested. If you find success with alternatives, 
    make a PR to add them!


    [4.3] Extras
    ____________________________________________________________________________

    Several things are included in KISS-kde/kde. Examples include sddm, 
    kvantum [10] and latte-dock [11].

    Separate from these are the KDE Applications, such as krita or dolphin.
    Some useful (and working) applications include dolphin and konsole. 

    Finally, there are several useful extra programs which will enhance the
    standard KDE experience.

    +-------------+------------------------------------------------------------+
    | Package     | Description                                                |
    |-------------+------------------------------------------------------------|
    |             |                                                            |
    | sddm        | The Simple Desktop Display Manager                         |
    | kvantum     | An svg-based theme engine for qt5                          |
    | latte-dock  | A feature-rich dock based on the Plasma Framework          | 
    |             |                                                            |
    | dolphin     | The default KDE file manager                               |
    | konsole     | The default KDE terminal emulator                          |
    |             |                                                            |
    | baloo       | A framework for file indexing and metadata management      |
    | drkonqi     | A useful crash handler                                     |
    | udisks2     | A disk manager                                             |
    | kgamma5     | Change the monitor's gamma                                 |
    | khotkeys    | Expanded hotkey modification                               |
    | bludevil    | Bluetooth integration                                      |
    | powerdevil  | Power usage settings                                       |
    | kinfocenter | Displays useful system information                         |
    |             |                                                            |
    +-------------+------------------------------------------------------------+


[5.0] Troubleshooting
________________________________________________________________________________

Here is a collection of some common issues you might encounter in buiding or
running KDE. If you encounter any other problems, please submit an issue at
$/dilyn-corner/KISS-kde.


    [5.1] My fonts don't work!
    ____________________________________________________________________________

    If the fonts you have installed don't appear in any Qt applications, such as
    konsole, but DO appear in other applications, such as st, Qt is not properly
    identifying your font location. This can be confirmed by running a Qt app
    from a terminal and seeing warnings about how Qt does not ship fonts, and it 
    could not find them in /usr/lib/fonts. Additionally, qtdiag may inform you 
    that the default system font is noto-sans, regardless of whether or not 
    noto-sans is installed.

    This issue should be resolved by merely rebuilding qt5.


    [5.2] I can't login from a screen lock!
    ____________________________________________________________________________

    This is a known issue with kscreenlocker and KISS. The problem would
    seemingly lie with PAM not properly authenticating the user. This remains
    unresolved. 

    If the user trying to login is root, you may have luck killing the
    kscreenlocker_greet process. 
    
    The short term fix is to disable screen locking during inactivity, not 
    require a password while unlocking, or to simply never lock the screen.
    
    This issue does not exist on systems which do not have linux-pam installed.


    [5.3] I can't change the system time!
    ____________________________________________________________________________

    Administrative actions currently cannot be executed as any user in places 
    such as systemsettings. 

    A solution to resolve this issue is currently unknown.


    [5.4] XYZ package fails to build!
    ____________________________________________________________________________

    Please open an issue on the GitHub page! The dependencies have been
    minimized as much as possible to ensure the fewest things required are 
    pulled in to have a working system. As a result, some things may fail to 
    build independently. Some dependency requirements are simple fixes. Some
    examples include:

    +---------------+----------------------------------------------------------+
    | required pkg  | Error                                                    |
    |---------------+----------------------------------------------------------|
    |               |                                                          |
    | pkgconf       | ...pkg foo not found...                                  |
    | linux-headers | linux/bar.h not found                                    |
    |               |                                                          |
    +---------------+----------------------------------------------------------+


[6.0] How You Can Help
________________________________________________________________________________

The KISS-kde project is always looking for more contributors. Whether it is
fixing build errors, submitting patches, or adding applications, every
contribution is welcome!

For a current list of project milestones, check out the first section of the
README at $/dilyn-corner/KISS-kde.


[7.0] References
________________________________________________________________________________

[0] https://kde.org
[1] https://qt.io
[2] https://k1sslinux.org/guidestones
[3] https://gitlab.com/kwinft/kwinft
[4] https://k1sslinux.org/package-manager#3.2
[5] https://k1sslinux.org/package-manager#5.3
[6] http://linuxfromscratch.org/blfs/view/svn/general/elogind.html
[7] https://github.com/dilyn-corner/KISS-kde/releases
[8] https://k1sslinux.org/install
[9] https://wiki.archlinux.org/index.php/SDDM
[10] https://github.com/tsujan/Kvantum
[11] https://github.com/KDE/latte-dock