# Inject the right home-manager config for the machine. { config, pkgs, lib, ... }: let treesitterWithGrammars = (pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.bash p.comment p.css p.dockerfile p.fish p.gitattributes p.gitignore p.go p.gomod p.gowork p.hcl p.php p.javascript p.jq p.json5 p.json p.lua p.make p.markdown p.nix p.python p.rust p.toml p.typescript p.vue p.yaml ])); in { # TODO can we automate the installation of home-manager ? # sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager imports = []; # Let Home Manager install and manage itself. #programs.home-manager.enable = true; home-manager.users.mrflos = { pkgs, ... }: { home.stateVersion = "23.05"; home.packages = with pkgs; [ gcc cmake ripgrep fd lua-language-server rust-analyzer-unwrapped php83Packages.composer nodejs_20 yarn ]; programs.neovim = { enable = true; viAlias = true; vimAlias = true; coc.enable = false; plugins = [ treesitterWithGrammars ]; }; home.file."./.config/nvim/" = { source = ../configs/nvim; recursive = true; }; # Treesitter is configured as a locally developed module in lazy.nvim # we hardcode a symlink here so that we can refer to it in our lazy config home.file."./.local/share/nvim/nix/nvim-treesitter/" = { recursive = true; source = treesitterWithGrammars; }; accounts.email.accounts = { "mrflos@chmok.net" = { realName = "Florian Schmitt"; userName = "mrflos@chmok.net"; address = "mrflos@chmok.net"; primary = true; thunderbird = { enable = true; }; 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; }; 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; }; 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; }; imap = { host = "mail.infomaniak.com"; port = 993; }; smtp = { host = "mail.infomaniak.com"; port = 465; }; }; }; programs.git = { enable = true; userName = "Florian Schmitt"; userEmail = "mrflos@gmail.com"; extraConfig = { pull.rebase = true; init.defaultBranch = "main"; core.fileMode = false; }; }; programs.thunderbird = { enable = true; profiles.default = { isDefault = true; }; }; # gtk = { # enable = true; # iconTheme = { # name = "Papirus-Dark"; # package = pkgs.papirus-icon-theme; # }; # theme = { # name = "dracula"; # package = pkgs.dracula-theme; # }; # cursorTheme = { # name = "Numix-Cursor"; # package = pkgs.numix-cursor-theme; # }; # gtk3.extraConfig = { # Settings = '' # gtk-application-prefer-dark-theme=1 # ''; # }; # gtk4.extraConfig = { # Settings = '' # gtk-application-prefer-dark-theme=1 # ''; # }; # }; # dconf.settings = { # "org/gnome/shell" = { # disable-user-extensions = false; # favorite-apps = [ # "firefox.desktop" # "thunderbird.desktop" # "org.gnome.Nautilus.desktop" # "kitty.desktop" # "element.desktop" # "mattermost.desktop" # "codium.desktop" # "virt-manager.desktop" # ]; # }; # "org/gnome/desktop/interface" = { # color-scheme = "prefer-dark"; # enable-hot-corners = false; # }; # "org/gnome/desktop/wm/preferences" = { # workspace-names = [ "Principal" ]; # }; # "org/gnome/desktop/background" = { # picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png"; # picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; # }; # "org/gnome/desktop/screensaver" = { # picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; # primary-color = "#3465a4"; # secondary-color = "#000000"; # }; # }; # home.packages = with pkgs; [ # gnomeExtensions.user-themes # gnomeExtensions.tray-icons-reloaded # gnomeExtensions.vitals # gnomeExtensions.dash-to-panel # gnomeExtensions.sound-output-device-chooser # gnomeExtensions.space-bar # ]; # home.sessionVariables.GTK_THEME = "dracula"; }; users.users.mrflos = { isNormalUser = true; description = "mrflos"; createHome = true; extraGroups = [ "docker" "libvirtd" "lxd" "networkmanager" "wheel" ]; uid = 1000; shell = pkgs.zsh; }; nix.settings.trusted-users = [ "mrflos" ]; home-manager.useGlobalPkgs = true; }