Big updates

This commit is contained in:
Arnie 2025-01-05 23:10:55 +01:00
parent aa7fd15924
commit 5751958cad
28 changed files with 257 additions and 199 deletions

View File

@ -1,2 +0,0 @@
# Impure because of nixgl wrapper
alias hm-switch="home-manager switch --impure --flake ~/.config/nix"

View File

@ -1,2 +0,0 @@
# Impure because of nixgl wrapper
alias hm-switch="darwin-rebuild switch --flake ~/.config/nix"

View File

@ -7,17 +7,16 @@ let
username = "becky";
homedir = "/home/${username}";
zshSourceCommon = ../.zsh/common;
zshSourceUser = ../.zsh/dingleberry;
zshSourceDirs = [
../modules/zsh/dingleberry
];
in
{
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
#targets.genericLinux.enable = true;
# Enable XDG for non terminal apps
# https://github.com/nix-community/home-manager/issues/1439
#programs.bash.enable = true;
#targets.genericLinux.enable = true;
#xdg = {
# enable = true;
# mime = {
@ -35,7 +34,6 @@ in
home.stateVersion = "24.11";
home.packages = with pkgs; [
bat
nixd
# TODO: Move from system to nix
# awscli2
@ -72,25 +70,27 @@ in
};
};
programs.ghostty = {
enable = true;
installBatSyntax = true;
installVimSyntax = true;
enableZshIntegration = true;
package = config.lib.nixGL.wrap pkgs.ghostty;
settings = {
theme = "catppuccin-mocha";
font-size = 10;
};
};
programs.zsh = {
enable = true;
autocd = true;
shellAliases = {
cat = "bat --paging=never";
hm-switch = "home-manager switch --impure --flake ~/.config/nix";
};
dirHashes = {
mac = "${homedir}/storage/.macshare";
nix = "${homedir}/.config/nix";
@ -119,13 +119,13 @@ in
};
initExtra = ''
for file in ${zshSourceCommon}/*.zsh; do
source "$file"
done
for file in ${zshSourceUser}/*.zsh; do
${builtins.concatStringsSep "\n" (
builtins.map (dir: ''
for file in ${dir}/*.zsh; do
source "$file"
done
'') zshSourceDirs
)}
autoload -U +X bashcompinit && bashcompinit

View File

@ -1,5 +1,4 @@
{
config,
pkgs,
...
}:
@ -9,13 +8,10 @@ let
zshSourceDirs = [
../.zsh/common
../.zsh/macos
../modules/zsh/macos
];
in
{
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.username = username;
home.homeDirectory = homedir;
@ -24,7 +20,6 @@ in
home.packages = with pkgs; [
awscli2
bat
k9s
kubectl
nixd
@ -64,29 +59,20 @@ in
programs.zsh = {
enable = true;
autocd = true;
shellAliases = {
cat = "bat --paging=never";
};
dirHashes = {
mac = "${homedir}/storage/.macshare";
nix = "${homedir}/.config/nix";
};
initExtra = ''
${builtins.concatStringsSep "\n"
(builtins.map (dir:
''
${builtins.concatStringsSep "\n" (
builtins.map (dir: ''
for file in ${dir}/*.zsh; do
source "$file"
done
''
) zshSourceDirs)
}
'') zshSourceDirs
)}
# ${pkgs.keepassxc}
autoload -U +X bashcompinit && bashcompinit
source <(kubectl completion zsh)
@ -101,7 +87,6 @@ in
};
}
# TODO: launchd timers
# <?xml version="1.0" encoding="UTF-8"?>

View File

@ -14,7 +14,8 @@
nixgl.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{
outputs =
inputs@{
self,
home-manager,
mac-app-util,
@ -23,7 +24,14 @@
nixpkgs,
}:
let
darwin-common = { pkgs, ... }:
systems = nixpkgs.lib.genAttrs [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
];
darwin-common =
{ pkgs, ... }:
let
custom-key-mapping = {
# AI Instructions
@ -115,7 +123,24 @@
};
in
{
homeConfigurations = let
lib = {
forAllSystems =
function:
systems (
system:
function (
import nixpkgs {
inherit system;
config.allowUnfreePredicate = (pkg: builtins.elem (nixpkgs.lib.getName pkg) [ "nvidia" ]);
}
)
);
};
formatter = self.lib.forAllSystems (pkgs: pkgs.nixfmt-rfc-style);
homeConfigurations =
let
pkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [
@ -125,16 +150,17 @@
allowUnfree = true;
};
};
in {
in
{
# init with
# nix run home-manager/master -- switch --flake ~/.config/nix
# update with
# home-manager switch --flake ~/.config/nix
"becky@dingleberry" = home-manager.lib.homeManagerConfiguration {
# pkgs = nixpkgs.legacyPackages.x86_64-linux;
inherit pkgs;
modules = [
./modules/common.nix
./devices/becky-dingleberry.nix
];
};
@ -159,6 +185,7 @@
"keepassxc"
];
}
./modules/common.nix
home-manager.darwinModules.home-manager
{
home-manager = {

50
modules/common.nix Normal file
View File

@ -0,0 +1,50 @@
{
lib,
pkgs,
...
}:
let
zshSourceCommon = ./zsh/common;
isDarwin = pkgs.stdenv.hostPlatform.isDarwin;
isLinux = pkgs.stdenv.hostPlatform.isLinux;
in
{
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
programs.bat = {
enable = true;
};
programs.zsh = {
enable = true;
autocd = lib.mkDefault true;
shellAliases =
{
cat = lib.mkDefault "bat --paging=never";
nixfix = lib.mkDefault "nix fmt ./**/*.nix";
}
// (
if isDarwin then
{
hm-switch = lib.mkDefault "darwin-rebuild switch --flake ~/.config/nix";
}
else if isLinux then
{
hm-switch = lib.mkDefault "home-manager switch --flake ~/.config/nix";
}
else
{ }
);
initExtra = ''
for file in ${zshSourceCommon}/*.zsh; do
source "$file"
done
'';
};
}