10 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
7 changed files with 207 additions and 187 deletions
+21 -36
View File
@@ -16,8 +16,13 @@
url = "github:nix-darwin/nix-darwin/nix-darwin-26.05"; url = "github:nix-darwin/nix-darwin/nix-darwin-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
brew-src = {
url = "github:Homebrew/brew/master";
flake = false;
};
nix-homebrew = { nix-homebrew = {
url = "github:zhaofengli-wip/nix-homebrew"; url = "github:zhaofengli-wip/nix-homebrew";
inputs.brew-src.follows = "brew-src";
}; };
homebrew-bundle = { homebrew-bundle = {
url = "github:homebrew/homebrew-bundle"; url = "github:homebrew/homebrew-bundle";
@@ -48,6 +53,14 @@
llm-agents = { llm-agents = {
url = "github:numtide/llm-agents.nix"; 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 doesn't work with OCLP installed on X86
# mac-app-util = { # mac-app-util = {
@@ -70,6 +83,8 @@
nix-vscode-extensions, nix-vscode-extensions,
catppuccin, catppuccin,
llm-agents, llm-agents,
brew-api,
brew-nix,
... ...
}@inputs: }@inputs:
let let
@@ -100,7 +115,7 @@
export EDITOR=vim export EDITOR=vim
''; '';
buildInputs = with pkgs; [ buildInputs = with pkgs; [
rnix-lsp bash
]; ];
}; };
}; };
@@ -129,9 +144,8 @@
}; };
in in
{ {
devShells = forAllSystems devShell; devShells = nixpkgs.lib.genAttrs darwinSystems devShell;
apps = apps = nixpkgs.lib.genAttrs darwinSystems mkDarwinApps;
nixpkgs.lib.genAttrs linuxSystems mkLinuxApps // nixpkgs.lib.genAttrs darwinSystems mkDarwinApps;
darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems ( darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems (
system: system:
@@ -139,22 +153,12 @@
inherit system; inherit system;
specialArgs = inputs; specialArgs = inputs;
modules = [ modules = [
brew-nix.darwinModules.default
# sops-nix.nixosModules.sops # sops-nix.nixosModules.sops
home-manager.darwinModules.home-manager home-manager.darwinModules.home-manager
nix-homebrew.darwinModules.nix-homebrew
# mac-app-util.darwinModules.default # mac-app-util.darwinModules.default
{ {
nix-homebrew = { brew-nix.enable = true;
inherit user;
enable = true;
taps = {
"homebrew/homebrew-core" = homebrew-core;
"homebrew/homebrew-cask" = homebrew-cask;
"homebrew/homebrew-bundle" = homebrew-bundle;
};
mutableTaps = false;
autoMigrate = true;
};
home-manager.sharedModules = [ home-manager.sharedModules = [
# mac-app-util.homeManagerModules.default # mac-app-util.homeManagerModules.default
catppuccin.homeModules.catppuccin catppuccin.homeModules.catppuccin
@@ -166,25 +170,6 @@
} }
); );
nixosConfigurations = nixpkgs.lib.genAttrs linuxSystems ( nixosConfigurations = { };
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
];
}
);
}; };
} }
+53 -19
View File
@@ -40,9 +40,10 @@ in
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://cache.nixos.org" "https://cache.nixos.org"
]; ];
trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
]; "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
}; };
gc = { gc = {
@@ -60,37 +61,60 @@ in
''; '';
}; };
users.groups = {
users.groups= { gidevelopert = {
gidevelopert={ description = "Git Common Rights";
description="Git Common Rights"; gid = 500;
gid=500; name = "gitdeveloper";
name= "gitdeveloper"; members = [ "olaf" ];
members = [ "olaf" ] ;
}; };
}; };
users.knownGroups=["gitdeveloper"]; users.knownGroups = [ "gitdeveloper" ];
# Turn off NIX_PATH warnings now that we're using flakes # Turn off NIX_PATH warnings now that we're using flakes
system.checks.verifyNixPath = false; 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 # Load configuration that is shared across systems
environment.systemPackages = environment.systemPackages =
with pkgs; with pkgs;
[ [
# Emacs with automatic package management from overlay # Emacs with automatic package management from overlay
(emacsWithPackagesFromUsePackage { (emacsWithPackagesFromUsePackage {
config = ../config/emacs/emacs.el; config = ../config/emacs/emacs.el;
defaultInitFile = true; defaultInitFile = true;
package = emacs-git; package = emacs-git;
alwaysEnsure = true; alwaysEnsure = true;
extraEmacsPackages = epkgs: with epkgs; [ extraEmacsPackages =
epkgs: with epkgs; [
magit magit
company company
nix-mode nix-mode
use-package use-package
]; ];
}) })
] ]
++ (import ../../modules/shared/packages.nix { inherit pkgs llm-agents; }) ++ (import ../../modules/shared/packages.nix { inherit pkgs llm-agents; })
@@ -108,6 +132,16 @@ in
StandardOutPath = "/tmp/emacs.out.log"; 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 = { system = {
stateVersion = 4; stateVersion = 4;
primaryUser = "${user}"; primaryUser = "${user}";
+79 -64
View File
@@ -1,74 +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 # Development tools
"arduino-ide" casks.arduino-ide
"homebrew/cask/docker-desktop" casks."docker-desktop"
"iterm2" casks.iterm2
"oracle-jdk" casks.oracle-jdk
"visual-studio-code" casks."visual-studio-code"
# Creatative tools # Creative tools
"blender" casks.blender
"gimp" casks.gimp
"inkscape" casks.inkscape
"vcv-rack" casks."vcv-rack"
#"affinity-designer"
#"affinity-photo"
#"affinity-publisher"
# Communication Tools # Communication tools
"adium" casks.adium
"discord" casks.discord
"signal" casks.signal
"webex" casks.webex
"whatsapp" casks.whatsapp
"zoom" 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" # Productivity tools
"blackhole-2ch" casks."1password"
"box-drive" casks.bitwarden
"box-tools" casks.calibre
"daisydisk" casks."dbeaver-community"
"karabiner-elements" casks.element
"keybase" casks."gpg-suite"
"spamsieve" casks."macdown-3000"
"syncthing-app" casks.mailmate
"synology-drive" casks.orcaslicer
casks.remanager
# Entertainment Tools casks."qmk-toolbox"
"qobuz" casks.smartsheet
"steam" casks."copilot-cli"
"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"
# Browsers # Browsers
casks."brave-browser"
# x11 casks.firefox
"xquartz" casks."google-chrome"
# X11
casks.xquartz
] ]
+6 -37
View File
@@ -9,6 +9,7 @@
let let
user = "olaf"; user = "olaf";
casks = import ./casks.nix { inherit pkgs; };
# Define the content of your file as a derivation # Define the content of your file as a derivation
myEmacsLauncher = pkgs.writeScript "emacs-launcher.command" '' myEmacsLauncher = pkgs.writeScript "emacs-launcher.command" ''
#!/bin/sh #!/bin/sh
@@ -32,43 +33,11 @@ in
}; };
homebrew = { homebrew = {
enable = true; enable = false;
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;
" Fedistar" = 6445863996; # (1.13.1)
"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
};
}; };
environment.systemPackages = casks;
# Enable home-manager # Enable home-manager
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
@@ -132,7 +101,7 @@ in
{ path = "/Applications/Bitwarden.app"; } { path = "/Applications/Bitwarden.app"; }
{ path = "/Applications/Calendar.app/"; } { path = "/Applications/Calendar.app/"; }
{ path = "/Applications/Notes.app/"; } { path = "/Applications/Notes.app/"; }
{ path = "/run/current-system/Applications/Firefox.app/"; } { path = "/Applications/Firefox.app/"; }
{ path = "/Applications/Slack.app/"; } { path = "/Applications/Slack.app/"; }
{ {
@@ -148,7 +117,7 @@ in
{ path = "/Applications/Qobuz.app/"; } { path = "/Applications/Qobuz.app/"; }
{ path = "/System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.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"; options = "-l Brave";
} }
{ path = "/System/Applications/Photos.app/"; } { path = "/System/Applications/Photos.app/"; }
+35 -14
View File
@@ -11,21 +11,42 @@ let
shared-programs = import ../shared/home-manager.nix { inherit config pkgs lib; }; shared-programs = import ../shared/home-manager.nix { inherit config pkgs lib; };
shared-files = import ../shared/files.nix { inherit config pkgs; }; shared-files = import ../shared/files.nix { inherit config pkgs; };
polybar-user_modules = builtins.readFile ( polybar-user_modules = builtins.replaceStrings
pkgs.replaceVars { [
src = ./config/polybar/user_modules.ini; "@packages@"
packages = "${xdg_configHome}/polybar/bin/check-nixos-updates.sh"; "@searchpkgs@"
searchpkgs = "${xdg_configHome}/polybar/bin/search-nixos-updates.sh"; "@launcher@"
launcher = "${xdg_configHome}/polybar/bin/launcher.sh"; "@powermenu@"
powermenu = "${xdg_configHome}/rofi/bin/powermenu.sh"; "@calendar@"
calendar = "${xdg_configHome}/polybar/bin/popup-calendar.sh"; ]
} [
); "${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 { polybar-config = {
src = ./config/polybar/config.ini; "global/wm" = {
font0 = "DejaVu Sans:size=12;3"; margin-bottom = 0;
font1 = "feather:size=12;3"; # from overlay 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; polybar-modules = builtins.readFile ./config/polybar/modules.ini;
+1 -1
View File
@@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
emacsOverlaySha256 = "02yxwls39cj02yw03b01hvg6h2fvk9k54adzqgi569mm7ld39rx8"; emacsOverlaySha256 = "0pqnl05j86pyvrlqh5kk4sximi749xqgiffq47grw7v98nqd2yin";
in in
{ {
+12 -16
View File
@@ -12,12 +12,10 @@ with pkgs;
libxext libxext
libxrender libxrender
libxrandr libxrandr
xterm xterm
# The Web Browsers # The Web Browsers
brave # maintained by in homebrew
firefox
# google-chrome. #stopped working
# security and some such # security and some such
# bitwarden-desktop #Does not compile properly # bitwarden-desktop #Does not compile properly
@@ -80,24 +78,19 @@ with pkgs;
docker-compose docker-compose
# Media-related packages # Media-related packages
dejavu_fonts
emacs-all-the-icons-fonts
fd fd
ffmpeg ffmpeg
font-awesome imagemagick
# jetbrains-mono
hack-font
imagemagick
meslo-lgs-nf
noto-fonts
noto-fonts-color-emoji
# Node.js development tools # Node.js development tools
#nodePackages.npm # globally install npm #nodePackages.npm # globally install npm
#nodePackages.prettier #nodePackages.prettier
# Text and terminal utilities # Text and terminal utilities
xterm
htop htop
hunspell hunspell
@@ -115,6 +108,7 @@ with pkgs;
# Python packages # Python packages
# python3 # python3
virtualenv virtualenv
uv
(python3.withPackages ( (python3.withPackages (
python-pkgs: with python-pkgs; [ python-pkgs: with python-pkgs; [
@@ -153,7 +147,7 @@ with pkgs;
)) ))
# LLM # LLM
ollama ollama # Launchd definition in hosts/darwin/default.nix
# Social # Social
pidgin pidgin
@@ -229,6 +223,8 @@ with pkgs;
### Agents from https://github.com/numtide/llm-agents.nix ### Agents from https://github.com/numtide/llm-agents.nix
++ (with llm-agents.packages.${pkgs.stdenv.hostPlatform.system}; [ ++ (with llm-agents.packages.${pkgs.stdenv.hostPlatform.system}; [
hermes-desktop hermes-desktop
hermes-hud hermes-hud