nixos-config/homes/emenel/default.nix

149 lines
3.5 KiB
Nix

{ nix-config, config, lib, pkgs, inputs, ... }:
{
imports = with nix-config.homeModules; [
# mako
mpv
yazi
hyprlock
hypridle
shell-conf # shell, shell utils, cli tools, libs, tui's
email
gnome
niri
waybar
desktop
music
langs
emacs
swaync
shikane
];
home = {
packages = lib.mkMerge [
[
inputs.affinity-nix.packages.x86_64-linux.photo
inputs.affinity-nix.packages.x86_64-linux.publisher
inputs.affinity-nix.packages.x86_64-linux.designer
]
(with pkgs; [
samba4Full
dconf
xorg.libX11
xorg.libxcb
freetype
alsa-utils
alsa-oss
dbus
cifs-utils
sops
ispell
(aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ]))
texlive.combined.scheme-full
spice
spice-gtk
spice-protocol
virt-viewer
virt-manager
])
];
username = "emenel";
homeDirectory = "/home/emenel";
sessionPath = [ "/home/emenel/.config/emacs/bin"
"/home/emenel/.npm-packages/bin"
"/home/emenel/Applications"
"/home/emenel/.local/bin"
"/home/emenel/.local/share"
"/home/emenel/.nix-profile/lib"
"/etc/profiles/per-user/emenel/bin/"
"/home/emenel/.local/state/nix/profiles/home-manager/home-path/bin/" ];
sessionVariables = {
WINEFSYNC = 1;
PKG_CONFIG_PATH = "/home/emenel/.nix-profile/lib/pkgconfig:/home/emenel/.nix-profile/lib64/pkgconfig:/home/emenal/.nix-profile/share/pkgconfig";
GI_TYPELIB_PATH = "/run/current-system/sw/lib/girepository-1.0";
BW_CLIENTID = "$(cat ${config.sops.defaultSymlinkPath}/bw_client_id)";
BW_CLIENTSECRET = "$(cat ${config.sops.defaultSymlinkPath}/bw_api_key)";
NIXOS_OZONE_WL = "1";
GSK_RENDERER = "ngl";
MOZ_ENABLE_WAYLAND = 1;
};
stateVersion = "24.05";
};
sops = {
age.keyFile = "/home/emenel/.config/sops/age/keys.txt"; # must have no password!
defaultSopsFile = ./secrets.yaml;
secrets = {
bw_client_id = {
path = "${config.sops.defaultSymlinkPath}/bw_client_id";
};
bw_api_key = {
path = "${config.sops.defaultSymlinkPath}/bw_api_key";
};
ssh_key = {
path = "${config.sops.defaultSymlinkPath}/ssh_key";
};
borg_url = {
path = "${config.sops.defaultSymlinkPath}/borg_url";
};
};
};
programs = {
home-manager.enable = true;
pandoc.enable = true;
password-store.enable = true;
};
services = {
playerctld = {
enable = true;
package = pkgs.playerctl;
};
borgmatic = {
enable = true;
};
gpg-agent = {
enable = true;
};
};
xdg.systemDirs.data = [
"/home/emenel/.local/share/applications/wine/Programs"
"/home/emenel/.local/share/applications"
"/var/lib/flatpak/exports/share"
];
systemd.user = {
enable = true;
startServices = "sd-switch"; # auto reload services when home is rebuilt
sessionVariables = {
GSK_RENDERER = "ngl";
MOZ_ENABLE_WAYLAND = 1;
XCURSOR_SIZE = 32;
XCURSOR_THEME = "Bibata-Modern-Classic";
DISPLAY = ":0";
};
};
# moving files!
xdg.configFile."git".source = ./dotfiles/dot_config/git;
home.file.".signature".source = ./dotfiles/dot_signature;
home.file.".local/bin" = {
source = ./dotfiles/dot_local/bin;
recursive = true;
};
}