Aptivi - Manual
ProjectsWebsiteBlog
Nitrocid KS v0.1.0 - Rolling Manual
Nitrocid KS v0.1.0 - Rolling Manual
  • Welcome!
  • Version Release Notes
  • Installation and Maintenance
    • Installing the Kernel
      • Windows
      • macOS
      • Linux
      • Android
    • Upgrading the Kernel
      • Windows
      • macOS
      • Linux
      • Android
    • Dependency Information
  • Fundamentals
    • What is the Kernel?
    • What is Nitrocid KS?
    • Simulated Kernel Features
      • Extra Features
        • More Networking
          • FTP Client
          • SFTP Client
          • RSS Client
          • HTTP Client
          • Mail Client
        • Games and Amusements
          • Hangman
          • BackRace
          • Meteor
          • Russian Roulette
          • ShipDuet
          • Snaker
          • Solver
          • SpeedPress
          • Wordle
        • More Editors
          • JSON Editor
          • SQL Editor
        • Common Programs
          • Archive
          • Caffeine
          • Calendar
          • Calculator
          • Contacts
          • Dictionary
          • Git Shell
          • Music Player
          • Notes
          • SSH Connection
          • Timers
          • To-do List
          • Unit Converter
          • Weather
        • Docking
        • Language Studio
        • Theme Studio
      • Accounts
        • Groups
        • Permissions
      • Editors
        • Text Editor
        • Hex Editor
      • Shells
        • Commands List
        • Addon Commands List
      • Files and Folders
        • Hashing and Encryption
      • Networking
      • Languages
      • Screensavers
  • Advanced and Power Users
    • Building the Kernel
      • Building on Windows
      • Building on macOS
      • Building on Linux
      • Building on Android
    • Kernel Modifications
      • Building your Mod
      • Analyzing your Mod
        • Text - NKS0001
        • ConsoleBase - NKS0002
        • ConsoleBase - NKS0003
        • ConsoleBase - NKS0004
        • ConsoleBase - NKS0005
        • ConsoleBase - NKS0006
        • ConsoleBase - NKS0007
        • ConsoleBase - NKS0008
        • ConsoleBase - NKS0009
        • Files - NKS0010
        • Files - NKS0011
        • Files - NKS0012
        • Files - NKS0013
        • Files - NKS0014
        • Files - NKS0015
        • Files - NKS0016
        • Files - NKS0017
        • Files - NKS0018
        • Files - NKS0019
        • Files - NKS0020
        • Files - NKS0021
        • Files - NKS0022
        • Files - NKS0023
        • Kernel - NKS0024
        • Kernel - NKS0025
        • Kernel - NKS0026
        • Kernel - NKS0027
        • Kernel - NKS0031
        • Kernel - NKS0032
        • Kernel - NKS0033
        • Kernel - NKS0037
        • Kernel - NKS0038
        • Kernel - NKS0039
        • Kernel - NKS0040
        • Kernel - NKS0041
        • Kernel - NKS0042
        • Kernel - NKS0043
        • Kernel - NKS0052
        • Kernel - NKS0053
        • Languages - NKS0044
        • Languages - NKS0045
        • Languages - NKS0046
        • Network - NKS0051
        • Text - NKS0047
        • Text - NKS0048
        • Text - NKS0049
        • Text - NKS0050
        • Text - NKS0054
        • Text - NKS0055
      • Managing your Mod
        • Inter-Mod Communication
        • Inter-Addon Communication
    • Diagnostics
      • Debugging
        • Local Debugging
        • Remote Debugging
      • Testing
      • Other Diagnostics
    • Inner Workings
      • Kernel Settings
        • Mechanics of Settings App
        • Settings Format
        • Custom Settings
      • Shell Structure
        • Help System
        • Command Parsing
        • Command Information
        • Command Switch Management
        • Command Switch Information
        • Shell History
        • Shell Scripting
        • Shell Presets
        • Extra Shell Features
      • Multilingual Kernel
        • Custom Languages
      • Inner Essentials
        • Kernel Drivers
          • Console Drivers
          • Debug Logger Drivers
          • Encoding Drivers
          • Encryption Drivers
          • Filesystem Drivers
          • Hardware Prober Drivers
          • Input Drivers
          • Network Drivers
          • RNG Drivers
          • Regular Expression Drivers
          • Sorting Drivers
        • Kernel Placeholders
        • The Permissions
        • The Users
        • Kernel Threads
        • Kernel Arguments
        • Kernel Journaling
        • Remote Procedure
        • Nitrocid Filesystem
        • Screensaver Internals
        • Splash Internals
        • Kernel Platform
        • Theme Internals
        • Color Internals
        • Privacy Consents
        • System Notifications
        • MAL and MOTD
        • Progress Handlers
        • Assembly Signing
        • Assembly Reflection
        • Random Number Generation
        • Network Tools
        • Date and Time
        • Mod Manual Pages
      • Miscellaneous APIs
  • Project Dependencies
  • Report an issue
  • Source code
  • API Reference
Powered by GitBook
On this page
  • How it works?
  • Settings
  • System updates and information
  • Inner workings
  • Settings on your Shell
  • Settings format
  • Custom settings
Edit on GitHub
  1. Advanced and Power Users
  2. Inner Workings

