home-manager/modules/modules.nix

337 lines
9.1 KiB
Nix
Raw Normal View History

{ pkgs
2021-07-18 21:34:50 +00:00
# Note, this should be "the standard library" + HM extensions.
, lib
2021-07-18 21:34:50 +00:00
# Whether to enable module type checking.
, check ? true
2021-07-18 21:34:50 +00:00
# If disabled, the pkgs attribute passed to this function is used instead.
, useNixpkgsModule ? true }:
with lib;
let
modules = [
./accounts/email.nix
home.pointerCursor: init (#2891) * home.pointerCursor: init The current architecture for cursor configurations is composed of individual options for different backends. For example, X specific settings are managed under `xsession.pointerCursor` and gtk specific settings are managed under `gtk.cursorTheme`. While this architecture is modular, it causes duplication of similar structures for each component. In theory, this provides flexibility because the components are independent of each other which can be arranged in arbitrary ways to achieve the desired result. However in practice, users wish to have one cursor theme applied to their entire system The duplication of options correspond to duplication of settings on the user side and it becomes a burden to keep track of all necessary settings. This commit is an attempt to unify cursor configurations for different window systems and GUI toolkits based on https://github.com/nix-community/home-manager/pull/2481#issuecomment-978917480. `home.pointerCursor` is introduced as the interface for all cursor configurations. It contain all options relevant to cursor themes with eneral options delcared under `home.pointerCursor.*` and backend specific options declared under `home.pointerCursor.<backend>.*`. By default, a backend independent configuration is generated. Backend specific configurations can be toggled via the `home.pointerCursor.<backend>.enable` option for each backend. This was decided over using a list of enums because it allows easy access to the state of the backend. Note generating different cursor configurations for different backends is still possible by defining only `home.pointerCursor` and managing the respective options manually. * xcursor: migrate options to home.pointerCursor - Removed `xession.pointerCursor` as x11 cursor configurations are now handled in `home.pointerCursor.x11`. - Updated `meta.maintainer` field in `home.pointerCursor` and CODEOWNERS.
2022-05-03 22:29:17 +00:00
./config/home-cursor.nix
./config/i18n.nix
./files.nix
./home-environment.nix
./i18n/input-method/default.nix
./launchd/default.nix
./manual.nix
./misc/dconf.nix
./misc/debug.nix
./misc/editorconfig.nix
./misc/fontconfig.nix
./misc/gtk.nix
./misc/lib.nix
./misc/news.nix
./misc/numlock.nix
./misc/pam.nix
./misc/qt.nix
./misc/specialization.nix
./misc/submodule-support.nix
./misc/tmpfiles.nix
./misc/version.nix
./misc/vte.nix
./misc/xdg-desktop-entries.nix
./misc/xdg-mime-apps.nix
./misc/xdg-mime.nix
./misc/xdg-system-dirs.nix
./misc/xdg-user-dirs.nix
./misc/xdg.nix
2022-11-02 09:06:05 +00:00
./misc/xfconf.nix
./programs/abook.nix
./programs/aerc.nix
./programs/afew.nix
./programs/alacritty.nix
./programs/alot.nix
./programs/aria2.nix
./programs/astroid.nix
./programs/atuin.nix
./programs/autojump.nix
./programs/autorandr.nix
./programs/bash.nix
2022-08-06 23:11:57 +00:00
./programs/bashmount.nix
./programs/bat.nix
./programs/beets.nix
2022-09-25 17:27:04 +00:00
./programs/borgmatic.nix
./programs/bottom.nix
./programs/broot.nix
./programs/browserpass.nix
2022-08-17 16:16:01 +00:00
./programs/btop.nix
./programs/chromium.nix
./programs/command-not-found/command-not-found.nix
./programs/dircolors.nix
./programs/direnv.nix
./programs/discocss.nix
./programs/eclipse.nix
./programs/emacs.nix
2022-02-02 15:46:23 +00:00
./programs/eww.nix
./programs/exa.nix
./programs/feh.nix
./programs/firefox.nix
./programs/fish.nix
./programs/foot.nix
./programs/fzf.nix
./programs/gallery-dl.nix
./programs/getmail.nix
./programs/gh.nix
./programs/git.nix
2021-11-10 18:52:30 +00:00
./programs/gitui.nix
./programs/gnome-terminal.nix
./programs/go.nix
./programs/gpg.nix
2022-09-25 06:21:27 +00:00
./programs/havoc.nix
2022-01-03 23:09:24 +00:00
./programs/helix.nix
./programs/hexchat.nix
./programs/himalaya.nix
./programs/home-manager.nix
./programs/htop.nix
2022-08-01 15:03:41 +00:00
./programs/hyfetch.nix
./programs/i3status-rust.nix
./programs/i3status.nix
./programs/info.nix
./programs/ion.nix
./programs/irssi.nix
2021-08-02 09:14:10 +00:00
./programs/java.nix
./programs/jq.nix
2022-02-19 00:57:35 +00:00
./programs/just.nix
2022-10-23 19:22:14 +00:00
./programs/k9s.nix
./programs/kakoune.nix
./programs/keychain.nix
./programs/kitty.nix
./programs/kodi.nix
./programs/lazygit.nix
./programs/ledger.nix
./programs/less.nix
./programs/lesspipe.nix
./programs/lf.nix
2022-03-14 11:53:42 +00:00
./programs/librewolf.nix
./programs/lieer.nix
2022-10-09 18:11:59 +00:00
./programs/looking-glass-client.nix
./programs/lsd.nix
./programs/man.nix
./programs/mangohud.nix
./programs/matplotlib.nix
./programs/mbsync.nix
./programs/mcfly.nix
./programs/mercurial.nix
./programs/micro.nix
./programs/mpv.nix
./programs/msmtp.nix
./programs/mu.nix
./programs/mujmap.nix
2021-12-08 04:20:00 +00:00
./programs/navi.nix
./programs/ncmpcpp.nix
./programs/ncspot.nix
./programs/ne.nix
./programs/neomutt.nix
./programs/neovim.nix
./programs/newsboat.nix
2022-08-17 11:58:46 +00:00
./programs/nheko.nix
./programs/nix-index.nix
./programs/nnn.nix
./programs/noti.nix
./programs/notmuch.nix
./programs/nushell.nix
./programs/obs-studio.nix
./programs/octant.nix
./programs/offlineimap.nix
2022-09-29 11:08:53 +00:00
./programs/oh-my-posh.nix
./programs/opam.nix
./programs/pandoc.nix
./programs/password-store.nix
./programs/pazi.nix
./programs/pet.nix
./programs/pidgin.nix
2022-03-28 15:19:38 +00:00
./programs/pistol.nix
./programs/piston-cli.nix
2022-09-30 16:53:39 +00:00
./programs/pls.nix
./programs/powerline-go.nix
./programs/pubs.nix
2022-04-11 01:54:04 +00:00
./programs/pylint.nix
./programs/qutebrowser.nix
./programs/rbw.nix
./programs/readline.nix
./programs/rofi-pass.nix
./programs/rofi.nix
./programs/rtorrent.nix
2021-12-30 11:47:44 +00:00
./programs/sagemath.nix
./programs/sbt.nix
./programs/scmpuff.nix
./programs/senpai.nix
2022-04-17 21:07:55 +00:00
./programs/sioyek.nix
./programs/skim.nix
./programs/sm64ex.nix
./programs/sqls.nix
./programs/ssh.nix
./programs/starship.nix
2022-06-07 19:01:14 +00:00
./programs/swaylock.nix
./programs/taskwarrior.nix
2022-05-01 14:27:04 +00:00
./programs/tealdeer.nix
./programs/terminator.nix
./programs/termite.nix
./programs/texlive.nix
./programs/thunderbird.nix
2022-01-02 23:50:56 +00:00
./programs/timidity.nix
2021-12-18 15:29:55 +00:00
./programs/tint2.nix
./programs/tiny.nix
2022-09-21 20:59:50 +00:00
./programs/tmate.nix
./programs/tmux.nix
./programs/topgrade.nix
./programs/urxvt.nix
./programs/vim.nix
./programs/vscode.nix
./programs/vscode/haskell.nix
./programs/pywal.nix
./programs/watson.nix
./programs/waybar.nix
2022-04-08 06:48:27 +00:00
./programs/wezterm.nix
./programs/xmobar.nix
./programs/yt-dlp.nix
./programs/z-lua.nix
./programs/zathura.nix
2022-02-02 16:40:40 +00:00
./programs/zellij.nix
./programs/zoxide.nix
./programs/zplug.nix
./programs/zsh.nix
./programs/zsh/prezto.nix
./services/barrier.nix
2021-09-06 01:00:28 +00:00
./services/betterlockscreen.nix
./services/blueman-applet.nix
2022-09-25 17:27:04 +00:00
./services/borgmatic.nix
2022-10-27 17:08:14 +00:00
./services/cachix-agent.nix
./services/caffeine.nix
./services/cbatticon.nix
2022-08-27 18:52:41 +00:00
./services/clipman.nix
./services/clipmenu.nix
./services/devilspie2.nix
./services/dropbox.nix
./services/dunst.nix
./services/dwm-status.nix
./services/easyeffects.nix
./services/emacs.nix
./services/etesync-dav.nix
./services/espanso.nix
./services/flameshot.nix
./services/fluidsynth.nix
./services/fnott.nix
./services/fusuma.nix
./services/getmail.nix
2021-07-15 01:20:28 +00:00
./services/git-sync.nix
./services/gnome-keyring.nix
./services/gpg-agent.nix
./services/grobi.nix
2019-02-24 19:33:56 +00:00
./services/gromit-mpx.nix
./services/home-manager-auto-upgrade.nix
./services/hound.nix
./services/imapnotify.nix
./services/kanshi.nix
./services/kbfs.nix
./services/kdeconnect.nix
./services/keepassx.nix
./services/keybase.nix
./services/keynav.nix
./services/lieer.nix
./services/lorri.nix
./services/mako.nix
./services/mbsync.nix
2022-12-06 16:21:08 +00:00
./services/megasync.nix
./services/mopidy.nix
./services/mpd.nix
./services/mpdris2.nix
2022-04-05 03:48:13 +00:00
./services/mpd-discord-rpc.nix
./services/mpris-proxy.nix
./services/muchsync.nix
./services/network-manager-applet.nix
./services/nextcloud-client.nix
./services/notify-osd.nix
2021-09-20 19:13:20 +00:00
./services/opensnitch-ui.nix
./services/owncloud-client.nix
./services/pantalaimon.nix
./services/parcellite.nix
./services/pass-secret-service.nix
./services/password-store-sync.nix
./services/pasystray.nix
./services/pbgopy.nix
./services/picom.nix
./services/plan9port.nix
./services/playerctld.nix
2022-02-02 21:34:19 +00:00
./services/plex-mpv-shim.nix
./services/polybar.nix
./services/poweralertd.nix
2022-08-13 02:37:04 +00:00
./services/pueue.nix
./services/pulseeffects.nix
./services/random-background.nix
2022-02-07 10:54:09 +00:00
./services/recoll.nix
./services/redshift-gammastep/gammastep.nix
./services/redshift-gammastep/redshift.nix
./services/rsibreak.nix
./services/safeeyes.nix
./services/screen-locker.nix
./services/sctd.nix
./services/spotifyd.nix
./services/stalonetray.nix
./services/status-notifier-watcher.nix
./services/swayidle.nix
./services/sxhkd.nix
./services/syncthing.nix
2021-11-13 21:00:47 +00:00
./services/systembus-notify.nix
./services/taffybar.nix
./services/tahoe-lafs.nix
./services/taskwarrior-sync.nix
2021-09-14 21:14:41 +00:00
./services/trayer.nix
./services/twmn.nix
./services/udiskie.nix
./services/unclutter.nix
./services/unison.nix
2021-07-21 04:17:27 +00:00
./services/volnoti.nix
./services/window-managers/awesome.nix
./services/window-managers/bspwm/default.nix
2022-08-29 00:43:14 +00:00
./services/window-managers/fluxbox.nix
2021-11-09 22:17:36 +00:00
./services/window-managers/herbstluftwm.nix
./services/window-managers/i3-sway/i3.nix
./services/window-managers/i3-sway/sway.nix
./services/window-managers/i3-sway/swaynag.nix
2022-07-08 17:31:25 +00:00
./services/window-managers/spectrwm.nix
./services/window-managers/xmonad.nix
./services/wlsunset.nix
./services/xcape.nix
./services/xembed-sni-proxy.nix
./services/xidlehook.nix
./services/xscreensaver.nix
./services/xsettingsd.nix
./services/xsuspender.nix
./systemd.nix
./targets/darwin
./targets/generic-linux.nix
./xresources.nix
./xsession.nix
2022-01-27 17:58:25 +00:00
./misc/nix.nix
(pkgs.path + "/nixos/modules/misc/assertions.nix")
(pkgs.path + "/nixos/modules/misc/meta.nix")
] ++ optional useNixpkgsModule ./misc/nixpkgs.nix
++ optional (!useNixpkgsModule) ./misc/nixpkgs-disabled.nix;
pkgsModule = { config, ... }: {
config = {
_module.args.baseModules = modules;
2021-07-18 21:34:50 +00:00
_module.args.pkgsPath = lib.mkDefault
(if versionAtLeast config.home.stateVersion "20.09" then
pkgs.path
else
<nixpkgs>);
_module.args.pkgs = lib.mkDefault pkgs;
_module.check = check;
lib = lib.hm;
} // optionalAttrs useNixpkgsModule {
nixpkgs.system = mkDefault pkgs.stdenv.hostPlatform.system;
};
};
2021-07-18 21:34:50 +00:00
in modules ++ [ pkgsModule ]