Nix-Config/users/tsv/home.nix

155 lines
3.5 KiB
Nix

{ config, pkgs, ... }:
{
home.username = "tsv";
home.homeDirectory = "/home/tsv";
home.stateVersion = "22.11";
programs.home-manager.enable = true;
nixpkgs.config.allowUnfree = true;
home.sessionVariables = {
EDITOR = "nvim";
MOZ_ENABLE_WAYLAND = 1;
};
home.packages = with pkgs; [
_1password-gui
aaxtomp3
aerc
anki
audible-cli
awscli2
awsebcli
bitwarden
bitwarden-cli
cachix
calibre
chromium
delta # Nice diffing pager for Git
docker-compose
dunst
feh
firefox
fzf
gcc
git-crypt
gitflow
gnumake
gnupg
gimp
grimblast
heroku
htop
hyprland-protocols
hyprland-share-picker
xdg-desktop-portal-hyprland
hyprpaper
imagemagick
kde-gruvbox
kitty
kitty-themes
libreoffice
lshw
microsoft-edge
nerdfonts
pandoc
(pass.withExtensions (exts: [
exts.pass-import
exts.pass-otp
]))
pavucontrol
polkit-kde-agent
pspg
quodlibet
qutebrowser
ripgrep
ruby_3_1
rubyPackages_3_1.dip
rubyPackages_3_1.solargraph
rofi-wayland
slack
spotify
termpdfpy
thunderbird
timg
toot
unzip
w3m
waybar
wev
wine
winetricks
wireplumber
wl-clipboard
wlr-randr
zoom-us
];
programs.tmux = {
enable = true;
plugins = with pkgs.tmuxPlugins; [
gruvbox
];
};
programs.neovim = {
enable = true;
plugins = with pkgs.vimPlugins; [
cmp-nvim-lsp
cmp-path
cmp-treesitter
cmp-vsnip
codeium-nvim
friendly-snippets # Collection of predefined snippets
fugitive-gitlab-vim
git-messenger-vim
gruvbox-nvim
hologram-nvim # For images inside kitty
nvim-cmp
nvim-dap
nvim-dap-ui
nvim-lspconfig
nvim-treesitter.withAllGrammars
nvim-tree-lua
nvim-web-devicons
plenary-nvim
telescope-nvim
vim-fugitive
vim-rhubarb # GitHub support for fugitive
vim-vsnip
vim-vsnip-integ
vim-wordmotion
vimwiki
];
};
home.file.".bash_profile".source = ./bash_profile;
home.file.".bashrc".source = ./bashrc;
home.file.".tmux.conf".source = ./tmux.conf;
home.file.".psqlrc".source = ./psqlrc;
home.file.".w3m/config".source = ./w3m/config;
home.file.".gnupg/gpg-agent.conf".source = ./gnupg/gpg-agent.conf;
xdg.configFile."git/config".source = ./git/config;
xdg.configFile."git/config_foxsoft".source = ./git/config_foxsoft;
xdg.configFile."nvim/init.lua".source = ./nvim/init.lua;
xdg.configFile."nvim/lua/tsv/remap.lua".source = ./nvim/lua/tsv/remap.lua;
xdg.configFile."kitty/kitty.conf".source = ./kitty/kitty.conf;
xdg.configFile."kitty/gruvbox_dark_soft.conf".source = ./kitty/gruvbox_dark_soft.conf;
xdg.configFile."aerc/aerc.conf".source = ./aerc/aerc.conf;
xdg.configFile."aerc/accounts.conf".source = ./aerc/accounts.conf;
xdg.configFile."hypr/hyprland.conf".source = ./hyprland/hyprland.conf;
xdg.configFile."hypr/hyprpaper.conf".source = ./hyprland/hyprpaper.conf;
xdg.configFile."waybar/config".source = ./waybar/config;
xdg.configFile."waybar/style.css".source = ./waybar/style.css;
xdg.configFile."rofi/config.rasi".source = ./rofi/config.rasi;
home.file.".ssh/config".source = ./ssh/config;
home.file.".LESS_TERMCAP".source = ./LESS_TERMCAP;
services.syncthing.enable = true;
services.syncthing.tray = {
enable = true;
};
}