dotfiles/home-manager/london.nix

120 lines
2.4 KiB
Nix

{ 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;
}