NixOS 24.5 安装 Home Manager
1. 修改文件 flake.nix
sudo vim /etc/nixos/flake.nix
添加 home manager 配置
{
description = "A simple NixOS flake";
inputs = {
# NixOS 官方软件源,这里使用 nixos-24.05 分支
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
home-manager = {
url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs@{ nixpkgs, home-manager, ... }: {
# 因此请将下面的 my-nixos 替换成你的主机名称
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# 这里导入之前我们使用的 configuration.nix,
# 这样旧的配置文件仍然能生效
./configuration.nix
# 将 home-manager 配置为 nixos 的一个 module
# 这样在 nixos-rebuild switch 时,home-manager 配置也会被自动部署
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
# 这里的 ryan 也得替换成你的用户名
# 这里的 import 函数在前面 Nix 语法中介绍过了,不再赘述
home-manager.users.demodeom = import ./home.nix;
# 使用 home-manager.extraSpecialArgs 自定义传递给 ./home.nix 的参数
# 取消注释下面这一行,就可以在 home.nix 中使用 flake 的所有 inputs 参数了
# home-manager.extraSpecialArgs = inputs;
}
];
};
};
}
2. 创建 home manager 配置文件
sudo vim /etc/nixos/home.nix
文件内容如下
{ config, pkgs, ... }:
{
home.username = "demodeom";
home.homeDirectory = "/home/demodeom";
# 设置鼠标指针大小以及字体 DPI(适用于 4K 显示器)
xresources.properties = {
"Xcursor.size" = 16;
"Xft.dpi" = 172;
};
# 通过 home.packages 安装一些常用的软件
# 这些软件将仅在当前用户下可用,不会影响系统级别的配置
# 建议将所有 GUI 软件,以及与 OS 关系不大的 CLI 软件,都通过 home.packages 安装
home.packages = with pkgs;[
];
home.stateVersion = "24.05";
programs.home-manager.enable = true;
}
3. 重新构建
使用 上海交通大学镜像可以加快构建速度
sudo nixos-rebuild switch --option substituters https://mirror.sjtu.edu.cn/nix-channels/store