main
1{lib, ...}: {
2 den.aspects.core.shell.atuin = {
3 includes = [
4 ({user, ...}: {
5 persistUser = {
6 directories = lib.optional (!(lib.elem "homeManager" user.classes)) ".local/share/atuin";
7 };
8 persistHome = {config, ...}: {
9 directories = ["${config.xdg.dataHome}/atuin"];
10 };
11 })
12 ];
13
14 nixos = {
15 programs.atuin = {
16 enable = true;
17 settings = {
18 style = "full";
19 inline_height = 32;
20 keymap_mode = "vim-normal";
21 };
22 };
23 };
24
25 homeManager = {
26 programs.atuin = {
27 enable = true;
28 enableBashIntegration = true;
29 enableFishIntegration = true;
30 };
31 };
32 };
33
34 den.aspects.core.shell.atuin.themes = {
35 catppuccin = {
36 homeManager = {pkgs, ...}: {
37 programs.atuin = {
38 settings.theme.name = "catppuccin-mocha-mauve";
39 };
40
41 xdg.configFile = {
42 "atuin/themes/catppuccin-mocha-mauve.toml".source = pkgs.fetchurl {
43 url = "https://github.com/catppuccin/atuin/raw/68aa64b77573c235044b614e752a781701af4eec/themes/mocha/catppuccin-mocha-mauve.toml";
44 hash = "sha256-X66L7YmWQ4ClPeQoFhXkkWXPrmpLwWfHcDNbvnc+K3g=";
45 };
46 };
47 };
48 };
49 };
50}