Desktop configuration

#| file: modules/home-manager/desktop/default.nix
{
  lib,
  config,
  osConfig,
  pkgs,
  ...
}:
let
  cfg = config.mjm.desktop;
in
{
  options.mjm.desktop = {
    <<options>>
  };

  config = lib.mkIf cfg.enable {
    <<config>>
  };

  _class = "homeManager";
}

My home-manager customizations for desktop machines are kept intentionally lean. Where possible, I try to configure things system-wide, so what's left here are things where that is non-trivial.

Options

enable = lib.mkOption {
  type = lib.types.bool;
  default = osConfig.mjm.desktop.enable or false;
};

These customizations are enabled by default if desktop configuration is also enabled for the whole system.

Config

catppuccin.firefox = {
  enable = true;
  force = true;
};
programs.firefox = {
  enable = true;
  package = null;
  configPath = "${config.xdg.configHome}/mozilla/firefox";
  profiles.matt = { };
};

While my Firefox is mostly configured through system-wide policies, I do use home-manager to create the profile and set up the Catppuccin color scheme in Firefox Color.

home.file.".xlcore/wine-runtimes/proton8-ge".source = pkgs.fetchzip {
  url = "https://github.com/rankynbass/wine-ge-xiv/releases/download/xiv-Proton8-26/unofficial-wine-xiv-Proton8-26-x86_64.tar.xz";
  hash = "sha256-lx9AWJutI8iCWA3FbcozxoTOf4zlSdHpdMljwkXUZDA=";
};

I haven't played FFXIV in a while, so I don't know if this custom WINE runtime is needed still, but in case it is, I've kept it in my configuration so I won't have to go digging around for it if I pick the game back up.

Proxy Information
Original URL
gemini://midna.dev/homelab/modules/home-manager/desktop/
Status Code
Success (20)
Meta
text/gemini;lang=en-US
Capsule Response Time
219.052796 milliseconds
Gemini-to-HTML Time
0.178423 milliseconds

This content has been proxied by September (UNKNO).