Daniel Siepmann
2823c2f0f9
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`.
107 lines
2.4 KiB
Nix
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;
|
|
};
|
|
|
|
};
|
|
|
|
}
|