update home

This commit is contained in:
2025-07-16 16:30:49 +02:00
parent ca0d1bc72f
commit 5106fa918c
2 changed files with 97 additions and 69 deletions
-1
View File
@@ -68,7 +68,6 @@ home-manager generations
- `EDITOR` → nvim
- `BROWSER` → firefox
- `CYPRESS_CRASH_REPORTS` → 0
- `JAVA_HOME` → /usr/lib/jvm/java-17-openjdk
## References
- [Home Manager Manual](https://nix-community.github.io/home-manager/)
+97 -68
View File
@@ -3,83 +3,112 @@
{
home.username = "mwc";
home.homeDirectory = "/home/mwc";
home.stateVersion = "25.05";
home.stateVersion = "25.05"; # Please read the comment before changing.
# Core packages
home.packages = with pkgs; [
# Development essentials
nodejs_24
python3Full
bun
deno
curl
gcc
gnumake
home.packages = [
# Editors & IDEs
jetbrains.webstorm
neovim
# # 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" ]; })
# Graphics & design
gimp3-with-plugins
inkscape-with-extensions
# # 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}!"
# '')
# Communication
thunderbird
signal-desktop
# Office
libreoffice
# CLI tools
xclip
lf
ripgrep
fzf
# Password management
keepassxc # Local password store
# Container tools
docker
# Android dev (from your exports)
android-tools
# Kubernetes
kubectl
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# Shell configuration
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
oh-my-zsh = {
enable = true;
theme = "robbyrussell";
plugins = [ "git" "docker" "kubectl" ];
};
shellAliases = {
n = "notes";
m = "make";
x = "xclip -sel clip";
d = "docker";
k = "kubectl";
g = "git";
ls = "ls --color=auto";
gedit = "gnome-text-editor";
};
sessionVariables = {
CYPRESS_CRASH_REPORTS = "0";
};
};
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. These will be explicitly sourced when using a
# shell provided by Home Manager. If you don't want to manage your shell
# through Home Manager then you have to manually source 'hm-session-vars.sh'
# located at either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/mwc/etc/profile.d/hm-session-vars.sh
#
# Git configuration
programs.git = {
enable = true;
userName = "Michael Czechowski";
userEmail = "mail@dailysh.it"; # adjust as needed
};
# Development environments
programs.direnv = {
enable = true;
enableZshIntegration = true;
};
# Email client
programs.thunderbird = {
enable = true;
profiles.default = {
isDefault = true;
};
};
# File manager
programs.lf.enable = true;
# Session variables
home.sessionVariables = {
# EDITOR = "emacs";
EDITOR = "nvim";
BROWSER = "firefox";
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# programs.thunderbird = {
# enable = true;
## accounts = {
## "mail@dailysh.it" = {
## type = "imap";
## username = "mail@dailysh.it";
## realName = "Michael Czechowski";
## imap = {
## host = "tuttle.uberspace.de";
## port = 993;
## socketType = "SSL";
## username = "mail@dailysh.it";
## };
## smtp = {
## host = "tuttle.uberspace.de";
## port = 465;
## socketType = "STARTTLS";
## username = "mail@dailysh.it";
## };
## };
## };
# };
}
# Set zsh as default shell
programs.zsh.defaultKeymap = "emacs";
}