Commit Graph

24 Commits

Author SHA1 Message Date
Donovan Glover
94d26cfae6
tests: prefer sending new line over return 2024-10-15 23:07:36 -04:00
Donovan Glover
db75a7e29a
tests: auto-login with getty 2024-10-15 23:01:19 -04:00
Donovan Glover
0b0deb55b7
tests: Remove desktop import
Fixes an issue where NixOS tests weren't exactly treated as
containers, presumably since they run inside QEMU.

The previous dependency on stylix is no longer necessary since
base16-nvim was upstreamed, although it may be ideal to split
it into its own module at a later date.
2024-09-01 15:12:51 -04:00
Donovan Glover
50f8c3eb00
meta: Replace desktop.container with config.boot.isContainer
No need to say that we're a container when NixOS already handles this.
2024-09-01 14:33:04 -04:00
Donovan Glover
939002e2f6
chore: Improve formatting 2024-09-01 14:12:17 -04:00
Donovan Glover
71b252d810
tests: Simplify machine imports 2024-09-01 13:43:36 -04:00
Donovan Glover
d188a89b6e
tests: Remove defaults.documentation.enable
Removed defaults.documentation.enable since it seems better to replicate
the environment as much as possible.

Also simplified specialArgs usage since we should never have to pass any
other args to the test machine.
2024-09-01 13:37:24 -04:00
Donovan Glover
d1a7f76d4f
tests: Remove useless parentheses
Tests seem to work fine without the `.config.result` part.
2024-09-01 13:34:53 -04:00
Donovan Glover
3bbb4befc2
tests: Remove useless import
Not needed when we have `self`.
2024-09-01 13:34:36 -04:00
Donovan Glover
64eb60a1ab
meta: Inline tests lib
The tests lib wasn't doing that much anyway and Nix flake checks are
just derivations that build successfully.
2024-09-01 12:52:23 -04:00
Donovan Glover
1c668bde68
chore: Format with nix fmt
nixfmt-rfc-style collapses lists like these.
2024-08-03 15:27:04 -04:00
Donovan Glover
8ece3e2812
treewide: Format remaining files with nixfmt-rfc-style 2024-08-03 14:49:00 -04:00
Donovan Glover
ce67ffbf73
meta: Rename homeManagerModules attribute to homeModules
This fixes an issue where previously homeManagerModules would be an
unknown flake output. Note that this change is a part of Nix 2.22.3
but not Nix 2.23.3.
2024-07-18 19:43:11 -04:00
Donovan Glover
e077bb8ff4
tests(neovim): Increase wait time
The addition of the neovim plugins made the initial time to open longer
than 5 seconds and thus failed the tests.

Note that using an alternative method like machine.wait_for_text() is
probably better in the long run to avoid flaky tests.
2024-05-20 13:42:48 -04:00
Donovan Glover
b5b20c7b19
tests: Test neovim with config
Fixes an issue where previously the home-manager config for neovim
wasn't actually being tested.
2024-05-19 00:45:55 -04:00
Donovan Glover
240cf74584
tests: Test neovim properly
This seems to work.
2024-05-12 21:59:48 -04:00
Donovan Glover
7b564db92d
meta(nix): Move test lib to separate directory 2024-04-09 08:02:31 -04:00
Donovan Glover
30e0239cf7
flake.nix: Dynamically import tests
Makes it possible to add new test files to the tests directory and have
everything instantly working.
2024-04-08 10:33:18 -04:00
Donovan Glover
41ce56718b
chore: Simplify tests
Removes the redundant `self`.
2024-04-05 11:53:40 -04:00
Donovan Glover
22e31ff60b
chore: Format with nixpkgs-fmt
Note that we will continue to use nixpkgs-fmt for the time being here
since nixfmt-rfc-style breaks string syntax highlighting and comments
like `/* this */` get turned into `# this`.

The conversion from lisp-like formatting to something else in flake.nix
is a bit unfortunate, but I'd rather have a singular style for the
entire code base to make things easier.
2024-04-05 11:40:23 -04:00
Donovan Glover
b368817c52
feat: Simplify imports by importing with specialArgs
This change makes it possible to import the modules that are required
from the flake inputs in the output modules themselves, thus preventing
users from having to manually import those modules.

This simplifies things overall and was made possible by the specialArgs
option that allowed these flake inputs to be passed into our container.
2024-04-05 09:37:30 -04:00
Donovan Glover
267dda3224
chore: Add missing imports to tests
Necessary since system now depends on home-manager and desktop depends
on stylix, which also depends on home-manager.

Note that since conditional imports can't be used and we include the
system module inside of our containers which don't have access to self,
importing the required modules inside the module itself cannot be used.
2024-04-05 09:07:28 -04:00
Donovan Glover
3946ea52fb
chore: Update test imports 2024-04-04 17:31:01 -04:00
Donovan Glover
95b10ec3ef
meta: Begin writing tests in Nix
Now that I've figured out how to dynamically import modules and use
those modules as outputs, the next step is to ensure that these modules
work as intended when being used by end users.

NixOS offers a built-in testing solution that enables us to conveniently
spin up virtual machines with a given configuration, then verify their
correctness through python scripting.

The lib.nix file in particular is based on Jörg Thalheim's very useful
blog post that explains how to use the built-in testing functionality
with Nix flakes, which isn't covered in official documentation.

See: https://blog.thalheim.io/2023/01/08/how-to-use-nixos-testing-framework-with-flakes/
2024-04-02 05:20:42 -04:00