This template is structured in a relatively standard hierarchy, with the additon of shared files. This graph explains the structure of this template:
To start configuring the system you need to add and name any systems/users, you can do this at the bottom of flake.nix
. By default the flake has one user and one system, feel free to duplicate the lines to create another user/system respectively. You can also add, remove or change roles, the default user has the 'pc' role.
To finish adding the users, systems or just renaming the defaults, duplicate and rename the hosts and users, then track the files in git.
Finally, drop the contents of your original generated hardware-configuration.nix into your newly created (or renamed) host, inside of its hardware.nix.
You can now build the config using sudo nixos-rebuild switch --flake /path/to/config/#systemname
.
For people using and developing main Kalyx, you can use a git submodule to nest a editable version of Kalyx inside your repository, allowing you to pull request the main Kalyx project and make local edits.
- Clone the repo
- Add your fork to the submodules, make sure it gets clones into kalyx and make sure to change the url in the provided command:
git submodule add https://github.com/Your/KalyxFork kalyx
- Near the top of the flake.nix change
url = "https://github.com/Juiced-Devs/Kalyx";
tourl = "file:./kalyx?submodules=1";
and below that line addtype = "git";
- Run
nix flake update
, (Do this after changing something in the kalyx folder). - Follow regular setup.