Compare commits
22
Commits
86d529fdd0
...
brew.nix
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d42bfdf15 | ||
|
|
45bf546b85 | ||
|
|
c260e93db8 | ||
|
|
341f20fe7a | ||
|
|
980a42aaa1 | ||
|
|
f5ed23670c | ||
|
|
dd455dc053 | ||
|
|
b87fea970b | ||
|
|
ddfe41c461 | ||
|
|
c3cfbf5a6a | ||
|
|
1336a9bcd8 | ||
|
|
48ee955035 | ||
|
|
626a07e7e9 | ||
|
|
78ffc4e895 | ||
|
|
4d54560d77 | ||
|
|
3ef4bb5495 | ||
|
|
355d6995bf | ||
|
|
dd7520ec84 | ||
|
|
f311d671b2 | ||
|
|
126b92831a | ||
|
|
07aafd820c | ||
|
|
5111cb4178 |
@@ -2,7 +2,8 @@
|
|||||||
description = "Starter Configuration with secrets (removed) for MacOS and NixOS";
|
description = "Starter Configuration with secrets (removed) for MacOS and NixOS";
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
url = "github:nixos/nixpkgs//nixpkgs-25.11-darwin";
|
url = "github:nixos/nixpkgs//nixpkgs-26.05-darwin";
|
||||||
|
# url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||||
};
|
};
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
@@ -11,11 +12,17 @@
|
|||||||
url = "github:nix-community/nixd";
|
url = "github:nix-community/nixd";
|
||||||
};
|
};
|
||||||
darwin = {
|
darwin = {
|
||||||
url = "github:nix-darwin/nix-darwin/nix-darwin-25.11";
|
# url = "github:nix-darwin/nix-darwin";
|
||||||
|
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";
|
||||||
@@ -40,14 +47,25 @@
|
|||||||
nix-vscode-extensions = {
|
nix-vscode-extensions = {
|
||||||
url = "github:nix-community/nix-vscode-extensions";
|
url = "github:nix-community/nix-vscode-extensions";
|
||||||
};
|
};
|
||||||
catppuccin= {
|
catppuccin = {
|
||||||
url = "github:catppuccin/nix";
|
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 doesn't work with OCLP installed on X86
|
||||||
# mac-app-util = {
|
# mac-app-util = {
|
||||||
# url = "github:hraban/mac-app-util";
|
# url = "github:hraban/mac-app-util";
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
outputs =
|
outputs =
|
||||||
{
|
{
|
||||||
@@ -64,6 +82,9 @@
|
|||||||
sops-nix,
|
sops-nix,
|
||||||
nix-vscode-extensions,
|
nix-vscode-extensions,
|
||||||
catppuccin,
|
catppuccin,
|
||||||
|
llm-agents,
|
||||||
|
brew-api,
|
||||||
|
brew-nix,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
@@ -94,7 +115,7 @@
|
|||||||
export EDITOR=vim
|
export EDITOR=vim
|
||||||
'';
|
'';
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
rnix-lsp
|
bash
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -123,10 +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:
|
||||||
@@ -134,24 +153,14 @@
|
|||||||
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
|
||||||
|
|
||||||
];
|
];
|
||||||
@@ -161,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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+55
-18
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
llm-agents,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -39,7 +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 = [
|
||||||
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
gc = {
|
gc = {
|
||||||
@@ -57,39 +61,62 @@ 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-unstable;
|
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; })
|
++ (import ../../modules/shared/packages.nix { inherit pkgs llm-agents; })
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
@@ -105,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}";
|
||||||
|
|||||||
@@ -62,7 +62,8 @@ 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 = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
package = pkgs.nix;
|
package = pkgs.nix;
|
||||||
|
|||||||
+78
-58
@@ -1,69 +1,89 @@
|
|||||||
_:
|
{ pkgs }:
|
||||||
|
let
|
||||||
|
casks = pkgs.brewCasks;
|
||||||
|
|
||||||
|
# the override to replace the package’s 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
|
||||||
"blackhole-16ch"
|
casks.qobuz
|
||||||
"blackhole-2ch"
|
casks.steam
|
||||||
"box-drive"
|
casks."handbrake-app"
|
||||||
"box-tools"
|
casks."jellyfin-media-player"
|
||||||
"karabiner-elements"
|
casks.mediaelch
|
||||||
"keybase"
|
casks.obs
|
||||||
"spamsieve"
|
casks."vimediamanager"
|
||||||
"syncthing-app"
|
casks.vlc
|
||||||
"synology-drive"
|
|
||||||
|
|
||||||
# Entertainment Tools
|
# Productivity tools
|
||||||
"qobuz"
|
casks."1password"
|
||||||
"steam"
|
casks.bitwarden
|
||||||
"handbrake-app"
|
casks.calibre
|
||||||
"jellyfin-media-player"
|
casks."dbeaver-community"
|
||||||
"mediaelch"
|
casks.element
|
||||||
"obs"
|
casks."gpg-suite"
|
||||||
"vimediamanager"
|
casks."macdown-3000"
|
||||||
"vlc"
|
casks.mailmate
|
||||||
|
casks.orcaslicer
|
||||||
# Productivity Tools
|
casks.remanager
|
||||||
"1Password"
|
casks."qmk-toolbox"
|
||||||
"calibre"
|
casks.smartsheet
|
||||||
"dbeaver-community"
|
casks."copilot-cli"
|
||||||
"element"
|
|
||||||
"gpg-suite"
|
|
||||||
"macdown"
|
|
||||||
"mailmate"
|
|
||||||
"orcaslicer"
|
|
||||||
"qmk-toolbox"
|
|
||||||
"smartsheet"
|
|
||||||
"spamsieve"
|
|
||||||
# "sqlitestudio" # Doesn't work without Rosetta
|
|
||||||
"virtualbox"
|
|
||||||
"copilot-cli"
|
|
||||||
|
|
||||||
# Browsers
|
# Browsers
|
||||||
|
casks."brave-browser"
|
||||||
|
casks.firefox
|
||||||
|
casks."google-chrome"
|
||||||
|
|
||||||
|
# X11
|
||||||
|
casks.xquartz
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -3,11 +3,13 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
home-manager,
|
home-manager,
|
||||||
|
llm-agents,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
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
|
||||||
@@ -31,42 +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)
|
|
||||||
"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
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = casks;
|
||||||
|
|
||||||
# Enable home-manager
|
# Enable home-manager
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
@@ -81,7 +52,7 @@ in
|
|||||||
|
|
||||||
home = {
|
home = {
|
||||||
enableNixpkgsReleaseCheck = false;
|
enableNixpkgsReleaseCheck = false;
|
||||||
packages = pkgs.callPackage ./packages.nix { };
|
packages = pkgs.callPackage ./packages.nix { inherit llm-agents; };
|
||||||
file = lib.mkMerge [
|
file = lib.mkMerge [
|
||||||
sharedFiles
|
sharedFiles
|
||||||
additionalFiles
|
additionalFiles
|
||||||
@@ -95,6 +66,7 @@ in
|
|||||||
} // import ../shared/home-manager.nix { inherit config pkgs lib; };
|
} // import ../shared/home-manager.nix { inherit config pkgs lib; };
|
||||||
|
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
|
autoEnable = true;
|
||||||
enable = true;
|
enable = true;
|
||||||
flavor = "mocha";
|
flavor = "mocha";
|
||||||
};
|
};
|
||||||
@@ -126,10 +98,10 @@ in
|
|||||||
{ path = "/System/Applications/Mail.app/"; }
|
{ path = "/System/Applications/Mail.app/"; }
|
||||||
{ path = "/Applications/MailMate.app/"; }
|
{ path = "/Applications/MailMate.app/"; }
|
||||||
{ path = "/Applications/1Password.app/"; }
|
{ path = "/Applications/1Password.app/"; }
|
||||||
{ path = "/run/current-system/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/"; }
|
||||||
{
|
{
|
||||||
@@ -145,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/"; }
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{ pkgs }:
|
{ pkgs, llm-agents }:
|
||||||
|
|
||||||
with pkgs;
|
with pkgs;
|
||||||
let
|
let
|
||||||
shared-packages = import ../shared/packages.nix { inherit pkgs; };
|
shared-packages = import ../shared/packages.nix { inherit pkgs llm-agents; };
|
||||||
in
|
in
|
||||||
shared-packages
|
shared-packages
|
||||||
++ [
|
++ [
|
||||||
|
|||||||
@@ -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,9 +1,10 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
emacsOverlaySha256 = "11p1c1l04zrn8dd5w8zyzlv172z05dwi9avbckav4d5fk043m754";
|
emacsOverlaySha256 = "0pqnl05j86pyvrlqh5kk4sximi749xqgiffq47grw7v98nqd2yin";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
home-manager.backupFileExtension = "nix-backup";
|
home-manager.backupFileExtension = "nix-backup";
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config = {
|
config = {
|
||||||
@@ -11,6 +12,9 @@ in
|
|||||||
allowBroken = true;
|
allowBroken = true;
|
||||||
allowInsecure = false;
|
allowInsecure = false;
|
||||||
allowUnsupportedSystem = true;
|
allowUnsupportedSystem = true;
|
||||||
|
permittedInsecurePackages = [
|
||||||
|
"electron-39.8.10"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
overlays =
|
overlays =
|
||||||
@@ -22,8 +26,9 @@ in
|
|||||||
(attrNames (readDir path)))
|
(attrNames (readDir path)))
|
||||||
|
|
||||||
++ [(import (builtins.fetchTarball {
|
++ [(import (builtins.fetchTarball {
|
||||||
url = "https://github.com/dustinlyons/emacs-overlay/archive/refs/heads/master.tar.gz";
|
url = "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz";
|
||||||
sha256 = emacsOverlaySha256;
|
sha256 = emacsOverlaySha256;
|
||||||
}))];
|
}))
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -313,29 +313,29 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
enableDefaultConfig = false;
|
enableDefaultConfig = false;
|
||||||
matchBlocks."*" = {
|
settings= {
|
||||||
forwardAgent = false;
|
"*" = {
|
||||||
addKeysToAgent = "no";
|
forwardAgent = false;
|
||||||
compression = false;
|
addKeysToAgent = "no";
|
||||||
serverAliveInterval = 0;
|
compression = false;
|
||||||
serverAliveCountMax = 3;
|
serverAliveInterval = 0;
|
||||||
hashKnownHosts = false;
|
serverAliveCountMax = 3;
|
||||||
userKnownHostsFile = "~/.ssh/known_hosts";
|
hashKnownHosts = false;
|
||||||
controlMaster = "no";
|
userKnownHostsFile = "~/.ssh/known_hosts";
|
||||||
controlPath = "~/.ssh/master-%r@%n:%p";
|
controlMaster = "no";
|
||||||
controlPersist = "no";
|
controlPath = "~/.ssh/master-%r@%n:%p";
|
||||||
|
controlPersist = "no";
|
||||||
|
};
|
||||||
|
"moonunit.kolkman.org" = {
|
||||||
|
hostname = "moonunit.kolkman.org";
|
||||||
|
user = "root";
|
||||||
|
port = 2222;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
includes = [
|
includes = [
|
||||||
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/config_external")
|
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/config_external")
|
||||||
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/config_external")
|
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/config_external")
|
||||||
];
|
];
|
||||||
matchBlocks = {
|
|
||||||
"moonunit.kolkman.org" = {
|
|
||||||
hostname = "moonunit.kolkman.org";
|
|
||||||
user = "root";
|
|
||||||
port = 2222;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
tmux = {
|
tmux = {
|
||||||
|
|||||||
+74
-75
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs }:
|
{ pkgs, llm-agents }:
|
||||||
|
|
||||||
with pkgs;
|
with pkgs;
|
||||||
[
|
[
|
||||||
@@ -6,15 +6,21 @@ with pkgs;
|
|||||||
nixd
|
nixd
|
||||||
mas
|
mas
|
||||||
|
|
||||||
|
# X11
|
||||||
|
libx11
|
||||||
|
libxt
|
||||||
|
libxext
|
||||||
|
libxrender
|
||||||
|
libxrandr
|
||||||
|
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
|
# bitwarden-desktop #Does not compile properly
|
||||||
# bitwarden-cli
|
# bitwarden-cli # Fails on i386
|
||||||
yubikey-manager # provides ykman
|
yubikey-manager # provides ykman
|
||||||
pinentry_mac
|
pinentry_mac
|
||||||
|
|
||||||
# General packages for development and system management
|
# General packages for development and system management
|
||||||
@@ -32,8 +38,10 @@ with pkgs;
|
|||||||
minicom
|
minicom
|
||||||
mtr
|
mtr
|
||||||
ncdu
|
ncdu
|
||||||
neofetch
|
nodejs
|
||||||
nixfmt-rfc-style
|
|
||||||
|
fastfetch
|
||||||
|
nixfmt
|
||||||
openssh
|
openssh
|
||||||
postgresql
|
postgresql
|
||||||
sqlite
|
sqlite
|
||||||
@@ -51,14 +59,13 @@ with pkgs;
|
|||||||
cmake
|
cmake
|
||||||
dfu-util
|
dfu-util
|
||||||
go
|
go
|
||||||
jd-diff-patch #json diff patch
|
jd-diff-patch # json diff patch
|
||||||
jq # json tool
|
jq # json tool
|
||||||
llvm
|
llvm
|
||||||
nasm
|
nasm
|
||||||
ninja
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
||||||
|
|
||||||
# Encryption and security tools
|
# Encryption and security tools
|
||||||
age
|
age
|
||||||
gnupg
|
gnupg
|
||||||
@@ -71,29 +78,24 @@ 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
|
||||||
hack-font
|
|
||||||
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
|
||||||
iftop
|
iftop
|
||||||
# inetutils # includes Telnet
|
inetutils # includes Telnet
|
||||||
jetbrains-mono
|
|
||||||
jq
|
jq
|
||||||
ripgrep
|
ripgrep
|
||||||
tmux
|
tmux
|
||||||
@@ -106,68 +108,55 @@ with pkgs;
|
|||||||
# Python packages
|
# Python packages
|
||||||
# python3
|
# python3
|
||||||
virtualenv
|
virtualenv
|
||||||
|
uv
|
||||||
|
|
||||||
|
(python3.withPackages (
|
||||||
|
python-pkgs: with python-pkgs; [
|
||||||
(python3.withPackages (python-pkgs: with python-pkgs; [
|
bidict
|
||||||
|
blinker
|
||||||
|
certifi
|
||||||
|
charset-normalizer
|
||||||
|
click
|
||||||
|
flask
|
||||||
|
flask-socketio
|
||||||
|
h11
|
||||||
|
idna
|
||||||
|
importlib-metadata
|
||||||
|
itsdangerous
|
||||||
|
jinja2
|
||||||
|
markupsafe
|
||||||
|
mercantile
|
||||||
|
mlx-lm
|
||||||
|
numpy
|
||||||
pandas
|
pandas
|
||||||
|
pillow
|
||||||
|
pillow
|
||||||
|
python-engineio
|
||||||
|
python-socketio
|
||||||
requests
|
requests
|
||||||
|
requests
|
||||||
|
shapely
|
||||||
|
simple-websocket
|
||||||
tkinter
|
tkinter
|
||||||
|
tqdm
|
||||||
|
urllib3
|
||||||
|
werkzeug
|
||||||
|
wsproto
|
||||||
|
zipp
|
||||||
|
]
|
||||||
|
))
|
||||||
|
|
||||||
]))
|
# LLM
|
||||||
|
ollama # Launchd definition in hosts/darwin/default.nix
|
||||||
|
|
||||||
|
# Social
|
||||||
# LLM
|
pidgin
|
||||||
ollama
|
|
||||||
|
|
||||||
# Social
|
|
||||||
pidgin
|
|
||||||
|
|
||||||
# Rust Related
|
# Rust Related
|
||||||
rustc
|
rustc
|
||||||
cargo
|
cargo
|
||||||
platformio-core
|
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
|
# XML, Tex and LaTex
|
||||||
|
|
||||||
mdbook
|
mdbook
|
||||||
@@ -187,6 +176,7 @@ pidgin
|
|||||||
biblatex-apa6
|
biblatex-apa6
|
||||||
bibunits
|
bibunits
|
||||||
catchfile
|
catchfile
|
||||||
|
cjk
|
||||||
comment
|
comment
|
||||||
courier
|
courier
|
||||||
csquotes
|
csquotes
|
||||||
@@ -223,10 +213,19 @@ pidgin
|
|||||||
transparent
|
transparent
|
||||||
upquote
|
upquote
|
||||||
url
|
url
|
||||||
|
xecjk
|
||||||
xifthen
|
xifthen
|
||||||
xurl
|
xurl
|
||||||
;
|
;
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
### Agents from https://github.com/numtide/llm-agents.nix
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
++ (with llm-agents.packages.${pkgs.stdenv.hostPlatform.system}; [
|
||||||
|
hermes-desktop
|
||||||
|
hermes-hud
|
||||||
|
])
|
||||||
|
|||||||
Reference in New Issue
Block a user