{ config, pkgs, lib, ... }: let inherit (lib) hm; nixGL = import ./nixGL.nix { inherit pkgs config; }; in { imports = [ ./atuin.nix ./console.nix ./development.nix ./direnv.nix ./eza.nix ./fzf.nix ./git.nix ./go.nix ./hare.nix ./javascript.nix ./jj.nix ./jq.nix ./nix-utils.nix ./pandoc.nix ./python.nix ./ssh.nix ./starship.nix ./syncthing.nix ./tmux.nix ./vanity.nix ./vim.nix ./web.nix ./zellij.nix ./zsh.nix ./privacy-gui.nix ./communications-gui.nix ]; home.packages = with pkgs; [ (nixGL firefox) (nixGL anki) (nixGL digikam) (nixGL zotero) (nixGL decker) ]; # 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 # ''; }; # env vars home.sessionVariables = {}; # don't install xdg info: xdg.mime.enable = false; # 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" ]; }; }