mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-03-18 07:24:10 +01:00
1.5 KiB
1.5 KiB
Home Manager's Linux Submodules
base: The base module that is suitable for any NixOS environment.desktop: Configuration for desktop environments, such as Hyprland, I3, etc.fcitx5: fcitx5's configuration(Chinese input method).hyprland: Hyprland's configuration.i3: i3's configuration.server.nix: Configuration which is suitable for both servers and desktops. It import onlybaseas its submodule.- used by all my nixos servers.
desktop-hyprland.nix: the entrypoint of hyprland's configuration, it import all the submodules above, excepti3.- used by my hyprland desktop.
desktop-i3.nix: the entrypoint of i3's configuration, it import all the submodules above, excepthyprland.- used by my i3 desktop.
Why install I3/Hyprland in Home Manager instead of a NixOS Module?
- I3 & Hyprland's configuration file is located in
~/.config, which can be easily managed by Home Manager. - 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.
- By install as less as possible in NixOS Module, we can:
- Make the NixOS system more secure and stable.
- Make this flake more portable to other non-NixOS systems, as home-manager can be installed on any Linux system.