149 lines
3.5 KiB
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;
|
|
};
|
|
}
|