Compare commits

17 Commits
Author SHA1 Message Date
Olaf 421f42e5f5 comment on how to test the overlay is needed. 2026-09-30 20:41:34 +02:00
Olaf 12f04133c2 Pinned Zotero after a compile time error. 2026-09-30 20:21:53 +02:00
Olaf 92fa9b7456 authorized keys and gpg/common CNC.js removed 2026-09-25 15:28:46 +02:00
Olaf 8b48e295c6 CNCjs and update 2026-09-25 12:49:11 +02:00
Olaf 303bf80633 bit of cleanup of linux remnants and libreoffice-bin from packages instead of mas 2026-09-18 10:59:57 +02:00
Olaf de3eb544a8 alicrity error [config change] 2026-09-16 16:22:03 +02:00
Olaf acdb913edb emacs startup error in projectile 2026-09-16 16:17:02 +02:00
Olaf 41a9a18e0a alacrity term definition 2026-09-16 16:16:48 +02:00
Olaf a0b974e71a texlive deprication 2026-09-16 16:16:36 +02:00
Olaf f923fb7717 emacs Sha 2026-09-16 14:23:19 +02:00
kolkman 969e5e5dd3 excluded nightsky on x86 2026-09-15 20:55:37 +02:00
kolkman 3e6a7391df Architecture split. 2026-09-15 20:46:52 +02:00
kolkman 1fdb0cdc3e mlx-lm - aarch- only 2026-09-15 20:19:48 +02:00
kolkman c0392c8366 Catpuccin exluded for x86_64_darwin 2026-09-15 18:15:47 +02:00
Olaf e782f238ed Afinity replacement 2026-09-15 14:59:11 +02:00
Olaf Kolkman cac3b86098 platformio and vscode mods (using AI) 2026-09-13 14:19:11 +02:00
Olaf Kolkman 56b4fd88c0 Added Affinity App 2026-09-13 09:30:13 +02:00
12 changed files with 194 additions and 120 deletions
+2 -1
View File
@@ -4,4 +4,5 @@ result
dump.txt dump.txt
flake.lock flake.lock
*~ *~
Platformio - NixOS Wiki*
.platformio/
+1 -10
View File
@@ -113,20 +113,11 @@ confirm_details
replace_tokens() { replace_tokens() {
local file="$1" local file="$1"
if [[ $(basename $1) != "apply" ]]; then if [[ $(basename $1) != "apply" ]]; then
if [[ "$OS" == "Darwin" ]]; then
# macOS # macOS
LC_ALL=C LANG=C sed -i '' -e "s/%USER%/$USERNAME/g" "$file" LC_ALL=C LANG=C sed -i '' -e "s/%USER%/$USERNAME/g" "$file"
LC_ALL=C LANG=C sed -i '' -e "s/%EMAIL%/$GIT_EMAIL/g" "$file" LC_ALL=C LANG=C sed -i '' -e "s/%EMAIL%/$GIT_EMAIL/g" "$file"
LC_ALL=C LANG=C sed -i '' -e "s/%NAME%/$GIT_NAME/g" "$file" LC_ALL=C LANG=C sed -i '' -e "s/%NAME%/$GIT_NAME/g" "$file"
else
# Linux or other
sed -i -e "s/%USER%/$USERNAME/g" "$file"
sed -i -e "s/%EMAIL%/$GIT_EMAIL/g" "$file"
sed -i -e "s/%NAME%/$GIT_NAME/g" "$file"
sed -i -e "s/%INTERFACE%/$PRIMARY_IFACE/g" "$file"
sed -i -e "s/%DISK%/$BOOT_DISK/g" "$file"
sed -i -e "s/%HOST%/$HOST_NAME/g" "$file"
fi
fi fi
} }
-10
View File
@@ -113,20 +113,10 @@ confirm_details
replace_tokens() { replace_tokens() {
local file="$1" local file="$1"
if [[ $(basename $1) != "apply" ]]; then if [[ $(basename $1) != "apply" ]]; then
if [[ "$OS" == "Darwin" ]]; then
# macOS # macOS
LC_ALL=C LANG=C sed -i '' -e "s/%USER%/$USERNAME/g" "$file" LC_ALL=C LANG=C sed -i '' -e "s/%USER%/$USERNAME/g" "$file"
LC_ALL=C LANG=C sed -i '' -e "s/%EMAIL%/$GIT_EMAIL/g" "$file" LC_ALL=C LANG=C sed -i '' -e "s/%EMAIL%/$GIT_EMAIL/g" "$file"
LC_ALL=C LANG=C sed -i '' -e "s/%NAME%/$GIT_NAME/g" "$file" LC_ALL=C LANG=C sed -i '' -e "s/%NAME%/$GIT_NAME/g" "$file"
else
# Linux or other
sed -i -e "s/%USER%/$USERNAME/g" "$file"
sed -i -e "s/%EMAIL%/$GIT_EMAIL/g" "$file"
sed -i -e "s/%NAME%/$GIT_NAME/g" "$file"
sed -i -e "s/%INTERFACE%/$PRIMARY_IFACE/g" "$file"
sed -i -e "s/%DISK%/$BOOT_DISK/g" "$file"
sed -i -e "s/%HOST%/$HOST_NAME/g" "$file"
fi
fi fi
} }
+89 -31
View File
@@ -2,23 +2,36 @@
description = "Starter configuration for macOS with nix-darwin"; description = "Starter configuration for macOS with nix-darwin";
inputs = { inputs = {
nixpkgs = { nixpkgsAarch64 = {
url = "github:nixos/nixpkgs//nixpkgs-26.05-darwin"; url = "github:nixos/nixpkgs/nixpkgs-unstable";
# url = "github:nixos/nixpkgs/nixpkgs-unstable";
}; };
home-manager = { nixpkgsX86 = {
url = "github:nixos/nixpkgs//nixpkgs-26.05-darwin";
};
homeManagerAarch64 = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgsAarch64";
};
homeManagerX86 = {
url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgsX86";
}; };
nixd = { nixd = {
url = "github:nix-community/nixd"; url = "github:nix-community/nixd";
}; };
darwin = { darwinAarch64 = {
# url = "github:nix-darwin/nix-darwin"; url = "github:nix-darwin/nix-darwin";
inputs.nixpkgs.follows = "nixpkgsAarch64";
};
darwinX86 = {
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 = "nixpkgsX86";
}; };
brew-src = { brew-src = {
@@ -43,7 +56,7 @@
sops-nix = { sops-nix = {
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgsAarch64";
}; };
nix-vscode-extensions = { nix-vscode-extensions = {
@@ -67,12 +80,15 @@
outputs = outputs =
{ {
self, self,
darwin, darwinAarch64,
darwinX86,
nix-homebrew, nix-homebrew,
homebrew-core, homebrew-core,
homebrew-cask, homebrew-cask,
home-manager, homeManagerAarch64,
nixpkgs, homeManagerX86,
nixpkgsAarch64,
nixpkgsX86,
nixd, nixd,
sops-nix, sops-nix,
nix-vscode-extensions, nix-vscode-extensions,
@@ -82,17 +98,33 @@
}@inputs: }@inputs:
let let
user = "olaf"; user = "olaf";
lib = nixpkgsAarch64.lib;
darwinSystems = [ darwinSystems = [
"aarch64-darwin" "aarch64-darwin"
"x86_64-darwin" "x86_64-darwin"
]; ];
forAllSystems = f: nixpkgs.lib.genAttrs darwinSystems f; perSystem = {
aarch64-darwin = {
nixpkgs = nixpkgsAarch64;
darwin = darwinAarch64;
home-manager = homeManagerAarch64;
pkgs = nixpkgsAarch64.legacyPackages.aarch64-darwin;
};
x86_64-darwin = {
nixpkgs = nixpkgsX86;
darwin = darwinX86;
home-manager = homeManagerX86;
pkgs = nixpkgsX86.legacyPackages.x86_64-darwin;
};
};
forAllSystems = f: lib.genAttrs darwinSystems f;
devShell = devShell =
system: system:
let let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = perSystem.${system}.pkgs;
in in
{ {
default = default =
@@ -101,30 +133,47 @@
nativeBuildInputs = with pkgs; [ nativeBuildInputs = with pkgs; [
bashInteractive bashInteractive
git git
pkgs.nixd
];
packages = with pkgs; [
platformio-core
(writeShellScriptBin "python" ''
if [ "$1" = "-m" ] && [ "$2" = "platformio" ]; then
shift 2
exec ${platformio-core}/bin/platformio "$@"
fi
exec ${python3}/bin/python3 "$@"
'')
openocd
avrdude
]; ];
shellHook = '' shellHook = ''
export EDITOR=vim export EDITOR=vim
export PLATFORMIO_CORE_DIR="$PWD/.platformio"
''; '';
buildInputs = with pkgs; [
rnix-lsp
];
}; };
}; };
mkApp = scriptName: system: { mkApp =
type = "app"; scriptName: system:
program = "${ let
(nixpkgs.legacyPackages.${system}.writeScriptBin scriptName '' pkgs = perSystem.${system}.pkgs;
in
{
type = "app";
program = "${
(pkgs.writeScriptBin scriptName ''
#!/usr/bin/env bash #!/usr/bin/env bash
PATH=${nixpkgs.legacyPackages.${system}.git}/bin:$PATH PATH=${pkgs.git}/bin:$PATH
echo "Running ${scriptName} for ${system}" echo "Running ${scriptName} for ${system}"
sudo chmod +x ${self}/apps/${system}/${scriptName} sudo chmod +x ${self}/apps/${system}/${scriptName}
exec ${self}/apps/${system}/${scriptName} exec ${self}/apps/${system}/${scriptName}
'') '')
}/bin/${scriptName}"; }/bin/${scriptName}";
}; };
mkDarwinApps = system: { mkDarwinApps = system: {
"apply" = mkApp "apply" system; "apply" = mkApp "apply" system;
@@ -135,15 +184,23 @@
in in
{ {
devShells = forAllSystems devShell; devShells = forAllSystems devShell;
apps = nixpkgs.lib.genAttrs darwinSystems mkDarwinApps; apps = lib.genAttrs darwinSystems mkDarwinApps;
darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems ( darwinConfigurations = lib.genAttrs darwinSystems (
system: system:
darwin.lib.darwinSystem { let
systemConfig = perSystem.${system};
in
systemConfig.darwin.lib.darwinSystem {
inherit system; inherit system;
specialArgs = inputs; specialArgs = inputs // {
inherit system;
nixpkgs = systemConfig.nixpkgs;
darwin = systemConfig.darwin;
home-manager = systemConfig.home-manager;
};
modules = [ modules = [
home-manager.darwinModules.home-manager systemConfig.home-manager.darwinModules.home-manager
nix-homebrew.darwinModules.nix-homebrew nix-homebrew.darwinModules.nix-homebrew
{ {
nix-homebrew = { nix-homebrew = {
@@ -157,9 +214,10 @@
autoMigrate = true; autoMigrate = true;
}; };
home-manager.sharedModules = [ home-manager.sharedModules =
catppuccin.homeModules.catppuccin lib.optionals (system != "x86_64-darwin") [
]; catppuccin.homeModules.catppuccin
];
} }
./hosts/darwin ./hosts/darwin
+1 -1
View File
@@ -49,7 +49,7 @@
:bind-keymap ("C-c p" . projectile-command-map) :bind-keymap ("C-c p" . projectile-command-map)
:defer 5 :defer 5
:config :config
(projectile-global-mode)) (projectile-mode +1))
+2 -3
View File
@@ -13,10 +13,9 @@ _:
"gimp" "gimp"
"inkscape" "inkscape"
"vcv-rack" "vcv-rack"
#"affinity-designer" "affinity"
#"affinity-photo"
#"affinity-publisher"
# Communication Tools # Communication Tools
"adium" "adium"
"discord" "discord"
+1 -1
View File
@@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
emacsOverlaySha256 = "0a130q51cc35hzaz1clj0l9d7xwn13mgrlbxqi4jaxpma2ir27lb"; emacsOverlaySha256 = "1smprpp3zqh04jdv0b7ibc69n025j1bnpp76lnwyvidilf055g2h";
in in
{ {
home-manager.backupFileExtension = "nix-backup"; home-manager.backupFileExtension = "nix-backup";
+24
View File
@@ -9,11 +9,32 @@ let
xdg_configHome = "${config.users.users.${user}.home}/.config"; xdg_configHome = "${config.users.users.${user}.home}/.config";
xdg_dataHome = "${config.users.users.${user}.home}/.local/share"; xdg_dataHome = "${config.users.users.${user}.home}/.local/share";
xdg_stateHome = "${config.users.users.${user}.home}/.local/state"; xdg_stateHome = "${config.users.users.${user}.home}/.local/state";
inkscapeExtensionsHome = "${config.users.users.${user}.home}/Library/Application Support/org.inkscape.Inkscape/config/inkscape/extensions";
hatchFillSource = pkgs.fetchzip {
url = "https://gitlab.com/moini_ink/hatch_fill/-/archive/master/hatch_fill-master.tar.gz";
sha256 = "1m3qhvf158dngg7shwd33xhn3bawn9yxw2srv2k8qjn889wjvi82";
};
in in
{ {
# Shared file definitions moved into the Darwin module set. # Shared file definitions moved into the Darwin module set.
"${config.users.users.${user}.home}/.gnupg/common.conf" = {
text = ''
# keyboxd configuration collides with gpg keymanager.app
# use-keyboxd
'';
};
"${config.users.users.${user}.home}/.ssh/authorized_keys" = {
text = ''
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAILVdAx+U1xhcJmh1hRaF0CVB0ivIF/U0oIbAWYPwko4iAAAABHNzaDo= Yubikey 35775013
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIIjnJyJUDnia6ZWPRa5iSBKCb+DMGmFtiFa+9gkeiTwQAAAABHNzaDo= Yubikey 36431751
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFhuPQUHUHchx8wHVCciMi6etzZStkpECbG/r/1imy+kAAAABHNzaDo= Yubikey 36431881
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILCEBZrQ9F3nLhEM9uqdPijut11vhYkdmLtj7gT/zgV3 Key Nov 2024
'';
};
# Raycast script so that "Run Emacs" is available and uses Emacs daemon # Raycast script so that "Run Emacs" is available and uses Emacs daemon
"${xdg_dataHome}/bin/emacsclient" = { "${xdg_dataHome}/bin/emacsclient" = {
executable = true; executable = true;
@@ -39,4 +60,7 @@ in
fi fi
''; '';
}; };
"${inkscapeExtensionsHome}/hatch_fill.inx".source = "${hatchFillSource}/hatch_fill.inx";
"${inkscapeExtensionsHome}/hatch_fill.py".source = "${hatchFillSource}/hatch_fill.py";
} }
+33 -27
View File
@@ -4,6 +4,7 @@
lib, lib,
home-manager, home-manager,
llm-agents, llm-agents,
system,
... ...
}: }:
@@ -61,13 +62,12 @@ in
"Affinity Publisher 2" = 1606941598; "Affinity Publisher 2" = 1606941598;
# "DaisyDisk" = 409907375; # (4.32) # Don't use this, we need the official version that is not sandboxed # "DaisyDisk" = 409907375; # (4.32) # Don't use this, we need the official version that is not sandboxed
"Fantastical - Calendar" = 975937182; "Fantastical - Calendar" = 975937182;
"Fedistar" = 6445863996; # (1.13.1) "Fedistar" = 6445863996; # (1.13.1)
"Home Assistant" = 1099568401; # (2025.7.1) "Home Assistant" = 1099568401; # (2025.7.1)
"Ice Cubes for Mastodon" = 6444915884; # (1.11.3) "Ice Cubes for Mastodon" = 6444915884; # (1.11.3)
"LibreOffice" = 1630474372; #"LibreOffice" = 1630474372;
"Monal - XMPP Chatting " = 1637078500; "Monal - XMPP Chatting " = 1637078500;
"MQTT Explorer" = 1455214828; # (0.3.5) "MQTT Explorer" = 1455214828; # (0.3.5)
"Night Sky" = 475772902; # 475772902
"Native SQLite Manager" = 1416282836; # (1.31.0) "Native SQLite Manager" = 1416282836; # (1.31.0)
"Remarkable Desktop" = 1276493162; # (3.19.0) "Remarkable Desktop" = 1276493162; # (3.19.0)
"Slack for Desktop" = 803453959; # (4.45.60) "Slack for Desktop" = 803453959; # (4.45.60)
@@ -75,6 +75,9 @@ in
"Windows App Installer" = 1295203466; # (1.0.16) "Windows App Installer" = 1295203466; # (1.0.16)
"Wireguard" = 1451685025; # (1.0.16) "Wireguard" = 1451685025; # (1.0.16)
### "1Password: Password Manager" = 1511601750; # (8.11.0) Does not seem to insta ### "1Password: Password Manager" = 1511601750; # (8.11.0) Does not seem to insta
}
// lib.optionalAttrs (system != "x86_64-darwin") {
"Night Sky" = 475772902; # 475772902
}; };
}; };
@@ -98,11 +101,15 @@ in
}; };
stateVersion = "23.11"; stateVersion = "23.11";
}; };
}
// lib.optionalAttrs (system != "x86_64-darwin") {
catppuccin = { catppuccin = {
autoEnable = true; autoEnable = true;
enable = true; enable = true;
flavor = "mocha"; flavor = "mocha";
}; };
}
// {
programs = { programs = {
alacritty = { alacritty = {
enable = true; enable = true;
@@ -111,8 +118,19 @@ in
style = "Block"; style = "Block";
}; };
env = {
TERM = "xterm-256color";
};
window = { window = {
opacity = 1.0; opacity = 1.0;
dynamic_padding = true;
decorations = "full";
title = "Terminal";
class = {
instance = "Alacritty";
general = "Alacritty";
};
padding = { padding = {
x = 24; x = 24;
y = 24; y = 24;
@@ -124,18 +142,7 @@ in
family = "MesloLGS NF"; family = "MesloLGS NF";
style = "Regular"; style = "Regular";
}; };
size = lib.mkMerge [ size = 14;
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux 10)
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin 14)
];
};
dynamic_padding = true;
decorations = "full";
title = "Terminal";
class = {
instance = "Alacritty";
general = "Alacritty";
}; };
colors = { colors = {
@@ -197,10 +204,7 @@ in
"vps3.evangineer.net".forwardAgent = true; "vps3.evangineer.net".forwardAgent = true;
"vps2.evangineer.net".forwardAgent = true; "vps2.evangineer.net".forwardAgent = true;
}; };
includes = [ includes = [ "/Users/${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")
];
}; };
gpg = { gpg = {
@@ -224,19 +228,19 @@ in
}; };
initContent = initContent =
let let
zshConfigBefore = lib.mkBefore ''
if [[ "$TERM" == "alacritty" ]] && ! infocmp alacritty >/dev/null 2>&1; then
export TERM="xterm-256color"
fi
export TERMINFO_DIRS="$HOME/.nix-profile/share/terminfo:/run/current-system/sw/share/terminfo:/nix/var/nix/profiles/default/share/terminfo:/usr/share/terminfo"
'';
zshConfigEarlyInit = lib.mkOrder 500 '' zshConfigEarlyInit = lib.mkOrder 500 ''
if [[ -f /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]]; then if [[ -f /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]]; then
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
. /nix/var/nix/profiles/default/etc/profile.d/nix.sh . /nix/var/nix/profiles/default/etc/profile.d/nix.sh
fi fi
if [[ "$TERM" == "alacritty" ]]; then
export TERMINFO_DIRS="$HOME/.nix-profile/share/terminfo:/run/current-system/sw/share/terminfo:/nix/var/nix/profiles/default/share/terminfo:/usr/share/terminfo"
if ! infocmp alacritty >/dev/null 2>&1; then
export TERM="xterm-256color"
fi
fi
# GPGAgent for SSH # GPGAgent for SSH
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
@@ -278,6 +282,7 @@ in
''; '';
in in
lib.mkMerge [ lib.mkMerge [
zshConfigBefore
zshConfigEarlyInit zshConfigEarlyInit
zshConfigLastInit zshConfigLastInit
]; ];
@@ -574,10 +579,11 @@ in
{ path = "/Applications/Visual Studio Code.app/"; } { path = "/Applications/Visual Studio Code.app/"; }
{ path = "/Applications/Home Assistant.app/"; } { path = "/Applications/Home Assistant.app/"; }
{ path = "/Applications/reMarkable.app/"; } { path = "/Applications/reMarkable.app/"; }
{ path = "/Applications/LibreOffice.app/"; } { path = "/run/current-system/Applications/LibreOffice.app/"; }
{ path = "/Applications/Microsoft Word.app/"; } { path = "/Applications/Microsoft Word.app/"; }
{ path = "/Applications/Microsoft PowerPoint.app/"; } { path = "/Applications/Microsoft PowerPoint.app/"; }
{ path = "/Applications/Microsoft Teams.app/"; } { path = "/Applications/Microsoft Teams.app/"; }
{ path = "/Applications/Affinity.app/"; }
{ path = "/Applications/Monal.app/"; } { path = "/Applications/Monal.app/"; }
{ path = "/System/Applications/Utilities/Screen Sharing.app/"; } { path = "/System/Applications/Utilities/Screen Sharing.app/"; }
{ path = "/run/current-system/Applications/Emacs.app/"; } { path = "/run/current-system/Applications/Emacs.app/"; }
+14 -6
View File
@@ -35,6 +35,7 @@ with pkgs;
killall killall
minicom minicom
mtr mtr
ncurses
ncdu ncdu
nodejs nodejs
@@ -80,11 +81,13 @@ with pkgs;
fd fd
ffmpeg ffmpeg
imagemagick imagemagick
scour
# Text and terminal utilities # Text and terminal utilities
hunspell hunspell
iftop iftop
inetutils # includes Telnet inetutils # includes Telnet
libreoffice-bin
ripgrep ripgrep
tmux tmux
tree tree
@@ -95,7 +98,9 @@ with pkgs;
uv uv
(python3.withPackages ( (python3.withPackages (
python-pkgs: with python-pkgs; [ python-pkgs:
with python-pkgs;
[
bidict bidict
blinker blinker
certifi certifi
@@ -105,12 +110,12 @@ with pkgs;
flask-socketio flask-socketio
h11 h11
idna idna
intelhex
importlib-metadata importlib-metadata
itsdangerous itsdangerous
jinja2 jinja2
markupsafe markupsafe
mercantile mercantile
mlx-lm
numpy numpy
pandas pandas
pillow pillow
@@ -126,6 +131,9 @@ with pkgs;
wsproto wsproto
zipp zipp
] ]
++ lib.optionals pkgs.stdenv.hostPlatform.isAarch64 [
mlx-lm
]
)) ))
# LLM # LLM
@@ -147,8 +155,8 @@ with pkgs;
xml2rfc xml2rfc
zotero zotero
(texlive.combine { (texliveSmall.withPackages (
inherit (texlive) texlivePackages: with texlivePackages; [
apa6 apa6
apa7 apa7
apacite apacite
@@ -197,8 +205,8 @@ with pkgs;
xecjk xecjk
xifthen xifthen
xurl xurl
; ]
}) ))
dockutil dockutil
] ]
-30
View File
@@ -1,30 +0,0 @@
self: super: with super; {
feather-font = let
version = "1.0";
pname = "feather-font";
in stdenv.mkDerivation {
name = "${pname}-${version}";
src = fetchzip {
url = "https://github.com/dustinlyons/feather-font/archive/refs/tags/${version}.zip";
sha256 = "sha256-Zsz8/qn7XAG6BVp4XdqooEqioFRV7bLH0bQkHZvFbsg=";
};
buildInputs = [ unzip ];
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp $src/feather.ttf $out/share/fonts/truetype/
'';
meta = with lib; {
homepage = "https://www.feathericons.com/";
description = "Set of font icons from the open source collection Feather Icons";
license = licenses.mit;
maintainers = [ maintainers.dlyons ];
platforms = [ platforms.x86_64-linux platforms.x86_64-darwin ];
};
};
}
+27
View File
@@ -0,0 +1,27 @@
# To test if a new Zotero package works without the overlay try
# nix --extra-experimental-features 'nix-command flakes' eval --raw --impure --expr '
# let
# flake = builtins.getFlake (toString ./.);
# pkgs = import flake.inputs.nixpkgsAarch64 {
# system = "aarch64-darwin";
# config.allowUnfree = true;
# };
# in
# pkgs.zotero.version
# '
final: prev:
let
pinnedPkgs = import (builtins.fetchTarball {
# Last nixpkgs Zotero package revision before 10.0.2.
url = "https://github.com/NixOS/nixpkgs/archive/4118d63e017feb54b48e7341e4b6f0ac5348f074.tar.gz";
sha256 = "1w33226pjk7hs9hbzy0ghcvgps0yicm0r2zxnnrzsr26pzvjjm6z";
}) {
system = prev.stdenv.hostPlatform.system;
config = prev.config;
};
in
{
zotero = pinnedPkgs.zotero;
}