19 stdenvNoCC.mkDerivation (finalAttrs: {
20 pname = "home-manager";
21 version = "0-unstable-2024-09-26";
23 src = fetchFromGitHub {
24 name = "home-manager-source";
25 owner = "nix-community";
26 repo = "home-manager";
27 rev = "ffe2d07e771580a005e675108212597e5b367d2d";
28 hash = "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=";
42 install -D -m755 home-manager/home-manager $out/bin/home-manager
43 install -D -m755 lib/bash/home-manager.sh $out/share/bash/home-manager.sh
45 installShellCompletion --cmd home-manager \
46 --bash home-manager/completion.bash \
47 --fish home-manager/completion.fish \
48 --zsh home-manager/completion.zsh
50 for pofile in home-manager/po/*.po; do
51 lang="''${pofile##*/}"
53 mkdir -p "$out/share/locale/$lang/LC_MESSAGES"
54 msgfmt -o "$out/share/locale/$lang/LC_MESSAGES/home-manager.mo" "$pofile"
61 substituteInPlace $out/bin/home-manager \
62 --subst-var-by bash "${bash}" \
63 --subst-var-by DEP_PATH "${
73 inetutils # for `hostname`
76 --subst-var-by HOME_MANAGER_LIB "$out/share/bash/home-manager.sh" \
77 --subst-var-by HOME_MANAGER_PATH "${finalAttrs.src}" \
78 --subst-var-by OUT "$out"
81 passthru.updateScript = unstableGitUpdater {
82 url = "https://github.com/nix-community/home-manager/";
86 homepage = "https://nix-community.github.io/home-manager/";
87 description = "Nix-based user environment configurator";
89 The Home-Manager project provides a basic system for managing a user
90 environment using the Nix package manager together with the Nix libraries
91 found in Nixpkgs. It allows declarative configuration of user specific
92 (non global) packages and dotfiles.
94 license = lib.licenses.mit;
95 mainProgram = "home-manager";
96 maintainers = with lib.maintainers; [ AndersonTorres bryango ];
97 platforms = lib.platforms.unix;