{ inputs, outputs, lib, pkgs, config, ... }: { options.cady.home = { defaults = lib.mkEnableOption "Cady Universal Home Defaults!!"; userDirsOverride = lib.mkEnableOption "apparently i hate uppercase now"; }; config = lib.mkMerge [ (lib.mkIf config.cady.home.defaults { nixpkgs.config.allowUnfree = true; # QEMU + KVM autostart, see nix/common.nix for extra setup. dconf.settings = { "org/virt-manager/virt-manager/connections" = { autoconnect = [ "qemu:///system" ]; uris = [ "qemu:///system" ]; }; }; # Enable home-manager and git programs.home-manager.enable = true; programs.git = { enable = true; userEmail = lib.mkDefault "evanev7@gmail.com"; userName = lib.mkDefault "caedesyth"; }; # Move .gtkrc-2.0 out of home and into .config, in line with gtk 3 and 4. gtk.gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; # Disable news message news.display = "silent"; # Reload systemd units when reloading home-manager systemd.user.startServices = "sd-switch"; }) (lib.mkIf config.cady.home.userDirsOverride { xdg.userDirs = let filesDir = "/mysc/files"; in { enable = true; createDirectories = true; desktop = "${config.home.homeDirectory}/desktop"; documents = "${config.home.homeDirectory}" + filesDir; download = "${config.home.homeDirectory}/downloads"; music = "${config.home.homeDirectory}" + filesDir; pictures = "${config.home.homeDirectory}" + filesDir; publicShare = "${config.home.homeDirectory}/mysc/public"; templates = "${config.home.homeDirectory}/mysc/templates"; videos = "${config.home.homeDirectory}" + filesDir; extraConfig = { XDG_PROJECTS_DIR = "${config.home.homeDirectory}/projects"; }; }; gtk.gtk3.bookmarks = builtins.map (file: "file://${config.home.homeDirectory}/${file}") [ "desktop" "downloads" "nixos" "projects" ]; }) ]; }