135 lines
3.0 KiB
Nix
135 lines
3.0 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
|
|
];
|
|
|
|
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 = {
|
|
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 = {
|
|
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";
|
|
}
|