{ pkgs, ... }: { home.stateVersion = "22.05"; # Temporary overlays for patches nixpkgs.overlays = [ # TODO: supprimer cet overlay quand la PR nixpkgs #553674 aura landed # et sera arrivée dans le canal, puis `make update`. # # Le koffi.node livré précompilé par mattermost-desktop n'a pas de RPATH : # sans libstdc++ dans LD_LIBRARY_PATH l'app refuse de démarrer. # Régression introduite par le bump 6.2.2 -> 6.3.0. # # Bump fautif : https://github.com/NixOS/nixpkgs/pull/552245 # Signalement : https://github.com/NixOS/nixpkgs/pull/552245#issuecomment-5313115848 # Correctif : https://github.com/NixOS/nixpkgs/pull/553674 (final: prev: { mattermost-desktop = prev.symlinkJoin { inherit (prev.mattermost-desktop) name meta; paths = [ prev.mattermost-desktop ]; nativeBuildInputs = [ prev.makeWrapper ]; postBuild = '' wrapProgram $out/bin/mattermost-desktop \ --prefix LD_LIBRARY_PATH : ${prev.lib.makeLibraryPath [ prev.stdenv.cc.cc.lib ]} rm $out/share/applications/Mattermost.desktop substitute \ ${prev.mattermost-desktop}/share/applications/Mattermost.desktop \ $out/share/applications/Mattermost.desktop \ --replace-fail ${prev.mattermost-desktop}/bin $out/bin ''; }; }) ]; home.file.".docker/cli-plugins/docker-buildx".source = "${pkgs.docker-buildx}/libexec/docker/cli-plugins/docker-buildx"; home.file.".config/traefik/traefik.toml".source = ./files/traefik.toml; home.file.".npmrc".source = ./files/.npmrc; home.file."CLAUDE.md".source = ./files/CLAUDE.md; home.file.".local/bin/stt-dictate" = { source = ./files/stt-dictate.sh; executable = true; }; home.file.".local/bin/workspace-run" = { source = ./files/workspace-run.sh; executable = true; }; imports = [ ./packages.nix ./programs/git.nix ./programs/i3.nix ./programs/pi.nix ./programs/zsh.nix ]; programs.btop.enable = true; programs.vim.enable = true; programs.vscode = { enable = true; package = pkgs.vscode.fhs; profiles = { default = { extensions = [ ]; }; }; }; programs.rofi = { enable = true; plugins = [ pkgs.rofi-calc pkgs.rofi-emoji ]; terminal = "sakura"; }; programs.autorandr = { enable = true; hooks = { postswitch = { "notify-i3" = "${pkgs.i3}/bin/i3-msg restart"; }; }; }; # https://github.com/nix-community/nix-direnv/ programs.direnv = { enable = true; enableZshIntegration = true; nix-direnv.enable = true; }; programs.obs-studio = { enable = true; plugins = with pkgs.obs-studio-plugins; [ obs-backgroundremoval ]; }; services.unclutter.enable = true; # Pas de services.blueman-applet ici : services.blueman.enable dans configuration.nix # installe déjà le service système + l'active dans graphical-session.target.wants/. # Tout ajout home-manager génère un drop-in conflictuel (double ExecStart=). services.dunst.enable = true; # notification daemon services.udiskie.enable = true; # require "services.udisks2.enable = true" in system configuration # Workaround for Failed to restart syncthingtray.service: Unit tray.target not found. # - https://github.com/nix-community/home-manager/issues/2064 systemd.user.targets.tray = { Unit = { Description = "Home Manager System Tray"; Requires = [ "graphical-session-pre.target" ]; }; }; }