use common home

This commit is contained in:
2025-10-09 10:26:34 +02:00
parent 2c6299e326
commit 3680f878e2
5 changed files with 45 additions and 137 deletions

View File

@@ -15,7 +15,10 @@ let
shellAliases = {
hm = "nix run home-manager/master -- switch --flake github:cupcakearmy/nix?dir=cli#${name} -b backup";
};
# Lists are not recursively updated, need to do by hand
packages = common.home.packages ++ [ ];
};
};
merged = lib.recursiveUpdate common overwrite;
in
lib.recursiveUpdate common overwrite
merged

View File

@@ -2,7 +2,6 @@
pkgs,
...
}:
{
home.stateVersion = "25.11";
@@ -19,12 +18,12 @@
btop
rclone
rename
tmux
tree
wget
rsync
yq
delta
kubectl
# Rust utils
bat
@@ -38,15 +37,14 @@
yazi
starship
# Dev
# TUI
lazydocker
lazygit
k9s
kubectl
# Editor
neovim
fzf
lazygit
# Fonts
nerd-fonts.jetbrains-mono
@@ -78,6 +76,7 @@
};
programs = {
home-manager.enable = true;
direnv.enable = true;
zoxide.enable = true;

6
flake.lock generated
View File

@@ -42,11 +42,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1759826507,
"narHash": "sha256-vwXL9H5zDHEQA0oFpww2one0/hkwnPAjc47LRph6d0I=",
"lastModified": 1759917807,
"narHash": "sha256-WoSazth5EXIJmveWf0zbTMycrgpbLYOth6KhmltMuv0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bce5fe2bb998488d8e7e7856315f90496723793c",
"rev": "fb5cf53218b987f2703a5bbc292a030c0fe33443",
"type": "github"
},
"original": {

View File

@@ -5,24 +5,20 @@
config,
...
}:
{
# https://nix-community.github.io/home-manager
home.stateVersion = "25.05";
programs.home-manager.enable = true;
let
common = (import ../common/home.nix) { inherit pkgs; };
overwrite = {
home.username = host.username;
home.homeDirectory = "/Users/${host.username}";
home.packages =
(import ./pkgs.nix { inherit pkgs; })
common.home.packages
++ (import ./pkgs.nix { inherit pkgs; })
++ ((lib.attrByPath [ "extras" "pkgs" ] (pkgs: [ ]) host) pkgs);
fonts.fontconfig.enable = true;
home = {
sessionVariables = {
EDITOR = "nvim";
};
file = {
".config/ghostty/config".source = ../files/ghostty/config;
@@ -39,69 +35,16 @@
};
shellAliases = {
# Rust re-maps
l = "eza -a1lh";
ls = "eza";
cat = "bat";
cd = "z";
# QOL
dc = "docker compose";
rsync = "rsync -az --info=progress2";
t = "tmux new-session -A -s main";
e = "nvim";
g = "lazygit";
d = "lazydocker";
p = "pnpm";
px = "pnpm -s dlx";
n = "fnm use --install-if-missing";
c = "pwd | pbcopy";
k = "kubectl";
vai = "sudo darwin-rebuild switch --flake ~/.config/nix-macos#${host.hostName}";
};
};
};
programs = {
direnv.enable = true;
zoxide.enable = true;
fish = {
enable = true;
interactiveShellInit = ''
if type -q starship
starship init fish | source
end
if type -q fnm
fnm env --use-on-cd | source
end
if type -q nvs
nvs env --source | source
end
'';
};
bash = {
enable = true;
};
tmux = {
enable = true;
clock24 = true;
mouse = true;
extraConfig = ''
# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# switch panes using jkhl
bind h select-pane -L
bind l select-pane -R
bind j select-pane -U
bind k select-pane -D
'';
shell = "${pkgs.fish}/bin/fish";
terminal = "tmux-256color";
};
};
}
merged = lib.recursiveUpdate common overwrite;
in
merged

View File

@@ -2,56 +2,20 @@
with pkgs;
[
# Base
tmux
git
git-lfs
git-crypt
gh
bfg-repo-cleaner
gnutar
gnupg
htop
btop
rclone
rename
tmux
tree
wget
woff2
rsync
yq
delta
# Rust utils
bat
eza
fd
ripgrep
ripgrep-all
zoxide
uutils-coreutils-noprefix
dust
yazi
starship
# Dev
devenv
nixpacks
ollama
colima
lazydocker
exercism
posting
terraform
k9s
kubectl
claude-code
opencode
# Editor
nvs
neovim
fzf
lazygit
lua
luajitPackages.luarocks
ast-grep
@@ -71,6 +35,5 @@ with pkgs;
go
# Fonts
nerd-fonts.jetbrains-mono
karla
]