mirror of
https://github.com/nix-community/home-manager
synced 2024-11-15 23:59:45 +01:00
af2007bb77
This commit adds a module for configuring atuin, a replacement shell history program. The module adds options for generating atuin's `config.toml` from Nix, and options to enable atuin's integration for bash and zsh (which will rebind history keys to open the atuin history).
153 lines
4.4 KiB
Nix
153 lines
4.4 KiB
Nix
{ pkgs ? import <nixpkgs> {}, enableBig ? true }:
|
|
|
|
let
|
|
|
|
lib = import ../modules/lib/stdlib-extended.nix pkgs.lib;
|
|
|
|
nmt = pkgs.fetchFromGitLab {
|
|
owner = "rycee";
|
|
repo = "nmt";
|
|
rev = "89924d8e6e0fcf866a11324d32c6bcaa89cda506";
|
|
sha256 = "02wzrbmpdpgig58a1rhz8sb0p2rvbapnlcmhi4d4bi8w9md6pmdl";
|
|
};
|
|
|
|
modules = import ../modules/modules.nix {
|
|
inherit lib pkgs;
|
|
check = false;
|
|
} ++ [
|
|
{
|
|
# Fix impurities. Without these some of the user's environment
|
|
# will leak into the tests through `builtins.getEnv`.
|
|
xdg.enable = true;
|
|
home.username = "hm-user";
|
|
home.homeDirectory = "/home/hm-user";
|
|
|
|
# Avoid including documentation since this will cause
|
|
# unnecessary rebuilds of the tests.
|
|
manual.manpages.enable = false;
|
|
|
|
imports = [ ./asserts.nix ./stubs.nix ];
|
|
}
|
|
];
|
|
|
|
isDarwin = pkgs.stdenv.hostPlatform.isDarwin;
|
|
isLinux = pkgs.stdenv.hostPlatform.isLinux;
|
|
|
|
in
|
|
|
|
import nmt {
|
|
inherit lib pkgs modules;
|
|
testedAttrPath = [ "home" "activationPackage" ];
|
|
tests = builtins.foldl' (a: b: a // (import b)) { } ([
|
|
./lib/types
|
|
./modules/files
|
|
./modules/home-environment
|
|
./modules/misc/fontconfig
|
|
./modules/programs/alacritty
|
|
./modules/programs/alot
|
|
./modules/programs/aria2
|
|
./modules/programs/atuin
|
|
./modules/programs/autojump
|
|
./modules/programs/bash
|
|
./modules/programs/bat
|
|
./modules/programs/bottom
|
|
./modules/programs/broot
|
|
./modules/programs/browserpass
|
|
./modules/programs/dircolors
|
|
./modules/programs/direnv
|
|
./modules/programs/feh
|
|
./modules/programs/fish
|
|
./modules/programs/gh
|
|
./modules/programs/git
|
|
./modules/programs/gpg
|
|
./modules/programs/himalaya
|
|
./modules/programs/htop
|
|
./modules/programs/i3status
|
|
./modules/programs/irsii
|
|
./modules/programs/kakoune
|
|
./modules/programs/kitty
|
|
./modules/programs/lf
|
|
./modules/programs/lieer
|
|
./modules/programs/man
|
|
./modules/programs/mbsync
|
|
./modules/programs/mpv
|
|
./modules/programs/ncmpcpp
|
|
./modules/programs/ne
|
|
./modules/programs/neomutt
|
|
./modules/programs/newsboat
|
|
./modules/programs/nix-index
|
|
./modules/programs/nushell
|
|
./modules/programs/pet
|
|
./modules/programs/powerline-go
|
|
./modules/programs/qutebrowser
|
|
./modules/programs/readline
|
|
./modules/programs/sbt
|
|
./modules/programs/scmpuff
|
|
./modules/programs/sm64ex
|
|
./modules/programs/ssh
|
|
./modules/programs/starship
|
|
./modules/programs/texlive
|
|
./modules/programs/tmux
|
|
./modules/programs/topgrade
|
|
./modules/programs/vscode
|
|
./modules/programs/zplug
|
|
./modules/programs/zsh
|
|
./modules/xresources
|
|
] ++ lib.optionals isDarwin [
|
|
./modules/targets-darwin
|
|
] ++ lib.optionals isLinux [
|
|
./modules/config/i18n
|
|
./modules/i18n/input-method
|
|
./modules/misc/gtk
|
|
./modules/misc/numlock
|
|
./modules/misc/pam
|
|
./modules/misc/qt
|
|
./modules/misc/xdg
|
|
./modules/misc/xsession
|
|
./modules/programs/abook
|
|
./modules/programs/autorandr
|
|
./modules/programs/foot
|
|
./modules/programs/getmail
|
|
./modules/programs/gnome-terminal
|
|
./modules/programs/i3status-rust
|
|
./modules/programs/mangohud
|
|
./modules/programs/ncmpcpp-linux
|
|
./modules/programs/neovim # Broken package dependency on Darwin.
|
|
./modules/programs/rbw
|
|
./modules/programs/rofi
|
|
./modules/programs/rofi-pass
|
|
./modules/programs/terminator
|
|
./modules/programs/waybar
|
|
./modules/programs/xmobar
|
|
./modules/services/barrier
|
|
./modules/services/devilspie2
|
|
./modules/services/dropbox
|
|
./modules/services/emacs
|
|
./modules/services/fluidsynth
|
|
./modules/services/fnott
|
|
./modules/services/git-sync
|
|
./modules/services/kanshi
|
|
./modules/services/lieer
|
|
./modules/services/pantalaimon
|
|
./modules/services/pbgopy
|
|
./modules/services/playerctld
|
|
./modules/services/polybar
|
|
./modules/services/redshift-gammastep
|
|
./modules/services/screen-locker
|
|
./modules/services/sxhkd
|
|
./modules/services/syncthing
|
|
./modules/services/trayer
|
|
./modules/services/window-managers/bspwm
|
|
./modules/services/window-managers/i3
|
|
./modules/services/window-managers/sway
|
|
./modules/services/wlsunset
|
|
./modules/services/xsettingsd
|
|
./modules/systemd
|
|
./modules/targets-linux
|
|
] ++ lib.optionals enableBig [
|
|
./modules/programs/emacs
|
|
] ++ lib.optionals (enableBig && isLinux) [
|
|
./modules/misc/debug
|
|
./modules/programs/firefox
|
|
]);
|
|
}
|