{ inputs, self, ... }: { flake.homeModules.global = { lib, config, pkgs, ... }: { imports = [ self.homeModules.globalOptions ]; nix.gc = lib.mkIf (!config.features.applications.cli.nh.enable) { automatic = true; persistent = true; dates = "Sun 05:00"; }; nixpkgs.config = lib.mkIf (config.info.isStandalone) { allowUnfree = true; }; home = { stateVersion = config.info.stateVersion; packages = with pkgs; [ speedtest-go bitwarden-cli ] ++ config.features.applications.extraPackages ++ (if config.info.isStandalone then [ pkgs.home-manager ] else []); shell.enableBashIntegration = true; username = "grey"; homeDirectory = "/home/${config.home.username}"; file = inputs.helpers.localBinFromStringAttrs config.features.applications.shellScripts; }; programs.sftpman = lib.mkIf (config.info.hostName != "sakamoto") { enable = true; mounts = { sakamoto = { host = "sakamoto"; mountDestPath = "/home/grey/mounts/ssh/sakamoto"; mountPoint = "/"; sshKey = "/home/grey/.ssh/id_sakamoto"; user = "grey"; }; }; }; targets.genericLinux.enable = config.info.isStandalone; xdg = { enable = true; localBinInPath = true; portal = lib.mkIf (config.info.isStandalone) { enable = true; xdgOpenUsePortal = true; config.common.default = "*"; extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-gnome ]; }; }; services.gnome-keyring.enable = config.info.isStandalone; programs = { git = { enable = true; lfs.enable = true; settings = { user.name = "Grey Jones"; user.email = "grey@greyweather.dev"; }; signing = { format = "openpgp"; key = "CC7388DF8E1890729921BCFF7C67C51C2FF524D9"; signByDefault = true; }; }; gpg = { enable = true; }; ssh = { enable = true; enableDefaultConfig = false; settings = { "git.greyweather.dev" = { HostName = "git.greyweather.dev"; Port = "222"; User = "git"; IdentityFile = "~/.ssh/id_gitea"; }; "github.com" = { HostName = "github.com"; Port = 22; User = "git"; IdentityFile = "~/.ssh/id_github"; }; }; }; }; }; }