Fediversity/panel
Kiara Grouwstra 9a25a04bfa specify _class module attributes to explicitly declare module types (#398)
closes #93.

note that this includes classes:

- `nixos`
- `nixosTest`
- `nixops4Resource`
- `nixops4Deployment`

.. and my (made-up, as per the [docs](https://ryantm.github.io/nixpkgs/module-system/module-system/#module-system-lib-evalModules-param-class)):

- `nix-unit`
- `package`

.. while i did not manage to cover:

- service tests, given `pkgs.nixosTest` seemed to not actually like `_class = "nixosTest"` (?!)

... nor #93's mentioned destructured arguments for that matter, as per Fediversity/Fediversity#93 (comment) - let me know if that is still desired as well.

Reviewed-on: Fediversity/Fediversity#398
Reviewed-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-06-23 17:24:54 +02:00
..
nix specify _class module attributes to explicitly declare module types (#398) 2025-06-23 17:24:54 +02:00
src Introduce test for deploying all services via FediPanel (#361) 2025-06-18 12:37:47 +02:00
.envrc add .envrc files 2025-02-13 14:48:21 +01:00
.gitignore expose JSON schema for inspection (#351) 2025-06-04 19:15:26 +02:00
default.nix cast DEPLOYMENT_FLAKE to string 2025-06-22 14:42:14 +02:00
README.md add debug toolbar 2025-02-18 18:25:37 +01:00
shell.nix scaffold Django web service 2025-02-13 00:26:28 +01:00

Fediversity Panel

The Fediversity Panel is a web service for managing Fediversity deployments with a graphical user interface, written in Django.

Development

  • To obtain all tools related to this project, enter the development environment with nix-shell.

    If you want to do that automatically on entering this directory:

    • Set up direnv

    • Run direnv allow in the directory where repository is stored on your machine

      Note

      This is a security boundary, and allows automatically running code from this repository on your machine.

  • Run NixOS integration tests and Django unit tests:

    nix-build -A tests
    
  • List all available Django management commands with:

    manage
    
  • With a fresh database, run:

    manage migrate
    
  • Run the server locally:

    manage runserver
    
  • Create an admin user:

    manage createsuperuser
    

    and log in at http://localhost:8000/admin.

  • After changing the database schema, add migrations and apply them:

    manage makemigrations
    manage migrate
    
  • Use the Django Debug Toolbar for troubleshooting in the browser