Skip to content

Home Manager

Example content of a flake.nix file

flake.nix
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
# add ags
ags.url = "github:Aylur/ags";
};
outputs = { home-manager, nixpkgs, ... }@inputs:
let
system = "x86_64-linux";
in
{
homeConfigurations."${username}" = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs { inherit system; };
# pass inputs as specialArgs
extraSpecialArgs = { inherit inputs; };
# import your home.nix
modules = [ ./home-manager/home.nix ];
};
};
}

Example content of home.nix file

home.nix
{ inputs, pkgs, ... }:
{
# add the home manager module
imports = [ inputs.ags.homeManagerModules.default ];
programs.ags = {
enable = true;
# null or path, leave as null if you don't want hm to manage the config
configDir = ../ags;
# additional packages to add to gjs's runtime
extraPackages = with pkgs; [
gtksourceview
webkitgtk
accountsservice
];
};
}