a30f0ff077
* feat(modules): remove unnecessary IFD by moving all upstream repos to our flake inputs, we no longer need to have [IFD](https://nixos.wiki/wiki/Import_From_Derivation) in most of our modules - making evaluation faster for all configurations. the only remaining instances of IFD are in `lib.ctp.toYAML` and the themes for kitty, which is due to it's use upstream in home-manager * ci: start auto updating flake inputs * ci: init basic vm tests * ci: rename ci to format * ci: use PAT for update-lock workflow this is required to run tests such as test-vm after the pull request is made * fix(home-manager): make sure to use readFile in helix module * ci: fix typo in test-vm * ci: use verbose logging in test-vm & enable kvm * docs: add flake inputs & vm testing to CONTRIBUTING.md * feat(modules)!: use nvfetcher for upstream sources * docs: add information about nvfetcher * chore: don't include flake-compat in flake inputs while this does make us lose out on easy updating, i think it's nice not have this as a required dependency for flake users * chore: update flake inputs Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/f58889c07efa8e1328fdf93dc1796ec2a5c47f38' (2023-07-29) → 'github:nix-community/home-manager/48b0a30202516e25d9885525fbb200a045f23f26' (2023-11-01) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/2a9d660ff0f7ffde9d73be328ee6e6f10ef66b28' (2023-07-28) → 'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735' (2023-10-29) * chore: update nvfetcher sources * refactor: don't instantiate nixpkgs in flake + cleanup vm test * fix(home-manager): update paths from new lazygit theme revision * feat(lib)!: use constant module arguments automatically
92 lines
1.8 KiB
Nix
92 lines
1.8 KiB
Nix
{ self
|
|
, inputs
|
|
, ...
|
|
}:
|
|
let
|
|
common = {
|
|
catppuccin.flavour = "mocha";
|
|
users.users.test = {
|
|
isNormalUser = true;
|
|
home = "/home/test";
|
|
};
|
|
};
|
|
|
|
ctpEnable = {
|
|
enable = true;
|
|
catppuccin.enable = true;
|
|
};
|
|
in
|
|
{
|
|
name = "module-test";
|
|
|
|
nodes.machine = { lib, ... }: {
|
|
imports = [
|
|
self.nixosModules.catppuccin
|
|
inputs.home-manager.nixosModules.default
|
|
common
|
|
];
|
|
|
|
boot.loader.grub = ctpEnable;
|
|
|
|
programs.dconf.enable = true; # required for gtk
|
|
|
|
virtualisation = {
|
|
memorySize = 4096;
|
|
writableStore = true;
|
|
};
|
|
|
|
home-manager.users.test = {
|
|
imports = [
|
|
self.homeManagerModules.catppuccin
|
|
];
|
|
|
|
inherit (common) catppuccin;
|
|
|
|
home = {
|
|
username = "test";
|
|
stateVersion = lib.mkDefault "23.11";
|
|
};
|
|
|
|
manual.manpages.enable = lib.mkDefault false;
|
|
|
|
programs = {
|
|
alacritty = ctpEnable;
|
|
bat = ctpEnable;
|
|
bottom = ctpEnable;
|
|
btop = ctpEnable;
|
|
fish = ctpEnable;
|
|
glamour.catppuccin.enable = true;
|
|
helix = ctpEnable;
|
|
home-manager.enable = false;
|
|
kitty = ctpEnable;
|
|
lazygit = ctpEnable;
|
|
micro = ctpEnable;
|
|
neovim = ctpEnable;
|
|
starship = ctpEnable;
|
|
tmux = ctpEnable;
|
|
};
|
|
|
|
gtk = ctpEnable;
|
|
|
|
services = {
|
|
mako = ctpEnable;
|
|
polybar =
|
|
ctpEnable
|
|
// {
|
|
script = ''
|
|
polybar top &
|
|
'';
|
|
};
|
|
};
|
|
|
|
wayland.windowManager.sway = ctpEnable;
|
|
};
|
|
};
|
|
|
|
testScript = _: ''
|
|
machine.start()
|
|
machine.wait_for_unit("home-manager-test.service")
|
|
machine.wait_until_succeeds("systemctl status home-manager-test.service")
|
|
machine.succeed("echo \"system started!\"")
|
|
'';
|
|
}
|