Hey!
I’m trying to set my Nixos with Flake and Home Manager. Please bear in mind that I am the first time user of Nixos and I’m still quite lost…
I am trying to install a fish shell plugin by using this homeManagerModule:
# homeManagerModules/fish.nix
{ config, pkgs, lib, ... }:
let inherit ( import ../options.nix) username userHome hostname; in
{
programs.fish = {
enable = true;
shellAliases = {
};
shellAbbrs = {
g = "git";
n = "nvim";
vim = "nvim";
};
plugins = [
{
name = "plugin-git";
src = pkgs.fishPlugins.plugin-git.src;
}
];
};
}
when I try to rebuild I get:
error: The option `programs.fish.plugins' does not exist. Definition values:
but according to the documentation this option should exist for both 23.11 and unstable
From what I gather, I am using 23.11:
# home.nix
{ inputs, config, pkgs, ... }:
{
home.username = "damian";
home.homeDirectory = "/home/damian";
home.stateVersion = "23.11";
home.packages = [];
home.file = {};
home.sessionVariable = { EDITOR = "nvim"; };
programs.home-manager.enable = true;
}
# configuration.nix
{ config, lib, pkgs, inputs, ... }:
{
imports =
[
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
# more stuff ...
system.stateVersion = "23.11";
}
# flake.nix
{
description = "nixos";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, ... }@inputs:
let system = "x86_64-linux";
inherit (import ./options.nix) username hostname;
in {
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs;
inherit system;
inherit username;
inherit hostname;
};
modules = [
./homeManagerModules
./configuration.nix
inputs.home-manager.nixosModules.default
];
};
};
}
I’m lost here, from what I understand so far, this option should really be available but it isn’t Additionally, that’s not the only problem with non-existing options I had. Yesterday I tried to setup a commit-signing in git managed via home-manager but I couldn’t due to programs.git.signing
option apparently not existing. But according to documentation, it should exist. I ended up giving up on git via home manager and rather configuring it via normal .gitconfig.
Also, my bootloader says that I’m currently on nixos 24.05. It changed between recent generations. Why this change happen? Due to flake using unstable channel? Does it influence home manager?
I would greatly appreciate any help.