Nix-Configs/home.nix

110 lines
2.5 KiB
Nix
Raw Normal View History

2022-12-18 15:15:15 +00:00
{pkgs, ...}: {
home.sessionVariables = {
NNN_FIFO = "/tmp/nnn.fifo";
LANG = "en_US.UTF-8";
EDITOR = "nvim";
MOZ_ENABLE_WAYLAND = "1";
};
home.keyboard.layout = "us";
home.keyboard.variant = "3l";
home.packages = with pkgs; [
restic
ripgrep
libqalculate
clapper
git-annex
git-annex-remote-rclone
qrencode
gnomeExtensions.blur-my-shell
gnomeExtensions.burn-my-windows
gnomeExtensions.pop-shell
gnomeExtensions.firefox-pip-always-on-top
];
editorconfig = {
enable = true;
settings."*" = {
indent_style = "tab";
indent_size = 4;
end_of_line = "lf";
charset = "utf-8";
max_line_length = 90;
trim_trailing_whitespace = true;
insert_final_newline = false;
};
settings."{*.{md,gmi,adoc},COMMIT_EDITMSG}" = {
max_line_length = 0;
};
settings."*.{elm,lisp,yml,purs}" = {
indent_style = "space";
indent_size = 2;
};
settings."*.{wat,nix}" = {
indent_size = 2;
};
settings."*.asm" = {
indent_style = "tab";
indent_size = "tab";
max_line_length = 80;
};
};
programs.git = {
enable = true;
lfs.enable = true;
signing.key = "ACABBABE77B76F6301F4ACF97A0F4799BF91C8C1";
signing.signByDefault = true;
userName = "Emi Simpson";
userEmail = "emi@alchemi.dev";
extraConfig = {
init.defaultbranch = "main";
diff.algorithm = "patience";
core.compression = 9;
core.editor = "nvim";
pull.rebase = false;
};
};
programs.kitty = import programs/kitty.nix pkgs;
programs.password-store = {
enable = true;
package = pkgs.pass.withExtensions (exts: [ exts.pass-otp ]);
};
programs.fish = import programs/fish.nix pkgs;
programs.firefox = import programs/firefox.nix pkgs;
programs.nnn = {
enable = true;
plugins.mappings = {
p = "preview-tui";
};
plugins.src = (pkgs.fetchFromGitHub {
owner = "jarun";
repo = "nnn";
rev = "0c23406";
sha256 = "sha256-Hpc8YaJeAzJoEi7aJ6DntH2VLkoR6ToP6tPYn3llR7k=";
}) + "/plugins";
extraPackages = with pkgs; [
tree
file
unzip
bat
ffmpeg
ffmpegthumbnailer
poppler_utils
glow
w3m
];
};
programs.neovim = import programs/neovim.nix pkgs;
programs.gpg.enable = true;
programs.jq.enable = true;
services.gpg-agent = {
enable = true;
maxCacheTtl = 180; # Seconds
pinentryFlavor = "gnome3";
};
# Package broken as of 2022-12-14
# services.etesync-dav.enable = true;
services.syncthing.enable = true;
dconf.settings = import ./dconf.nix;
home.stateVersion = "22.11";
targets.genericLinux.enable = true;
}