My system configuration via Nix flakes
# Template from https://nix-community.github.io/home-manager/index.xhtml#sec-usage-configuration
{ ... }:
{
  imports = [
    ./pkgs/desktop.nix
    ./pkgs/development.nix
    ./pkgs/rust.nix
  ];

  home.username = "finchie";
  home.homeDirectory = "/home/finchie";

  home.stateVersion = "23.11";
  programs.home-manager.enable = true;

  home.preferXdgDirectories = true;
  home.file = {
    ".cargo/config.toml".source = ./dotfiles/cargo.toml;
    ".config/Code/User/settings.json".source = ./dotfiles/vscode.jsonc;
    ".config/jj/config.toml".source = ./dotfiles/jj.toml;
    ".config/nushell/config.nu".source = ./dotfiles/config.nu;
  };

  programs.git = {
    enable = true;
    settings = {
      user = {
        name = "Finchie";
        email = "git@finchie.dev";
        signingkey = "8BE18E0A6A61A598B1AE4473C2B6ABE05B91EDDE";
      };

      init.defaultBranch = "main";
      commit.gpgSign = true;
      tag.forceSignAnnotated = true;
      diff.external = "difft";
    };
  };

  # Use qemu:///system (root) instead of qemu:///session (user)
  dconf.settings = {
    "org/virt-manager/virt-manager/connections" = {
      autoconnect = [ "qemu:///system" ];
      uris = [ "qemu:///system" ];
    };
  };

  services.gnome-keyring.enable = true;
}