17 Commits
Author SHA1 Message Date
Olaf 9d42bfdf15 Trying to use brew-nix - still to much broken 2026-07-30 16:04:47 +02:00
Olaf 45bf546b85 Fixed brew inconstistency andded tigervnc 2026-07-30 14:32:13 +02:00
Olaf c260e93db8 emacs hash 2026-07-30 12:00:52 +02:00
Olaf 341f20fe7a emacs SHA256 2026-07-26 12:47:43 +02:00
Olaf 980a42aaa1 fonts tweaking 2026-07-21 09:40:56 +02:00
Olaf f5ed23670c emacsOverlaySha256 2026-07-21 09:37:27 +02:00
Olaf dd455dc053 wireguard from app store 2026-07-21 09:37:02 +02:00
Olaf b87fea970b browser reorg to cask. Font.packages 2026-07-17 12:57:17 +02:00
Olaf ddfe41c461 Few home manager changes 2026-07-16 11:09:10 +02:00
Olaf c3cfbf5a6a Xterm & Ollama launch 2026-07-13 15:02:30 +02:00
Olaf Kolkman 1336a9bcd8 Added hermes-hud 2026-07-09 08:25:18 +02:00
Olaf Kolkman 48ee955035 cleanup 2026-07-08 22:55:53 +02:00
Olaf Kolkman 626a07e7e9 Works with LLM but should be able to do this cleaner 2026-07-08 22:34:15 +02:00
Olaf Kolkman 78ffc4e895 LLM-agents installed 2026-07-08 22:26:38 +02:00
Olaf Kolkman 4d54560d77 Add packages-list.nix for llm-agents packages 2026-07-08 22:17:25 +02:00
Olaf Kolkman 3ef4bb5495 X11 2026-07-07 20:31:41 +02:00
Olaf Kolkman 355d6995bf cjk in latex 2026-07-04 13:52:05 +02:00
8 changed files with 237 additions and 233 deletions
+25 -36
View File
@@ -16,8 +16,13 @@
url = "github:nix-darwin/nix-darwin/nix-darwin-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
brew-src = {
url = "github:Homebrew/brew/master";
flake = false;
};
nix-homebrew = {
url = "github:zhaofengli-wip/nix-homebrew";
inputs.brew-src.follows = "brew-src";
};
homebrew-bundle = {
url = "github:homebrew/homebrew-bundle";
@@ -45,6 +50,17 @@
catppuccin = {
url = "github:catppuccin/nix";
};
llm-agents = {
url = "github:numtide/llm-agents.nix";
};
brew-api = {
url = "github:BatteredBunny/brew-api";
flake = false;
};
brew-nix = {
url = "github:BatteredBunny/brew-nix";
inputs.brew-api.follows = "brew-api";
};
# mac-app-util doesn't work with OCLP installed on X86
# mac-app-util = {
@@ -66,6 +82,9 @@
sops-nix,
nix-vscode-extensions,
catppuccin,
llm-agents,
brew-api,
brew-nix,
...
}@inputs:
let
@@ -96,7 +115,7 @@
export EDITOR=vim
'';
buildInputs = with pkgs; [
rnix-lsp
bash
];
};
};
@@ -125,9 +144,8 @@
};
in
{
devShells = forAllSystems devShell;
apps =
nixpkgs.lib.genAttrs linuxSystems mkLinuxApps // nixpkgs.lib.genAttrs darwinSystems mkDarwinApps;
devShells = nixpkgs.lib.genAttrs darwinSystems devShell;
apps = nixpkgs.lib.genAttrs darwinSystems mkDarwinApps;
darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems (
system:
@@ -135,22 +153,12 @@
inherit system;
specialArgs = inputs;
modules = [
brew-nix.darwinModules.default
# sops-nix.nixosModules.sops
home-manager.darwinModules.home-manager
nix-homebrew.darwinModules.nix-homebrew
# mac-app-util.darwinModules.default
{
nix-homebrew = {
inherit user;
enable = true;
taps = {
"homebrew/homebrew-core" = homebrew-core;
"homebrew/homebrew-cask" = homebrew-cask;
"homebrew/homebrew-bundle" = homebrew-bundle;
};
mutableTaps = false;
autoMigrate = true;
};
brew-nix.enable = true;
home-manager.sharedModules = [
# mac-app-util.homeManagerModules.default
catppuccin.homeModules.catppuccin
@@ -162,25 +170,6 @@
}
);
nixosConfigurations = nixpkgs.lib.genAttrs linuxSystems (
system:
nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = inputs;
modules = [
sops-nix.nixosModules.sops
disko.nixosModules.disko
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.${user} = import ./modules/nixos/home-manager.nix;
};
}
./hosts/nixos
];
}
);
nixosConfigurations = { };
};
}
+55 -20
View File
@@ -1,6 +1,7 @@
{
config,
pkgs,
llm-agents,
...
}:
@@ -39,9 +40,10 @@ in
"https://nix-community.cachix.org"
"https://cache.nixos.org"
];
trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
gc = {
@@ -59,39 +61,62 @@ in
'';
};
users.groups= {
gidevelopert={
description="Git Common Rights";
gid=500;
name= "gitdeveloper";
members = [ "olaf" ] ;
users.groups = {
gidevelopert = {
description = "Git Common Rights";
gid = 500;
name = "gitdeveloper";
members = [ "olaf" ];
};
};
users.knownGroups=["gitdeveloper"];
users.knownGroups = [ "gitdeveloper" ];
# Turn off NIX_PATH warnings now that we're using flakes
system.checks.verifyNixPath = false;
fonts = {
packages = with pkgs; [
dejavu_fonts
emacs-all-the-icons-fonts
# feather-font # from overlayj
jetbrains-mono
google-fonts
font-awesome
noto-fonts
noto-fonts-color-emoji
# jetbrains-mono
hack-font
meslo-lgs-nf
nerd-fonts.fira-code
nerd-fonts.droid-sans-mono
noto-fonts-cjk-sans
noto-fonts
]
# this adds all nerd-fonts Gigabytes of them, too much.
# ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts)
;
};
# Load configuration that is shared across systems
environment.systemPackages =
with pkgs;
[
# Emacs with automatic package management from overlay
(emacsWithPackagesFromUsePackage {
config = ../config/emacs/emacs.el;
defaultInitFile = true;
package = emacs-git;
alwaysEnsure = true;
extraEmacsPackages = epkgs: with epkgs; [
# Emacs with automatic package management from overlay
(emacsWithPackagesFromUsePackage {
config = ../config/emacs/emacs.el;
defaultInitFile = true;
package = emacs-git;
alwaysEnsure = true;
extraEmacsPackages =
epkgs: with epkgs; [
magit
company
nix-mode
use-package
];
})
})
]
++ (import ../../modules/shared/packages.nix { inherit pkgs; })
++ (import ../../modules/shared/packages.nix { inherit pkgs llm-agents; })
;
@@ -107,6 +132,16 @@ in
StandardOutPath = "/tmp/emacs.out.log";
};
launchd.user.agents.ollama = {
command = "${pkgs.ollama}/bin/ollama serve";
serviceConfig = {
KeepAlive = true;
RunAtLoad = true;
StandardOutPath = "/tmp/ollama.out.log";
StandardErrorPath = "/tmp/ollama.err.log";
};
};
system = {
stateVersion = 4;
primaryUser = "${user}";
+78 -62
View File
@@ -1,73 +1,89 @@
_:
{ pkgs }:
let
casks = pkgs.brewCasks;
# the override to replace the packages source fetch itself rather than just changing a downstream hash field
overrideCaskWithHash = name: hash:
casks.${name}.overrideAttrs (oldAttrs: {
src = pkgs.fetchurl {
url = builtins.head oldAttrs.src.urls;
hash = hash;
};
});
overriddenCasks = {
"box-tools" = overrideCaskWithHash "box-tools" "sha256-e7QZ/mWye86d7GDSgD+CtHDLCp/odiFwDcdg7/qxqKc=";
daisydisk = overrideCaskWithHash "daisydisk" "sha256-Re9GOfK03Gogb4Ep1itUJm60L94qvGfXgjqpLg8GQlc=";
keybase = overrideCaskWithHash "keybase" "sha256-CnFlLeU/BIhiUYebtRpUjJWE0QrsdZsiiZGzRUi31zg=";
};
in
[
# Development Tools
"arduino-ide"
"homebrew/cask/docker-desktop"
"iterm2"
"oracle-jdk"
"visual-studio-code"
# Development tools
casks.arduino-ide
casks."docker-desktop"
casks.iterm2
casks.oracle-jdk
casks."visual-studio-code"
# Creatative tools
"blender"
"gimp"
"inkscape"
"vcv-rack"
#"affinity-designer"
#"affinity-photo"
#"affinity-publisher"
# Creative tools
casks.blender
casks.gimp
casks.inkscape
casks."vcv-rack"
# Communication Tools
"adium"
"discord"
"signal"
"webex"
"whatsapp"
"zoom"
# Communication tools
casks.adium
casks.discord
casks.signal
casks.webex
casks.whatsapp
casks.zoom
# Utility tools
# These casks currently fail during Homebrew download/build in this environment.
# casks."blackhole-16ch"
# casks."blackhole-2ch"
casks."box-drive"
# box-tools currently fails during unpack/install in this environment.
# overriddenCasks."box-tools"
# daisydisk currently fails with an upstream hash mismatch in this environment.
# overriddenCasks.daisydisk
# casks."karabiner-elements"
overriddenCasks.keybase
(overrideCaskWithHash "smartsheet" "sha256-ShCJAKDWMWy++3IC00YdyABvsmLW6DrpvJABAkFQXOA=")
casks.spamsieve
casks."syncthing-app"
casks."synology-drive"
# Utility Tools
# Entertainment tools
casks.qobuz
casks.steam
casks."handbrake-app"
casks."jellyfin-media-player"
casks.mediaelch
casks.obs
casks."vimediamanager"
casks.vlc
"blackhole-16ch"
"blackhole-2ch"
"box-drive"
"box-tools"
"daisydisk"
"karabiner-elements"
"keybase"
"spamsieve"
"syncthing-app"
"synology-drive"
# Entertainment Tools
"qobuz"
"steam"
"handbrake-app"
"jellyfin-media-player"
"mediaelch"
"obs"
"vimediamanager"
"vlc"
# Productivity Tools
"1Password"
"bitwarden"
"calibre"
"dbeaver-community"
"element"
"gpg-suite"
"macdown"
"mailmate"
"orcaslicer"
"remanager"
"qmk-toolbox"
"smartsheet"
"spamsieve"
# "sqlitestudio" # Doesn't work without Rosetta
"virtualbox"
"copilot-cli"
# Productivity tools
casks."1password"
casks.bitwarden
casks.calibre
casks."dbeaver-community"
casks.element
casks."gpg-suite"
casks."macdown-3000"
casks.mailmate
casks.orcaslicer
casks.remanager
casks."qmk-toolbox"
casks.smartsheet
casks."copilot-cli"
# Browsers
casks."brave-browser"
casks.firefox
casks."google-chrome"
# X11
casks.xquartz
]
+8 -37
View File
@@ -3,11 +3,13 @@
pkgs,
lib,
home-manager,
llm-agents,
...
}:
let
user = "olaf";
casks = import ./casks.nix { inherit pkgs; };
# Define the content of your file as a derivation
myEmacsLauncher = pkgs.writeScript "emacs-launcher.command" ''
#!/bin/sh
@@ -31,42 +33,11 @@ in
};
homebrew = {
enable = true;
casks = pkgs.callPackage ./casks.nix { };
# onActivation.cleanup = "uninstall";
# These app IDs are from using the mas CLI app
# mas = mac app store
# https://github.com/mas-cli/mas
#
# $ nix shell nixpkgs#mas
# $ mas search <app name>
#
# If you have previously added these apps to your Mac App Store profile (but not installed them on this system),
# you may receive an error message "Redownload Unavailable with This Apple ID".
# This message is safe to ignore. (https://github.com/dustinlyons/nixos-config/issues/83)
masApps = {
"1Password for Safari" = 1569813296; # (8.10.82)
"Affinity Designer 2" = 1616831348;
"Affinity Photo 2: Image Editor" = 1616822987;
"Affinity Publisher 2" = 1606941598;
# "DaisyDisk" = 411643860; # (4.32) # Don't use this, we need the official version that is not sandboxed
"Fantastical - Calendar" = 975937182;
"Home Assistant" = 1099568401; # (2025.7.1)
"Ice Cubes for Mastodon" = 6444915884; # (1.11.3)
"LibreOffice" = 1630474372;
"Monal - XMPP Chatting " = 1637078500;
"MQTT Explorer" = 1455214828; # (0.3.5)
"Night Sky" = 475772902; # 475772902
"Native SQLite Manager" = 1416282836; # (1.31.0)
"Remarkable Desktop" = 1276493162; # (3.19.0)
"Slack for Desktop" = 803453959; # (4.45.60)
"WiFi Explorer: Scanner" = 494803304; # (3.5.6)
### "1Password: Password Manager" = 1511601750; # (8.11.0) Does not seem to insta
};
enable = false;
};
environment.systemPackages = casks;
# Enable home-manager
home-manager = {
useGlobalPkgs = true;
@@ -81,7 +52,7 @@ in
home = {
enableNixpkgsReleaseCheck = false;
packages = pkgs.callPackage ./packages.nix { };
packages = pkgs.callPackage ./packages.nix { inherit llm-agents; };
file = lib.mkMerge [
sharedFiles
additionalFiles
@@ -130,7 +101,7 @@ in
{ path = "/Applications/Bitwarden.app"; }
{ path = "/Applications/Calendar.app/"; }
{ path = "/Applications/Notes.app/"; }
{ path = "/run/current-system/Applications/Firefox.app/"; }
{ path = "/Applications/Firefox.app/"; }
{ path = "/Applications/Slack.app/"; }
{
@@ -146,7 +117,7 @@ in
{ path = "/Applications/Qobuz.app/"; }
{ path = "/System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/"; }
{
path = "/run/current-system/Applications/Brave Browser.app/";
path = "/Applications/Brave Browser.app/";
options = "-l Brave";
}
{ path = "/System/Applications/Photos.app/"; }
+2 -2
View File
@@ -1,8 +1,8 @@
{ pkgs }:
{ pkgs, llm-agents }:
with pkgs;
let
shared-packages = import ../shared/packages.nix { inherit pkgs; };
shared-packages = import ../shared/packages.nix { inherit pkgs llm-agents; };
in
shared-packages
++ [
+35 -14
View File
@@ -11,21 +11,42 @@ let
shared-programs = import ../shared/home-manager.nix { inherit config pkgs lib; };
shared-files = import ../shared/files.nix { inherit config pkgs; };
polybar-user_modules = builtins.readFile (
pkgs.replaceVars {
src = ./config/polybar/user_modules.ini;
packages = "${xdg_configHome}/polybar/bin/check-nixos-updates.sh";
searchpkgs = "${xdg_configHome}/polybar/bin/search-nixos-updates.sh";
launcher = "${xdg_configHome}/polybar/bin/launcher.sh";
powermenu = "${xdg_configHome}/rofi/bin/powermenu.sh";
calendar = "${xdg_configHome}/polybar/bin/popup-calendar.sh";
}
);
polybar-user_modules = builtins.replaceStrings
[
"@packages@"
"@searchpkgs@"
"@launcher@"
"@powermenu@"
"@calendar@"
]
[
"${xdg_configHome}/polybar/bin/check-nixos-updates.sh"
"${xdg_configHome}/polybar/bin/search-nixos-updates.sh"
"${xdg_configHome}/polybar/bin/launcher.sh"
"${xdg_configHome}/rofi/bin/powermenu.sh"
"${xdg_configHome}/polybar/bin/popup-calendar.sh"
]
(builtins.readFile ./config/polybar/user_modules.ini);
polybar-config = pkgs.replaceVars {
src = ./config/polybar/config.ini;
font0 = "DejaVu Sans:size=12;3";
font1 = "feather:size=12;3"; # from overlay
polybar-config = {
"global/wm" = {
margin-bottom = 0;
margin-top = 0;
};
"bar/main" = {
width = "98%";
height = 40;
background = "#000000";
foreground = "#ffffff";
font-0 = "DejaVu Sans:size=12;3";
font-1 = "feather:size=12;3";
modules-left = "launcher workspaces";
modules-center = "date popup-calendar";
modules-right = "pulseaudio memory cpu updates sysmenu";
};
settings = {
screenchange-reload = false;
};
};
polybar-modules = builtins.readFile ./config/polybar/modules.ini;
+4 -2
View File
@@ -1,9 +1,10 @@
{ config, pkgs, ... }:
let
emacsOverlaySha256 = "1ffsda6if5z9bgjh398s9kbpdggfm005xjmdljk83dcpvnx64f6m";
emacsOverlaySha256 = "0pqnl05j86pyvrlqh5kk4sximi749xqgiffq47grw7v98nqd2yin";
in
{
home-manager.backupFileExtension = "nix-backup";
nixpkgs = {
config = {
@@ -27,6 +28,7 @@ in
++ [(import (builtins.fetchTarball {
url = "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz";
sha256 = emacsOverlaySha256;
}))];
}))
];
};
}
+30 -60
View File
@@ -1,4 +1,4 @@
{ pkgs }:
{ pkgs, llm-agents }:
with pkgs;
[
@@ -6,10 +6,16 @@ with pkgs;
nixd
mas
# The Web Browsers
brave
firefox
# google-chrome. #stopped working
# X11
libx11
libxt
libxext
libxrender
libxrandr
xterm
# The Web Browsers
# maintained by in homebrew
# security and some such
# bitwarden-desktop #Does not compile properly
@@ -32,6 +38,8 @@ with pkgs;
minicom
mtr
ncdu
nodejs
fastfetch
nixfmt
openssh
@@ -70,24 +78,19 @@ with pkgs;
docker-compose
# Media-related packages
dejavu_fonts
emacs-all-the-icons-fonts
fd
ffmpeg
font-awesome
# jetbrains-mono
hack-font
imagemagick
meslo-lgs-nf
noto-fonts
noto-fonts-color-emoji
imagemagick
# Node.js development tools
#nodePackages.npm # globally install npm
#nodePackages.prettier
# Text and terminal utilities
xterm
htop
hunspell
@@ -105,6 +108,7 @@ with pkgs;
# Python packages
# python3
virtualenv
uv
(python3.withPackages (
python-pkgs: with python-pkgs; [
@@ -143,9 +147,7 @@ with pkgs;
))
# LLM
ollama
ollama # Launchd definition in hosts/darwin/default.nix
# Social
pidgin
@@ -155,46 +157,6 @@ with pkgs;
cargo
platformio-core
# (vscode-with-extensions.override {
# vscodeExtensions =
# with vscode-extensions;
# [https://github.com/dustinlyons/nixos-config/
# #bbenoist.nix
# jnoortheen.nix-ide
# ms-python.python
# ms-azuretools.vscode-docker
# # ms-vscode-remote.remote-ssh
# eamodio.gitlens
# james-yu.latex-workshop
# ]
# ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
# # {
# # name = "remote-ssh-edit";
# # publisher = "ms-vscode-remote";
# # version = "0.47.2";
# # sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
# # }
# {
# name = "cpptools";
# publisher = "ms-vscode";
# version = "1.26.1";
# sha256 = "sha256-uVE7sEO8XN3ArFpElUw25/BKyCOzF1EmZ5nHBkdoL/0=";
# }
# {
# name = "minifyall";
# publisher = "josee9988";
# version = "2.10.0";
# sha256 = "sha256-cH5x8fUN0n+hO1b3lNzau2MnyeYmsD0ZXAYGxCQjT0Y=";
# }
# {
# name = "platformio-ide";
# publisher = "platformio";
# version = "3.3.4";
# sha256 = "sha256-qfNz4IYjCmCMFLtAkbGTW5xnsVT8iDnFWjrgkmr2Slk=";
# }
# ];
# })
# XML, Tex and LaTex
mdbook
@@ -214,7 +176,7 @@ with pkgs;
biblatex-apa6
bibunits
catchfile
# cjk
cjk
comment
courier
csquotes
@@ -257,5 +219,13 @@ with pkgs;
;
})
]
]
### Agents from https://github.com/numtide/llm-agents.nix
++ (with llm-agents.packages.${pkgs.stdenv.hostPlatform.system}; [
hermes-desktop
hermes-hud
])