nixhome/timberhearth.nix

70 lines
1.8 KiB
Nix

{ config, pkgs, lib, ... }:
let inherit (lib) hm;
in
{
imports = [
./vim.nix
./git.nix
./zsh.nix
./atuin.nix
./starship.nix
./ssh.nix
./eza.nix
./jq.nix
./tmux.nix
./direnv.nix
./syncthing.nix
./fzf.nix
./packages-min.nix
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
xdg.systemDirs.data = [
"/var/lib/flatpak/exports/share"
"/home/nora/.local/share/flatpak/exports/share"
];
# env vars
home.sessionVariables = {};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# Basic information
home.username = "nora";
home.homeDirectory = "/home/nora";
home.stateVersion = "23.11";
# Because we're on Debian
targets.genericLinux.enable = true;
# Because we're on KDE; this refreshes the icon cache and .desktop file cache
home.activation.updateKdeIconCache = hm.dag.entryAfter [ "installPackages" ] ''
run /usr/bin/kbuildsycoca5 --noincremental
run /bin/sudo /bin/apt install --reinstall -y konsole
'';
# Because I want Firefox
nixpkgs.config.allowUnfree = true;
# Because I have to use flakes, barf
nix = {
package = pkgs.nix;
settings.experimental-features = [ "nix-command" "flakes" ];
};
}