Kernel Settings

How settings works.

The kernel is extensively configurable. It allows you to customize your kernel to fit your needs across all areas, ranging from general kernel settings to networking to screensavers. It's an exciting feature!

How it works?

The kernel configuration files are stored in the below software paths (Paths.AppDataPath under the KS.Files namespace):

  • Windows: %localappdata%\KS\

  • Linux: ~/.config/ks/

When the kernel starts up, different configuration files are read for different purposes. The below settings paths describe the purpose and the type of each (with all the addons).

d-----          3/2/2024  11:29 AM                KSEvents
d-----          3/2/2024  11:29 AM                KSMods
d-----          3/2/2024  11:29 AM                KSReminders
-a----          3/2/2024  11:29 AM              4 Aliases.json
-a----          3/2/2024  11:29 AM            270 AmusementsConfig.json
-a----          3/2/2024  11:29 AM            718 AmusementsSaversConfig.json
-a----          3/2/2024  11:29 AM             38 AmusementsSplashesConfig.json
-a----          3/2/2024  11:29 AM             40 ArchiveConfig.json
-a----          3/2/2024  11:29 AM             46 BassBoomConfig.json
-a----          3/2/2024  11:29 AM             28 BassBoomSaversConfig.json
-a----          3/2/2024  11:29 AM             49 CalendarConfig.json
-a----          3/2/2024  11:29 AM              2 Consents.json
-a----          3/2/2024  11:29 AM             22 ExtensionHandlers.json
-a----          3/2/2024  11:29 AM          30915 ExtraSaversConfig.json
-a----          3/2/2024  11:29 AM            234 ExtraSplashesConfig.json
-a----          3/2/2024  11:29 AM             26 ForecastConfig.json
-a----          3/2/2024  11:29 AM            554 FtpConfig.json
-a----          3/2/2024  11:29 AM             36 GitConfig.json
-a----          3/2/2024  11:29 AM             42 HttpConfig.json
-a----          3/2/2024  11:29 AM            139 JsonConfig.json
-a----          3/2/2024  11:29 AM            399 KernelDriverConfig.json
-a----          3/2/2024  11:29 AM           7174 KernelMainConfig.json
-a----          3/2/2024  11:29 AM             92 KernelSaverConfig.json
-a----          3/2/2024  11:29 AM          47407 KSJournal-0.json
-a----          3/2/2024  11:29 AM            512 MailConfig.json
-a----          3/2/2024  11:29 AM             23 MAL.txt
-a----          3/2/2024  11:29 AM             27 MOTD.txt
-a----          3/2/2024  11:29 AM            218 NameGenSaversConfig.json
-a----          3/2/2024  11:29 AM              2 notes.json
-a----          3/2/2024  11:29 AM            157 RssConfig.json
-a----          3/2/2024  11:29 AM            143 SftpConfig.json
-a----          3/2/2024  11:29 AM            138 ShellHistories.json
-a----          3/2/2024  11:29 AM             41 SqlConfig.json
-a----          3/2/2024  11:29 AM             64 TimersConfig.json
-a----          3/2/2024  11:29 AM             23 TipsConfig.json
-a----          3/2/2024  11:29 AM              4 ToDoList.json
-a----          3/2/2024  11:29 AM              2 UserGroups.json
-a----          3/2/2024  11:29 AM            533 Users.json

Settings

The kernel provides an easy-to-use tool to seamlessly configure the kernel settings. It can be easily invoked using the settings command. Running this command alone provides you with the normal kernel settings. The two switches will change the mode:

  • -saver: Lets you configure the screensavers

  • -splash: Lets you configure the splashes

  • -addonsaver: Lets you configure the screensavers from the Extra Screensavers addon

  • -driver: Lets you configure the kernel drivers

  • -type=configType: Lets you configure a custom section of the kernel settings, including your mod-defined ones.

Selecting a section leads to the settings application listing all the available configuration options, which you can then set their individual options. It even allows you to save the settings if you like the current configuration, load the user settings, and find a settings entry for easier access.

Starting from 0.1.0.5, you can easily migrate most of your kernel configuration, including your speed dial settings, from the old format that 0.0.16.0 introduced back on 2021. Just open the settings app and select "Migrate old configuration."

We'll never support configuration migration for older formats, such as the .ini format that 0.0.4 introduced, due to deprecation of API versions 1.0, 1.1, and 1.2.

System updates and information

From the main page, you can easily check for kernel updates and check the system information right from it.

Inner workings

You can find more information about the mechanics of the settings application by clicking on the below link.

Settings on your Shell

Additionally, you can change the kernel settings and list them using the following available commands:

  • lsconfigs: This command allows you to list all configurations and their entries.

  • lsconfigvalues: This command allows you to list all configuration keys and their values

  • getconfigvalue: This command allows you to get a config value by the variable name

  • setconfigvalue: This command allows you to set a config value by the variable name to the specified value

This feature is useful for your UESH scripts and for your quick shortcut to change your settings.

Settings format

The settings format is out of scope for this page, so click the below link to learn more.

Custom settings

The custom settings and its relationship with your mods is out of scope for this page, so click the below link to learn more.

Last updated 1 year ago

Mechanics of Settings App
Settings Format
Custom Settings