mirror of
https://github.com/nix-community/home-manager
synced 2024-11-18 17:19:45 +01:00
afe96e7433
Note, the pubs configuration file uses ConfigObj syntax, which is similar to the INI files syntax but with extra functionalities like nested sections. This prevents it from using Nix's INI format generator. Here is an example of pubs configuration that cannot be generated using Nix's INI format generator: [plugins] [[git]] manual=False For this reason, we opted for a stringly-typed configuration since the use of a structured `settings` option would require a custom parser.
173 lines
5 KiB
Nix
173 lines
5 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 ./big-test.nix ./stubs.nix ];
|
|
|
|
test.enableBig = enableBig;
|
|
}
|
|
];
|
|
|
|
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/emacs
|
|
./modules/programs/feh
|
|
./modules/programs/fish
|
|
./modules/programs/gh
|
|
./modules/programs/git
|
|
./modules/programs/gpg
|
|
./modules/programs/helix
|
|
./modules/programs/himalaya
|
|
./modules/programs/htop
|
|
./modules/programs/i3status
|
|
./modules/programs/irssi
|
|
./modules/programs/kakoune
|
|
./modules/programs/kitty
|
|
./modules/programs/less
|
|
./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/nnn
|
|
./modules/programs/nushell
|
|
./modules/programs/pandoc
|
|
./modules/programs/pet
|
|
./modules/programs/powerline-go
|
|
./modules/programs/pubs
|
|
./modules/programs/qutebrowser
|
|
./modules/programs/readline
|
|
./modules/programs/sagemath
|
|
./modules/programs/sbt
|
|
./modules/programs/scmpuff
|
|
./modules/programs/sm64ex
|
|
./modules/programs/ssh
|
|
./modules/programs/starship
|
|
./modules/programs/taskwarrior
|
|
./modules/programs/texlive
|
|
./modules/programs/tmux
|
|
./modules/programs/topgrade
|
|
./modules/programs/vscode
|
|
./modules/programs/watson
|
|
./modules/programs/zplug
|
|
./modules/programs/zsh
|
|
./modules/xresources
|
|
] ++ lib.optionals isDarwin [
|
|
./modules/launchd
|
|
./modules/targets-darwin
|
|
] ++ lib.optionals isLinux [
|
|
./modules/config/i18n
|
|
./modules/i18n/input-method
|
|
./modules/misc/debug
|
|
./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/firefox
|
|
./modules/programs/foot
|
|
./modules/programs/getmail
|
|
./modules/programs/gnome-terminal
|
|
./modules/programs/hexchat
|
|
./modules/programs/i3status-rust
|
|
./modules/programs/kodi
|
|
./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/espanso
|
|
./modules/services/flameshot
|
|
./modules/services/fluidsynth
|
|
./modules/services/fnott
|
|
./modules/services/git-sync
|
|
./modules/services/gpg-agent
|
|
./modules/services/gromit-mpx
|
|
./modules/services/home-manager-auto-upgrade
|
|
./modules/services/kanshi
|
|
./modules/services/lieer
|
|
./modules/services/mpd
|
|
./modules/services/pantalaimon
|
|
./modules/services/pbgopy
|
|
./modules/services/playerctld
|
|
./modules/services/polybar
|
|
./modules/services/redshift-gammastep
|
|
./modules/services/screen-locker
|
|
./modules/services/swayidle
|
|
./modules/services/sxhkd
|
|
./modules/services/syncthing
|
|
./modules/services/trayer
|
|
./modules/services/twmn
|
|
./modules/services/window-managers/bspwm
|
|
./modules/services/window-managers/herbstluftwm
|
|
./modules/services/window-managers/i3
|
|
./modules/services/window-managers/sway
|
|
./modules/services/wlsunset
|
|
./modules/services/xsettingsd
|
|
./modules/systemd
|
|
./modules/targets-linux
|
|
]);
|
|
}
|