Files
dotfiles/home.nix

118 lines
3.5 KiB
Nix

{ 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" ];
};
};
}