43 lines
1.5 KiB
Markdown
43 lines
1.5 KiB
Markdown
Before interacting with anything in the repo, make sure you are familiar with all conventions documented in the [README](./README.md).
|
|
|
|
# Nix Development Shells
|
|
|
|
A Nix development shell is provided. To get a shell environment with basic tooling needed to work on this configuration, just run:
|
|
|
|
```sh
|
|
nix develop
|
|
```
|
|
|
|
# NixOS System Configurations
|
|
|
|
To test the environment, you can launch a virtualized NixOS system derived from the configuration:
|
|
|
|
```sh
|
|
nix run '.#nixosConfigurations.<system>.config.system.build.vm'
|
|
```
|
|
|
|
Here, `<system>` refers to the hostname of the system you want to test (e.g., tuxcord-test).
|
|
|
|
Note that this will create a `qcow2` image file in the current directory. Nix will automatically manage changes to the configuration and update the image file accordingly while keeping part of its mutable state (e.g., root bash history).
|
|
|
|
> [!WARNING]
|
|
> Not all changes are applied automatically. Updates such as user passwords changes or modifications to the filesystem layout will require deleting the image file so that Nix can re-create it from scratch.
|
|
|
|
# Host
|
|
|
|
The initial password for the `root` account is `tuxcord`.
|
|
|
|
SSH login is enabled for the configured user keys through the bridged IP.
|
|
|
|
# Tooling
|
|
|
|
Tooling used to aid in development.
|
|
|
|
## Formatter
|
|
|
|
Formatting is done with the formatter defined in the Nix flake. This can be used with `nix fmt <paths>`.
|
|
|
|
## Other
|
|
|
|
- `codespell` can be used at the root of this project to scan for typos in all files. A `.codespellrc` is also provided to configure it properly.
|