{ pkgs, ... }: { home.username = "mrflos"; home.homeDirectory = "/home/mrflos"; home.packages = with pkgs; [ ansible atuin bat btop bruno bruno-cli cargo catnip cmatrix coreutils curl dnsutils emacs-nox fd findutils fzf gnugrep gnumake gnupg imagemagick jq git glances htop lazygit lsd magic-wormhole mc micro mosh mpc-cli mpd mpv neofetch nixd neovim ollama pandoc pass pciutils pinentry-all ripgrep rustc slides starship syncthing tmux tokei tree unzip usbutils wget whois wl-clipboard wirelesstools yazi yt-dlp zellij zoxide zsh-autosuggestions # dev tools dart-sass dbeaver-bin docker-compose eris-go gcc go nixfmt-rfc-style lua lua-language-server luarocks nixpkgs-fmt nixos-generators nodejs nodePackages.eslint nodePackages.prettier php83 php83Packages.composer php83Packages.php-cs-fixer python3 python311Packages.virtualenv rpi-imager ruff-lsp stylelint symfony-cli tree-sitter virt-manager yarn zig # image optimizers image_optim nodePackages.svgo jpegoptim optipng pngquant gifsicle libwebp # fonts inter-nerdfont nerd-fonts.iosevka nerd-fonts.iosevka-term ]; fonts.fontconfig.enable = true; home.file = { "./.config/kitty/" = { source = ../../dotfiles/kitty; recursive = true; }; "./.config/nvim/" = { source = ../../dotfiles/nvim; recursive = true; }; "./.config/lazygit/" = { source = ../../dotfiles/lazygit; recursive = true; }; "./.config/tmux/" = { source = ../../dotfiles/tmux; recursive = true; }; }; home.sessionVariables = { EDITOR = "nvim"; }; home.sessionPath = [ "$HOME/.local/bin" "$HOME/go/bin" ]; accounts.email.accounts = { "mrflos@chmok.net" = { realName = "Florian Schmitt"; userName = "mrflos@chmok.net"; address = "mrflos@chmok.net"; primary = true; thunderbird = { enable = true; profiles = [ "mrflos" ]; }; imap = { host = "mail.infomaniak.com"; port = 993; }; smtp = { host = "mail.infomaniak.com"; port = 465; }; }; "mrflos@yeswiki.pro" = { realName = "Florian Schmitt - Yeswiki.pro"; userName = "mrflos@yeswiki.pro"; address = "mrflos@yeswiki.pro"; thunderbird = { enable = true; profiles = [ "mrflos" ]; }; imap = { host = "mail.infomaniak.com"; port = 993; }; smtp = { host = "mail.infomaniak.com"; port = 465; }; }; "mrflos@mrflos.pw" = { realName = "Florian Schmitt"; userName = "mrflos"; address = "mrflos@mrflos.pw"; primary = false; thunderbird = { enable = true; profiles = [ "mrflos" ]; }; imap = { host = "mrflos.pw"; port = 993; #tls.enable = true; #tls.useStartTls = true; }; smtp = { host = "mrflos.pw"; port = 587; #tls.useStartTls = true; }; }; "contact@yeswiki.pro" = { realName = "YesWiki.pro"; userName = "contact@yeswiki.pro"; address = "contact@yeswiki.pro"; primary = false; thunderbird = { enable = true; profiles = [ "mrflos" ]; }; imap = { host = "mail.infomaniak.com"; port = 993; }; smtp = { host = "mail.infomaniak.com"; port = 465; }; }; "contact@yeswiki.net" = { realName = "YesWiki.net"; userName = "contact@yeswiki.net"; address = "contact@yeswiki.net"; primary = false; thunderbird = { enable = true; profiles = [ "mrflos" ]; }; imap = { host = "mail.infomaniak.com"; port = 993; }; smtp = { host = "mail.infomaniak.com"; port = 465; }; }; }; programs = { direnv = { enable = true; enableZshIntegration = true; nix-direnv.enable = true; }; git = { enable = true; userName = "Florian Schmitt"; userEmail = "mrflos@gmail.com"; aliases = { fa = "fetch --all --tags --prune --recurse-submodules --force"; }; extraConfig = { pull.rebase = true; init.defaultBranch = "main"; core.editor = "nvim"; core.fileMode = false; }; }; neovim = { defaultEditor = true; viAlias = true; vimAlias = true; }; starship = { enable = true; settings = with builtins; fromTOML (readFile ../../dotfiles/starship/starship.toml); }; thunderbird = { enable = true; profiles = { mrflos = { isDefault = true; # name = "Florian Schmitt"; }; }; }; zsh = { enable = true; autosuggestion.enable = true; enableCompletion = true; shellAliases = { #tmux = "tmux -f ~/.config/tmux/tmux.conf attach || tmux -f ~/.config/tmux/tmux.conf new"; bunx = "bun --bun x"; c = "/home/mrflos/Code/nixos-config/scripts/tmux-sessionizer"; g = "lazygit"; n = "/home/mrflos/Code/nixos-config/scripts/open-notes"; s = "/home/mrflos/Code/nixos-config/scripts/ssh-connect"; t = "/home/mrflos/Code/nixos-config/scripts/tmux-sessionizer"; kdenix = "nix run github:pjones/plasma-manager --extra-experimental-features nix-command --extra-experimental-features flakes > /home/mrflos/Developpements/nixos-config/modules/home-plasma.nix"; icat = "kitty +kitten icat"; nixedit = "cd $HOME/Code/nixos-config/ && $HOME/.nix-profile/bin/nvim ."; nixupdate = "nix-channel --update && home-manager switch -b backup"; nixclean = "sudo nix-env --delete-generations old --profile /nix/var/nix/profiles/system && sudo /nix/var/nix/profiles/system/bin/switch-to-configuration switch && sudo nix-store --gc"; socks = "ssh -N -f -C -D 9090 mrflos@yunohost.yeswiki.net -p 6742"; vi = "$HOME/.nix-profile/bin/nvim"; vim = "$HOME/.nix-profile/bin/nvim"; yeswiki-updater = "cd /home/mrflos/Code/yeswiki-installer/ && sudo php yeswiki-updater.php"; }; initExtra = '' export BUN_INSTALL="$HOME/.bun" export PHP_CS_FIXER_IGNORE_ENV=1 export PATH="$HOME/.local/bin:$BUN_INSTALL/bin:$PATH" eval "$(atuin init zsh)" eval "$(zoxide init zsh)" ''; oh-my-zsh = { enable = true; extraConfig = '' zstyle :omz:plugins:ssh-agent helper ksshaskpass zstyle :omz:plugins:ssh-agent agent-forwarding yes zstyle :omz:plugins:ssh-agent lazy yes ''; plugins = [ "git" "ssh-agent" ]; # theme = "robbyrussell"; }; }; }; services.ssh-agent.enable = true; home.stateVersion = "24.11"; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }