dotfiles/home-manager/london.nix

120 lines
2.6 KiB
Nix
Raw Normal View History

{ config, pkgs, callPackage, ... }:
{
nixpkgs.overlays = [
(self: super:
let
# Overlay function
emacs-overlay =
import (builtins.fetchTarball {
url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
});
#
# Extract version pointing to master branch
emacsGit = (emacs-overlay self super).emacsGit;
#
# Override source attribute
emacs-custom-base = emacsGit.overrideAttrs ( old: {
src = pkgs.fetchFromSavannah {
repo = "emacs";
rev = "89ac5ba11c773764f418c92ab47a237287a0d233";
sha256 = "19qjj0aw7w0rz29jpa1x48jmv3mh1p1aky82y040xmk6axg8blnl";
};
});
in
{
emacs-custom = emacs-custom-base;
}
)
];
home.username = "gsimmer";
home.homeDirectory = "/home/gsimmer";
nixpkgs.config.allowUnfree = true;
programs.bash.enable = false;
programs.fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting
'';
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 = "gsimmer@protonmail.com";
signing = {
key = "C81B106D46C5B875";
signByDefault = true;
};
};
programs.emacs = {
enable = true;
package = pkgs.emacs-custom;
extraPackages = epkgs: [
epkgs.vterm
];
};
programs.exa = {
enable = true;
enableAliases = true;
};
programs.bat = {
enable = true;
};
home.packages = with pkgs; [
discord
spotify
bitwarden-cli
mullvad-vpn
transmission-qt
vlc
obs-studio
python3
lmms
prismlauncher
ripgrep
kitty
cider
virt-manager
jre8
];
# 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;
}