nixpkgs/home.nix
Daniel Siepmann 2823c2f0f9
Maintain more global options via home-manager
Use home-manager to create xsession.
Readme contains info on how to start xsession on login.

That way home-manager can maintain languages, keyboard and further stuff
globally for user.

No more need to set stuff as workaround within i3 or zsh.
Also enabled to start systemd units after login, as home-manager will
create and trigger `hm-graphical-session.target`.
2022-05-20 12:47:01 +02:00

107 lines
2.4 KiB
Nix

{ config, pkgs, ... }:
{
imports = [
./home/modules/programs/cmus.nix
./home/modules/programs/languagetool.nix
./home/modules/programs/mailhog.nix
];
home = {
# Home Manager needs a bit of information about you and the
# paths it should manage.
username = "daniels";
homeDirectory = "/home/daniels";
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
stateVersion = "22.05";
packages = import ./home/packages.nix {
inherit pkgs;
};
file = import ./home/files.nix { };
} // import ./home/home.nix {
inherit pkgs;
};
nix = import ./home/programs/nix.nix {
inherit pkgs;
};
programs = {
# Let Home Manager install and manage itself.
home-manager.enable = true;
neovim = import ./home/programs/neovim.nix {
inherit pkgs;
};
git = import ./home/programs/git.nix {
inherit pkgs;
};
htop = import ./home/programs/htop.nix {
inherit config;
};
tmux = import ./home/programs/tmux.nix {
inherit pkgs;
};
jq = import ./home/programs/jq.nix {
inherit config;
};
zsh = import ./home/programs/zsh.nix {
inherit config pkgs;
};
firefox = import ./home/programs/firefox.nix {
inherit pkgs;
};
# Media
cmus.enable = true;
};
xsession = import ./home/xsession.nix {
inherit config pkgs;
};
xdg = import ./home/xdg.nix {
inherit pkgs;
};
services = {
dunst = import ./home/services/dunst.nix;
mailhog.enable = true;
languagetool.enable = true;
nextcloud-client.enable = true;
};
systemd = {
# Temporary fix to OpenGL issue by using GLX.
# Start nextcloud without GLX support which is fine for me for noe.
# I don't have a better way for now, then using `pkgs.lib.mkForce` and setting whole value (repeating from modules/services/nextcloud-client.nix).
user.services.nextcloud-client.Service.Environment = pkgs.lib.mkForce [
"PATH=${config.home.profileDirectory}/bin"
"QT_XCB_GL_INTEGRATION=none"
];
user.services.batteryicon = import ./home/services/batteryicon.nix {
inherit pkgs;
};
};
}