mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-03-20 16:44:10 +01:00
24 lines
1.5 KiB
Markdown
24 lines
1.5 KiB
Markdown
# Home Manager's Linux Submodules
|
|
|
|
1. `base`: The base module that is suitable for any NixOS environment.
|
|
2. `desktop`: Configuration for desktop environments, such as Hyprland, I3, etc.
|
|
3. `fcitx5`: fcitx5's configuration(Chinese input method).
|
|
4. `hyprland`: Hyprland's configuration.
|
|
5. `i3`: i3's configuration.
|
|
6. `server.nix`: Configuration which is suitable for both servers and desktops. It import only `base` as its submodule.
|
|
1. used by all my nixos servers.
|
|
6. `desktop-hyprland.nix`: the entrypoint of hyprland's configuration, it import all the submodules above, except `i3`.
|
|
1. used by my hyprland desktop.
|
|
7. `desktop-i3.nix`: the entrypoint of i3's configuration, it import all the submodules above, except `hyprland`.
|
|
1. used by my i3 desktop.
|
|
|
|
|
|
## Why install I3/Hyprland in Home Manager instead of a NixOS Module?
|
|
|
|
1. I3 & Hyprland's configuration file is located in `~/.config`, which can be easily managed by Home Manager.
|
|
2. There're other user-specific systemd servcies, such gammastep, wallpaper-switcher, etc. which can be easily managed by Home Manager, but if we start i3/hyprland in NixOS Module, they may failed to start automatically. With i3/hyprland installed via home-manager, we can control their systemd service's dependent order, to avoid issues like this.
|
|
3. By install as less as possible in NixOS Module, we can:
|
|
1. Make the NixOS system more secure and stable.
|
|
2. Make this flake more portable to other non-NixOS systems, as home-manager can be installed on any Linux system.
|
|
|