feat: feta

This commit is contained in:
s-prechtl 2025-07-25 23:09:46 +02:00
parent 509f16b469
commit 159e992e61
2 changed files with 110 additions and 4 deletions

View file

@ -1,27 +1,47 @@
{
config,
pkgs,
inputs,
...
}: {
imports = [
inputs.home-manager.darwinModules.home-manager
];
system.primaryUser = "ichlebemietfreiindeinemapfel";
users.users.ichlebemietfreiindeinemapfel = {
home = "/Users/ichlebemietfreiindeinemapfel";
};
environment.systemPackages = with pkgs; [
vim
neovim
alacritty
element-desktop
mkalias
flutter
gnupg
mkalias
neovim
pass
vim
zoxide
];
home-manager = {
backupFileExtension = "backup";
extraSpecialArgs = {inherit inputs;};
users = {
"ichlebemietfreiindeinemapfel" = import ./home.nix;
};
};
homebrew = {
enable = true;
casks = [
"zen"
];
brews = [
];
#masApps = [];
masApps = {
"xcode" = 497799835;
};
onActivation.cleanup = "zap";
onActivation.autoUpdate = true;
onActivation.upgrade = true;
@ -53,6 +73,9 @@
${pkgs.mkalias}/bin/mkalias "$src" "/Applications/Nix Apps/$app_name"
done
'';
fonts.packages = with pkgs; [
nerd-fonts.jetbrains-mono
];
# Set Git commit hash for darwin-version.
#system.configurationRevision = self.rev or self.dirtyRev or null;

83
hosts/mac/home.nix Normal file
View file

@ -0,0 +1,83 @@
{
pkgs,
inputs,
...
}: {
imports = [
../../modules/home-manager/alacritty.nix
../../modules/home-manager/btop.nix
../../modules/home-manager/fastfetch.nix
../../modules/home-manager/git.nix
../../modules/home-manager/helix.nix
../../modules/home-manager/pass.nix
../../modules/home-manager/tmux.nix
../../modules/home-manager/zsh.nix
];
home.username = "ichlebemietfreiindeinemapfel";
home.homeDirectory = "/Users/ichlebemietfreiindeinemapfel";
# 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 = "25.05"; # Please read the comment before changing.
nixpkgs.config.allowUnfree = true;
home.packages = with pkgs; [
zsh-autosuggestions
zsh-syntax-highlighting
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
(pkgs.writeShellScriptBin "mux-sessionizer" ''
session=$(tmuxinator list | tail -n +2 | tr -s '[:space:]' '\n' | fzf)
if [ -n "$session" ]; then
tmuxinator start "$session"
else
echo "No session selected"
fi
'')
];
# 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;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
# 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/sprechtl/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
EDITOR = "nvim";
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}