{ 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 ./direnv.nix ./syncthing.nix ./fzf.nix ./zellij.nix ./jj.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" ]; xdg.mime.enable = false; # 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" ]; }; }