Init repo

This commit is contained in:
kagura-server-common 2024-09-11 04:58:44 +02:00
commit a4da243cb9

113
home.nix Normal file
View file

@ -0,0 +1,113 @@
{ config, pkgs, ... }:
let
unstableTarball =
fetchTarball
"https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz";
in
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "root";
home.homeDirectory = "/root";
# 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 = "24.05"; # Please read the comment before changing.
nixpkgs.config = {
allowUnfree = true;
packageOverrides = pkgs: with pkgs; {
unstable = import unstableTarball {
config = config.nixpkgs.config;
};
};
};
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
zsh
zsh-powerlevel10k
oh-my-zsh
thefuck
fzf
zsh-fzf-tab
helix
hyfetch
btop
eza
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
};
home.sessionVariables = {
EDITOR = "hx";
TERM = "xterm-256color";
};
programs.home-manager.enable = true;
programs.fzf = {
enable = true;
enableZshIntegration = true;
};
programs.zsh = {
enable = true;
enableCompletion = true;
syntaxHighlighting.enable = true;
shellAliases = {
ls = "eza";
ll = "eza --icons -l";
la = "eza --icons -al";
vi = "hx";
vim = "hx";
home-update = "home-manager switch";
home-edit = "hx ~/.config/home-manager";
};
history = {
size = 10000;
path = "${config.xdg.dataHome}/zsh/history";
};
zplug = {
enable = true;
plugins = [{ name = "zsh-users/zsh-autosuggestions"; }];
};
plugins = [{
name = "powerlevel10k";
src = pkgs.zsh-powerlevel10k;
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
}];
oh-my-zsh = {
enable = true;
plugins = [ "git" "thefuck" ];
theme = "agnoster";
};
initExtra = ''
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
source ${pkgs.zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh
'';
};
}