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" ];
 | 
						|
  };
 | 
						|
}
 |