ahuston-0 4d79ff8c01
add onefetch/hyfetch
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2024-08-17 22:17:06 -04:00

172 lines
3.2 KiB
Nix

{
config,
pkgs,
lib,
machineConfig,
...
}:
{
imports =
[
./home/zsh.nix
./home/git.nix
]
++ lib.optionals (!machineConfig.server) [
./home/gammastep.nix
./home/doom
./home/hypr
./non-server.nix
];
home = {
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
username = "alice";
homeDirectory = "/home/alice";
packages = with pkgs; [
gnumake
python3
poetry
# pre-commit
pre-commit
deadnix
statix
nil
# useful tools
ncdu
neofetch
onefetch
hyfetch
smartmontools
wget
glances
obsidian
# Rust packages
bat
cargo-update
diesel-cli
tealdeer
helix
# nix specific packages
nix-output-monitor
nix-prefetch
nix-tree
nh
# doom emacs dependencies
fd
ripgrep
ruff-lsp
pyright
# audit
lynis
# dependencies for nix-dotfiles/hydra-check-action
nodejs_20
nodePackages.prettier
treefmt
];
};
programs = {
starship.enable = true;
fzf = {
enable = true;
enableZshIntegration = true;
};
direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
eza = {
enable = true;
icons = true;
git = true;
};
neovim = {
enable = true;
defaultEditor = true;
vimAlias = true;
vimdiffAlias = true;
extraConfig = ''
set bg=dark
set tabstop=2
set shiftwidth=2
set expandtab
set smartindent
'';
};
nix-index = {
enable = true;
enableZshIntegration = true;
};
tmux.enable = true;
topgrade = {
enable = true;
settings = {
misc = {
disable = [
"system"
"nix"
"shell"
];
};
};
};
};
services.ssh-agent.enable = true;
# TODO: add environment bs
home.sessionVariables = {
EDITOR = "nvim";
};
xdg = {
enable = true;
userDirs = {
enable = true;
createDirectories = true;
extraConfig = {
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
};
};
};
sops = {
age.sshKeyPaths = [ "/home/alice/.ssh/id_ed25519_sops" ];
defaultSopsFile = ./secrets.yaml;
secrets."alice/wakatime-api-key".path = "/home/alice/.config/doom/wakatime";
};
home.stateVersion = "23.11";
}