diff options
Diffstat (limited to 'modules/by-name/at/atuin/module.nix')
-rw-r--r-- | modules/by-name/at/atuin/module.nix | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/modules/by-name/at/atuin/module.nix b/modules/by-name/at/atuin/module.nix new file mode 100644 index 00000000..7adc34e1 --- /dev/null +++ b/modules/by-name/at/atuin/module.nix @@ -0,0 +1,92 @@ +{ + config, + lib, + ... +}: let + cfg = config.soispha.programs.atuin; +in { + options.soispha.programs.atuin = { + enable = lib.mkEnableOption "atuin"; + }; + + config = lib.mkIf cfg.enable { + age.secrets.atuin_encryption_key = { + file = ./secrets/encryption_key.age; + mode = "700"; + owner = "soispha"; + group = "users"; + }; + + home-manager.users.soispha = { + programs.atuin = { + enable = true; + enableZshIntegration = config.soispha.programs.zsh.enable; + settings = { + key_path = "${config.age.secrets.atuin_encryption_key.path}"; + + # TODO: Setup a self-hosted sync server. <2024-10-18> + session_path = ""; + auto_sync = false; + sync_address = ""; + + # Use the rather reasonable syntax of `skim` to search. + search_mode = "skim"; + + # Filter by files in a git directory, when in one. + # The filtermode can still be changed with `<Ctrl-r>` later. + workspaces = true; + + # Save some space, by setting the mode to 'compact' and the height to 1 (meaning + # `atuin` may only use 1 line in the terminal). + style = "compact"; + inline_height = 1; + + # 'k' and 'j' to move up and down. + keymap_mode = "vim-normal"; + keymap_cursor = { + emacs = "blink-underline"; + vim_insert = "blink-block"; + vim_normal = "blink-bar"; + }; + + # Who wants software, that automatically calls home?! + update_check = false; + + stats = { + # Commands with subcommands + # This list contains the defaults plus `nix` + common_subcommands = [ + "apt" + "cargo" + "composer" + "dnf" + "docker" + "git" + "go" + "ip" + "kubectl" + "nix" + "nix" + "nmcli" + "npm" + "pecl" + "pnpm" + "podman" + "port" + "systemctl" + "tmux" + "yarn" + ]; + + # This overrides the default value. + ignored_commands = []; + }; + + # I currently don't want a sync deamon or a dotfiles manager running. + deamon.enable = false; + dotfiles.enable = false; + }; + }; + }; + }; +} |