129 lines
2.6 KiB
Nix
129 lines
2.6 KiB
Nix
{ inputs
|
|
, outputs
|
|
, lib
|
|
, config
|
|
, pkgs
|
|
, ...
|
|
}:
|
|
|
|
{
|
|
home = {
|
|
username = "kalle";
|
|
homeDirectory = "/home/kalle";
|
|
};
|
|
|
|
imports =
|
|
[
|
|
../../nvim
|
|
../../tmux
|
|
];
|
|
|
|
nixpkgs = {
|
|
overlays = with outputs.overlays; [
|
|
nvim-plugins
|
|
];
|
|
|
|
config = {
|
|
allowUnfree = true;
|
|
allowUnfreePredicate = _: true;
|
|
|
|
permittedInsecurePackages = [
|
|
"electron-25.9.0"
|
|
];
|
|
};
|
|
};
|
|
|
|
# The home.packages option allows you to install Nix packages into your
|
|
# environment.
|
|
home.packages = with pkgs; [
|
|
discord
|
|
vesktop
|
|
firefox
|
|
chromium
|
|
httpie
|
|
kate
|
|
dolphin
|
|
ark
|
|
rustup
|
|
gcc
|
|
pavucontrol
|
|
difftastic
|
|
sops
|
|
obsidian
|
|
|
|
cachix
|
|
];
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
programs.bash = {
|
|
enable = true;
|
|
shellAliases = {
|
|
# Git aliases
|
|
gg = "git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an (%ae)%C(reset)' --all";
|
|
gca = "git add -A; git commit -a --amend --no-edit";
|
|
gs = "git status";
|
|
|
|
# Replace some commands with better versions
|
|
ssh = "kitty +kitten ssh";
|
|
diff = "${pkgs.difftastic}/bin/difftastic";
|
|
};
|
|
initExtra = ''
|
|
function open() {
|
|
xdg-open $@ &> /dev/null &
|
|
}
|
|
'';
|
|
};
|
|
|
|
programs.kitty = {
|
|
enable = true;
|
|
theme = "Catppuccin-Mocha";
|
|
settings = {
|
|
background_opacity = "0.8";
|
|
allow_remote_control = true;
|
|
};
|
|
};
|
|
|
|
programs.starship = {
|
|
enable = true;
|
|
settings = {
|
|
add_newline = true;
|
|
|
|
# Remove text from nix shell component
|
|
nix_shell.format = "via [$symbol]($style) ";
|
|
|
|
git_status.disabled = true;
|
|
package.disabled = true;
|
|
};
|
|
};
|
|
|
|
programs.direnv = {
|
|
enable = true;
|
|
enableBashIntegration = true;
|
|
nix-direnv.enable = true;
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "Kalle Struik";
|
|
userEmail = "kalle@kallestruik.nl";
|
|
difftastic.enable = true;
|
|
extraConfig = {
|
|
init.defaultBranch = "main";
|
|
};
|
|
};
|
|
|
|
home.sessionVariables = {
|
|
EDITOR = "nvim";
|
|
};
|
|
|
|
# This value determines the Home Manager release that your configuration is
|
|
# compatible with. This helps avoid breakage when a new Home Manager release
|
|
# introduces backwards incompatible changes.
|
|
#
|
|
# You should not change this value, even if you update Home Manager. If you do
|
|
# want to update the value, then make sure to first check the Home Manager
|
|
# release notes.
|
|
home.stateVersion = "23.05"; # Please read the comment before changing.
|
|
}
|