aboutsummaryrefslogtreecommitdiff
path: root/home-manager/modules/modules.nix
blob: 64418dbae113f66d4068ac18fc216230c6fb5c5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
{ pkgs

  # Note, this should be "the standard library" + HM extensions.
, lib

  # Whether to enable module type checking.
, check ? true
}:

with lib;

let

  hostPlatform = pkgs.stdenv.hostPlatform;

  checkPlatform = any (meta.platformMatch pkgs.stdenv.hostPlatform);

  loadModule = file: { condition ? true }: {
    inherit file condition;
  };

  allModules = [
    (loadModule ./accounts/email.nix { })
    (loadModule ./files.nix { })
    (loadModule ./home-environment.nix { })
    (loadModule ./manual.nix { })
    (loadModule ./misc/dconf.nix { })
    (loadModule ./misc/fontconfig.nix { })
    (loadModule ./misc/gtk.nix { })
    (loadModule ./misc/lib.nix { })
    (loadModule ./misc/news.nix { })
    (loadModule ./misc/nixpkgs.nix { })
    (loadModule ./misc/numlock.nix { condition = hostPlatform.isLinux; })
    (loadModule ./misc/pam.nix { })
    (loadModule ./misc/qt.nix { })
    (loadModule ./misc/submodule-support.nix { })
    (loadModule ./misc/version.nix { })
    (loadModule ./misc/xdg-mime.nix { condition = hostPlatform.isLinux; })
    (loadModule ./misc/xdg-mime-apps.nix { condition = hostPlatform.isLinux; })
    (loadModule ./misc/xdg-user-dirs.nix { condition = hostPlatform.isLinux; })
    (loadModule ./misc/xdg.nix { })
    (loadModule ./programs/afew.nix { })
    (loadModule ./programs/alacritty.nix { })
    (loadModule ./programs/alot.nix { })
    (loadModule ./programs/astroid.nix { })
    (loadModule ./programs/autorandr.nix { })
    (loadModule ./programs/bash.nix { })
    (loadModule ./programs/bat.nix { })
    (loadModule ./programs/beets.nix { })
    (loadModule ./programs/broot.nix { })
    (loadModule ./programs/browserpass.nix { })
    (loadModule ./programs/chromium.nix { condition = hostPlatform.isLinux; })
    (loadModule ./programs/command-not-found/command-not-found.nix { })
    (loadModule ./programs/direnv.nix { })
    (loadModule ./programs/eclipse.nix { })
    (loadModule ./programs/emacs.nix { })
    (loadModule ./programs/feh.nix { })
    (loadModule ./programs/firefox.nix { })
    (loadModule ./programs/fish.nix { })
    (loadModule ./programs/fzf.nix { })
    (loadModule ./programs/getmail.nix { condition = hostPlatform.isLinux; })
    (loadModule ./programs/git.nix { })
    (loadModule ./programs/gnome-terminal.nix { })
    (loadModule ./programs/go.nix { })
    (loadModule ./programs/gpg.nix { })
    (loadModule ./programs/home-manager.nix { })
    (loadModule ./programs/htop.nix { })
    (loadModule ./programs/info.nix { })
    (loadModule ./programs/irssi.nix { })
    (loadModule ./programs/jq.nix { })
    (loadModule ./programs/kakoune.nix { })
    (loadModule ./programs/keychain.nix { })
    (loadModule ./programs/lesspipe.nix { })
    (loadModule ./programs/lsd.nix { })
    (loadModule ./programs/man.nix { })
    (loadModule ./programs/matplotlib.nix { })
    (loadModule ./programs/mbsync.nix { })
    (loadModule ./programs/mercurial.nix { })
    (loadModule ./programs/mpv.nix { })
    (loadModule ./programs/msmtp.nix { })
    (loadModule ./programs/neomutt.nix { })
    (loadModule ./programs/neovim.nix { })
    (loadModule ./programs/newsboat.nix { })
    (loadModule ./programs/noti.nix { })
    (loadModule ./programs/notmuch.nix { })
    (loadModule ./programs/obs-studio.nix { })
    (loadModule ./programs/offlineimap.nix { })
    (loadModule ./programs/opam.nix { })
    (loadModule ./programs/password-store.nix { })
    (loadModule ./programs/pazi.nix { })
    (loadModule ./programs/pidgin.nix { })
    (loadModule ./programs/readline.nix { })
    (loadModule ./programs/rofi.nix { })
    (loadModule ./programs/rtorrent.nix { })
    (loadModule ./programs/skim.nix { })
    (loadModule ./programs/starship.nix { })
    (loadModule ./programs/ssh.nix { })
    (loadModule ./programs/taskwarrior.nix { })
    (loadModule ./programs/termite.nix { })
    (loadModule ./programs/texlive.nix { })
    (loadModule ./programs/tmux.nix { })
    (loadModule ./programs/urxvt.nix { })
    (loadModule ./programs/vim.nix { })
    (loadModule ./programs/vscode.nix { })
    (loadModule ./programs/vscode/haskell.nix { })
    (loadModule ./programs/z-lua.nix { })
    (loadModule ./programs/zathura.nix { })
    (loadModule ./programs/zsh.nix { })
    (loadModule ./services/blueman-applet.nix { })
    (loadModule ./services/cbatticon.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/compton.nix { })
    (loadModule ./services/dunst.nix { })
    (loadModule ./services/dwm-status.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/emacs.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/flameshot.nix { })
    (loadModule ./services/getmail.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/gnome-keyring.nix { })
    (loadModule ./services/gpg-agent.nix { })
    (loadModule ./services/grobi.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/hound.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/imapnotify.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/kbfs.nix { })
    (loadModule ./services/kdeconnect.nix { })
    (loadModule ./services/keepassx.nix { })
    (loadModule ./services/keybase.nix { })
    (loadModule ./services/lorri.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/mbsync.nix { })
    (loadModule ./services/mpd.nix { })
    (loadModule ./services/mpdris2.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/muchsync.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/network-manager-applet.nix { })
    (loadModule ./services/nextcloud-client.nix { })
    (loadModule ./services/owncloud-client.nix { })
    (loadModule ./services/parcellite.nix { })
    (loadModule ./services/password-store-sync.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/pasystray.nix { })
    (loadModule ./services/polybar.nix { })
    (loadModule ./services/random-background.nix { })
    (loadModule ./services/redshift.nix { })
    (loadModule ./services/rsibreak.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/screen-locker.nix { })
    (loadModule ./services/stalonetray.nix { })
    (loadModule ./services/status-notifier-watcher.nix { })
    (loadModule ./services/spotifyd.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/sxhkd.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/syncthing.nix { })
    (loadModule ./services/taffybar.nix { })
    (loadModule ./services/tahoe-lafs.nix { })
    (loadModule ./services/taskwarrior-sync.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/udiskie.nix { })
    (loadModule ./services/unclutter.nix { })
    (loadModule ./services/unison.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/window-managers/awesome.nix { })
    (loadModule ./services/window-managers/bspwm/default.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/window-managers/i3.nix { })
    (loadModule ./services/window-managers/xmonad.nix { })
    (loadModule ./services/xcape.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/xembed-sni-proxy.nix { condition = hostPlatform.isLinux; })
    (loadModule ./services/xscreensaver.nix { })
    (loadModule ./services/xsuspender.nix { condition = hostPlatform.isLinux; })
    (loadModule ./systemd.nix { })
    (loadModule ./xcursor.nix { })
    (loadModule ./xresources.nix { })
    (loadModule ./xsession.nix { })
    (loadModule (pkgs.path + "/nixos/modules/misc/assertions.nix") { })
    (loadModule (pkgs.path + "/nixos/modules/misc/meta.nix") { })
  ];

  modules = map (getAttr "file") (filter (getAttr "condition") allModules);

  pkgsModule = {
    config._module.args.baseModules = modules;
    config._module.args.pkgs = lib.mkDefault pkgs;
    config._module.check = check;
    config.lib = lib.hm;
    config.nixpkgs.system = mkDefault pkgs.system;
  };

in

  modules ++ [ pkgsModule ]