{ pkgs, ... }@args: let nurpkgs = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") { inherit pkgs; }; in { home = { username = "pim"; homeDirectory = "/home/pim"; stateVersion = "23.05"; packages = with pkgs; [ keepassxc nil moonlight-qt cowsay ]; }; programs = { home-manager.enable = true; neovim = { enable = true; viAlias = true; vimAlias = true; vimdiffAlias = true; defaultEditor = true; plugins = with pkgs.vimPlugins; [ nvim-lspconfig gruvbox-nvim leap-nvim telescope-nvim vim-commentary ]; extraLuaConfig = builtins.readFile ./neovim.lua; }; alacritty = { enable = true; settings = (import ./alacritty.nix); }; firefox = { enable = true; profiles.default = { id = 0; isDefault = true; settings = { "browser.aboutConfig.showWarning" = false; }; extensions = import ./firefox-addons (args // {inherit nurpkgs; }); }; }; bash = { enable = true; shellAliases = { htop = "btop"; gp = "git push"; gco = "git checkout"; gd = "git diff"; gc = "git commit"; gpl = "git pull"; gb = "git branch"; ga = "git add"; gl = "git log"; gs = "git status"; }; }; direnv = { enable = true; enableBashIntegration = true; nix-direnv.enable = true; }; git = { enable = true; userName = "Pim Kunis"; userEmail = "pim@kunis.nl"; extraConfig.core.editor = "nvim"; }; }; # Let home-manager manage the X session xsession = { enable = true; }; # xdg.configFile."keepassxc/keepassxc.ini".text = pkgs.lib.generators.toINI {} (import ./keepassxc.nix); }