nix/common/home-manager.nix

191 lines
4.2 KiB
Nix

{ config, pkgs, ... }:
{
imports = [
<home-manager/nixos>
];
home-manager.users.sijmen = {
imports = [
./home-manager/home.nix
./home-manager/gtk.nix
];
nixpkgs.config.allowUnfree = true;
home.stateVersion = config.system.stateVersion;
programs = {
alacritty = {
enable = false;
settings = {
window.decorations = "none";
colors = {
primary = {
background = "0xfafafa";
foreground = "0x383a42";
};
normal = {
black = "0x383a42";
red = "0xe45649";
green = "0x50a14f";
yellow = "0xc18401";
blue = "0x0184bc";
magenta = "0xa626a4";
cyan = "0x0997b3";
white = "0xfafafa";
};
bright = {
black = "0x383a42";
red = "0xe45649";
green = "0x50a14f";
yellow = "0xc18401";
blue = "0x0184bc";
magenta = "0xa626a4";
cyan = "0x0997b3";
white = "0xfafafa";
};
};
};
};
git = {
enable = true;
lfs.enable = true;
package = pkgs.gitAndTools.gitFull;
userName = "Sijmen";
userEmail = "me@sijman.nl";
signing = {
signByDefault = true;
key = "0xDAF7821E067D9C48";
};
extraConfig = {
fetch.prune = true;
init.defaultBranch = "main";
pull.rebase = true;
push.autoSetupRemote = true;
safe.directory = [ "/etc/nixos" ];
};
};
firefox = {
enable = true;
package = pkgs.wrapFirefox pkgs.firefox-unwrapped { forceWayland = true; };
};
chromium.enable = true;
neovim = {
enable = true;
vimAlias = true;
extraConfig = ''
luafile /etc/nixos/common/nvim.lua
'';
extraPackages = with pkgs; [
gcc
rnix-lsp
nodePackages.pyright
];
plugins = with pkgs.vimPlugins; [
bufferline-nvim
cmp-nvim-lsp
cmp_luasnip
ctrlp-vim
galaxyline-nvim
indentLine
leap-nvim
lualine-nvim
luasnip
neorg
nvim-cmp
nvim-colorizer-lua
nvim-lspconfig
nvim-tree-lua
nvim-treesitter.withAllGrammars
nvim-web-devicons
onehalf
pears-nvim
plenary-nvim
vim-closetag
vim-nix
vim-startuptime
];
};
tmux = {
enable = true;
prefix = "C-a";
extraConfig = ''
set -g mouse on
set-option -g set-titles on
set-option -g set-titles-string "#W"
'';
};
alot.enable = true;
gpg.enable = true;
home-manager.enable = true;
mbsync.enable = true;
password-store.enable = true;
msmtp.enable = true;
bash = {
enable = true;
initExtra = ''
source ${pkgs.fetchurl { url = "https://raw.githubusercontent.com/rupa/z/v1.11/z.sh"; sha256 = "f24e0791ba10f6a8301461da3fc50333eee2e009a19e5d0e9f3661f0d0446767"; }}
'';
};
mpv = {
enable = true;
config = {
script-opts = "ytdl_hook-ytdl_path=${pkgs.yt-dlp}/bin/yt-dlp";
};
};
yt-dlp = {
enable = true;
settings = {
sponsorblock-mark = "sponsor,selfpromo,intro,outro,poi_highlight";
};
};
};
services.gpg-agent = {
enable = true;
pinentryFlavor = "qt";
};
accounts.email.accounts.Personal = {
primary = true;
address = "me@sijmenschoon.nl";
aliases = [ "me@sijman.nl" "me@vijf.life" "info@sijmenschoon.nl" ];
realName = "Sijmen Schoon";
userName = "me@sijmenschoon.nl";
passwordCommand = "pass show email/personal";
imap.host = "imap.soverin.net";
smtp.host = "smtp.soverin.net";
folders.inbox = "INBOX";
mbsync = {
enable = true;
create = "maildir";
};
msmtp.enable = true;
};
};
}