2023-12-16 15:38:36 -08:00
|
|
|
{ ctp
|
2023-11-02 10:55:47 -07:00
|
|
|
, 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 = [
|
2023-12-16 15:38:36 -08:00
|
|
|
ctp.nixosModules.catppuccin
|
2023-11-02 10:55:47 -07:00
|
|
|
inputs.home-manager.nixosModules.default
|
|
|
|
common
|
|
|
|
];
|
|
|
|
|
|
|
|
boot.loader.grub = ctpEnable;
|
|
|
|
|
2024-03-13 15:04:50 -07:00
|
|
|
console = ctpEnable;
|
|
|
|
|
2023-11-02 10:55:47 -07:00
|
|
|
programs.dconf.enable = true; # required for gtk
|
|
|
|
|
|
|
|
virtualisation = {
|
|
|
|
memorySize = 4096;
|
|
|
|
writableStore = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
home-manager.users.test = {
|
|
|
|
imports = [
|
2023-12-16 15:38:36 -08:00
|
|
|
ctp.homeManagerModules.catppuccin
|
2023-11-02 10:55:47 -07:00
|
|
|
];
|
|
|
|
|
|
|
|
inherit (common) catppuccin;
|
|
|
|
|
2023-11-03 10:25:24 -07:00
|
|
|
xdg.enable = true;
|
|
|
|
|
2023-11-02 10:55:47 -07:00
|
|
|
home = {
|
|
|
|
username = "test";
|
|
|
|
stateVersion = lib.mkDefault "23.11";
|
|
|
|
};
|
|
|
|
|
|
|
|
manual.manpages.enable = lib.mkDefault false;
|
|
|
|
|
2024-04-18 12:49:10 -07:00
|
|
|
i18n.inputMethod = {
|
|
|
|
enabled = "fcitx5";
|
|
|
|
fcitx5.catppuccin.enable = true;
|
|
|
|
};
|
|
|
|
|
2023-11-02 10:55:47 -07:00
|
|
|
programs = {
|
|
|
|
alacritty = ctpEnable;
|
|
|
|
bat = ctpEnable;
|
|
|
|
bottom = ctpEnable;
|
|
|
|
btop = ctpEnable;
|
2024-04-16 09:44:26 -07:00
|
|
|
cava = ctpEnable;
|
2023-11-02 10:55:47 -07:00
|
|
|
fish = ctpEnable;
|
2024-04-16 20:14:17 -07:00
|
|
|
foot = ctpEnable;
|
2024-04-09 22:50:45 -07:00
|
|
|
fzf = ctpEnable;
|
2024-04-07 02:15:18 -07:00
|
|
|
git.enable = true; # Required for delta
|
|
|
|
git.delta = ctpEnable;
|
2024-04-09 22:36:06 -07:00
|
|
|
gitui = ctpEnable;
|
2023-11-02 10:55:47 -07:00
|
|
|
glamour.catppuccin.enable = true;
|
|
|
|
helix = ctpEnable;
|
|
|
|
home-manager.enable = false;
|
2024-04-07 02:42:34 -07:00
|
|
|
imv = ctpEnable;
|
2024-04-14 16:55:39 -07:00
|
|
|
k9s = ctpEnable;
|
2023-11-02 10:55:47 -07:00
|
|
|
kitty = ctpEnable;
|
|
|
|
lazygit = ctpEnable;
|
|
|
|
micro = ctpEnable;
|
2024-04-18 14:55:19 -07:00
|
|
|
mpv = ctpEnable;
|
2023-11-02 10:55:47 -07:00
|
|
|
neovim = ctpEnable;
|
2024-04-16 20:17:33 -07:00
|
|
|
rio = ctpEnable;
|
2024-04-10 21:35:22 -07:00
|
|
|
rofi = ctpEnable;
|
2023-11-02 10:55:47 -07:00
|
|
|
starship = ctpEnable;
|
2024-04-07 02:17:43 -07:00
|
|
|
swaylock = ctpEnable;
|
2023-11-02 10:55:47 -07:00
|
|
|
tmux = ctpEnable;
|
2024-04-10 21:41:30 -07:00
|
|
|
yazi = ctpEnable;
|
2023-11-03 09:07:31 -07:00
|
|
|
zathura = ctpEnable;
|
2023-11-02 10:55:47 -07:00
|
|
|
};
|
|
|
|
|
2024-04-19 11:40:48 -07:00
|
|
|
gtk = lib.recursiveUpdate ctpEnable { catppuccin.cursor.enable = true; };
|
2023-11-02 10:55:47 -07:00
|
|
|
|
|
|
|
services = {
|
2024-04-10 21:40:42 -07:00
|
|
|
dunst = ctpEnable;
|
2023-11-02 10:55:47 -07:00
|
|
|
mako = ctpEnable;
|
|
|
|
polybar =
|
|
|
|
ctpEnable
|
|
|
|
// {
|
|
|
|
script = ''
|
|
|
|
polybar top &
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
wayland.windowManager.sway = ctpEnable;
|
2023-11-03 08:55:17 -07:00
|
|
|
wayland.windowManager.hyprland = ctpEnable;
|
2023-11-02 10:55:47 -07:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
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!\"")
|
|
|
|
'';
|
|
|
|
}
|