71 lines
1.8 KiB
Nix
71 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"
|
|
"/home/nora/.nix-profile/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" ];
|
|
};
|
|
}
|