{ lib, self, pkgs, config, ... }: { config = { pim = { tidal.enable = true; gnome.enable = true; vscode.enable = true; syncthing.enable = true; firefox.enable = true; }; programs = { chromium.enable = true; git.extraConfig.core.editor = lib.getExe config.programs.nvf.finalPackage; nvf = { enable = true; settings = { vim = { viAlias = true; vimAlias = true; telescope.enable = true; autopairs.nvim-autopairs.enable = true; autocomplete.nvim-cmp.enable = true; snippets.luasnip.enable = true; filetree.neo-tree.enable = true; tabline.nvimBufferline.enable = true; treesitter.context.enable = true; minimap.codewindow.enable = false; dashboard.alpha.enable = true; notify.nvim-notify.enable = true; projects.project-nvim.enable = true; comments.comment-nvim.enable = true; lsp = { formatOnSave = true; lightbulb.enable = true; trouble.enable = true; lspSignature.enable = true; otter-nvim.enable = true; lsplines.enable = true; }; languages = { enableLSP = true; enableFormat = true; enableTreesitter = true; enableExtraDiagnostics = true; nix.enable = true; markdown.enable = true; bash.enable = true; clang.enable = true; css.enable = true; html.enable = true; sql.enable = true; go.enable = true; python.enable = true; rust = { enable = true; crates.enable = true; }; }; visuals = { nvim-scrollbar.enable = true; nvim-web-devicons.enable = true; nvim-cursorline.enable = true; cinnamon-nvim.enable = true; fidget-nvim.enable = true; highlight-undo.enable = true; indent-blankline.enable = true; cellular-automaton.enable = true; }; statusline.lualine = { enable = true; theme = "gruvbox"; }; theme = { enable = true; name = "gruvbox"; style = "dark"; transparent = false; }; binds = { whichKey.enable = true; cheatsheet.enable = true; }; git = { enable = true; gitsigns.enable = true; }; utility = { surround.enable = true; diffview-nvim.enable = true; motion = { hop.enable = true; leap.enable = true; }; }; terminal.toggleterm = { enable = true; lazygit.enable = true; }; ui = { borders.enable = true; noice.enable = true; colorizer.enable = true; illuminate.enable = true; smartcolumn.enable = true; fastaction.enable = true; }; }; }; }; }; home = { username = "pim"; homeDirectory = "/home/pim"; stateVersion = "23.05"; sessionVariables = { MANPAGER = "${lib.getExe config.programs.nvf.finalPackage} +Man!"; EDITOR = lib.getExe config.programs.nvf.finalPackage; }; }; sops = { defaultSopsFile = "${self}/secrets/sue/pim.yaml"; age.keyFile = "${config.xdg.configHome}/sops/age/keys.txt"; secrets."keepassxc".path = "${config.xdg.configHome}/keepassxc/keepassxc.ini"; }; home.packages = (with pkgs; [ jellyfin-media-player virt-manager bottles-unwrapped feishin ]) ++ (with pkgs.unstable; [ attic-client dbeaver-bin devenv gimp hexchat impression insomnia keepassxc krita libreoffice # logseq # Has insecure electron dependency moonlight-qt nicotine-plus qFlipper signal-desktop strawberry telegram-desktop vlc vorta wireshark # nheko # Has insecure olm dependency handbrake redfishtool ]); }; }