{ config, pkgs, callPackage, ... }: { nixpkgs.overlays = let discordOverlay = self: super: { discord = super.discord.override { withOpenASAR = true; withVencord = true; }; }; in [ (import (builtins.fetchTarball { url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; })) discordOverlay]; home.username = "gsimmer"; home.homeDirectory = "/home/gsimmer"; nixpkgs.config.allowUnfree = true; programs.bash.enable = false; programs.fish = { enable = true; interactiveShellInit = '' set fish_greeting atuin init fish | source ''; plugins = [ { name = "z"; src = pkgs.fetchFromGitHub { owner = "jethrokuan"; repo = "z"; rev = "e0e1b9dfdba362f8ab1ae8c1afc7ccf62b89f7eb"; sha256 = "0dbnir6jbwjpjalz14snzd3cgdysgcs3raznsijd6savad3qhijc"; }; } ]; }; programs.direnv = { enable = true; nix-direnv.enable = true; }; services.lorri.enable = true; programs.git = { enable = true; userName = "Gabriel Simmer"; userEmail = "g@gmem.ca"; extraConfig = { gpg = { format = "ssh"; }; user = { signingkey = "/home/gsimmer/.ssh/id_ed25519-yk.pub"; }; tag = { gpgSign = true; }; commit = { gpgSign = true; }; }; }; programs.emacs = { enable = true; package = pkgs.emacs-unstable-pgtk; extraPackages = epkgs: [ epkgs.vterm ]; }; programs.exa = { enable = true; enableAliases = true; }; programs.bat = { enable = true; }; home.packages = with pkgs; [ bitwarden-cli mullvad-vpn transmission-qt vlc obs-studio python3 thunderbird prismlauncher ripgrep kitty cider virt-manager jre8 parsec-bin nodejs telegram-desktop atuin age-plugin-yubikey rage discord ]; # This value determines the Home Manager release that your # configuration is compatible with. This helps avoid breakage # when a new Home Manager release introduces backwards # incompatible changes. # # You can update Home Manager without changing this value. See # the Home Manager release notes for a list of state version # changes in each release. home.stateVersion = "23.05"; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }