init commit
This commit is contained in:
134
home-manager/luke.nix
Normal file
134
home-manager/luke.nix
Normal file
@@ -0,0 +1,134 @@
|
||||
# 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";
|
||||
}
|
||||
Reference in New Issue
Block a user