Files
nix-config/home/linux
2023-12-24 20:56:44 +08:00
..
2023-12-24 01:00:56 +08:00
2023-12-24 20:56:44 +08:00
2023-12-23 17:43:57 +08:00

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.
  7. desktop-hyprland.nix: the entrypoint of hyprland's configuration, it import all the submodules above, except i3.
    1. used by my hyprland desktop.
  8. 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.