# This is your home-manager configuration file # Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) { inputs, lib, config, pkgs, ... }: { # You can import other home-manager modules here imports = [ # If you want to use modules your own flake exports (from modules/home-manager): # inputs.self.homeManagerModules.example # Or modules exported from other flakes (such as nix-colors): # inputs.nix-colors.homeManagerModules.default # You can also split up your configuration and import pieces of it here: # ./nvim.nix inputs.spicetify-nix.homeManagerModules.spicetify ./programs/niri/niri.nix ]; nixpkgs = { # You can add overlays here overlays = [ # Add overlays your own flake exports (from overlays and pkgs dir): inputs.self.overlays.additions inputs.self.overlays.modifications inputs.self.overlays.unstable-packages # You can also add overlays exported from other flakes: # neovim-nightly-overlay.overlays.default # Or define it inline, for example: # (final: prev: { # hi = final.hello.overrideAttrs (oldAttrs: { # patches = [ ./change-hello-to-hi.patch ]; # }); # }) ]; # Configure your nixpkgs instance config = { # Disable if you don't want unfree packages allowUnfree = true; }; }; home.packages = with pkgs; [ cargo spotify-player ]; home = { username = "luke"; homeDirectory = "/home/luke"; }; # necessary? programs.home-manager.enable = true; # Shell environment programs.fish = { enable = true; shellAliases = { ls = "eza --icons --group-directories-last --git"; tree = "ls --tree"; cat = "bat --no-paging --style=plain"; }; }; home.shell.enableFishIntegration = true; programs.bash = { enable = true; #shellAliases = {}; initExtra = '' # "check if parent process is not fish" && "make nested shells work properly" if grep -qv fish /proc/$PPID/comm && [[ $SHLVL == [12] ]]; then # set $SHELL for better integration with programs like nix shell, tmux, etc. SHELL=${pkgs.fish}/bin/fish exec fish fi ''; }; programs.kitty = { enable = true; }; programs.starship = { enable = true; }; home.shellAliases = { ll = "ls -l"; la = "ls -a"; lal = "ls -al"; }; # CLI utils programs.git = { enable = true; settings = { init.defaultBranch = "main"; user.name = "winter"; user.email = "winterekisha@gmail.com"; }; }; programs.ranger = { enable = true; }; programs.eza = { enable = true; }; programs.bat = { enable = true; }; programs.btop = { enable = true; }; programs.lazygit = { enable = true; }; programs.tmux = { enable = true; }; # Day to day programs.spicetify = { enable = true; # theme = { # # TODO: add theme # }; }; programs.obsidian = { enable = true; }; # Niri-Extras programs.fuzzel.enable = true; services.playerctld.enable = true; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion home.stateVersion = "25.11"; }