Files
nix-config/home-manager/luke.nix
winter 099a6d05fa update
skwd (not working properly)
2026-05-31 11:47:44 -07:00

147 lines
3.2 KiB
Nix

# 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
wl-clipboard
clipse
timg
];
home = {
username = "luke";
homeDirectory = "/home/luke";
};
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;
};
programs.quickshell.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";
}