Compare commits

...

5 commits

Author SHA1 Message Date
2b06c59dd8 flake, darwin: nixpkgs patching not required anymore with 25.05
keeping the architecture for doing so available for future needs though.
2025-05-20 23:11:00 +02:00
c0db186d73 Merge branch 'upgrade-25.05' into mainline 2025-05-20 23:09:29 +02:00
82b0a6cab1 Adjustments for 24.11 -> 25.05
package replacements, warnings, deprecations
2025-05-20 23:08:03 +02:00
d95c277383 flake: nixpkgs 24.11 -> 25.05, relock all inputs
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/b4bbdc6fde16fc2051fcde232f6e288cd22007ca' (2025-05-12)
  → 'github:nix-community/home-manager/d0bbd221482c2713cccb80220f3c9d16a6e20a33' (2025-05-18)
• Updated input 'nix-darwin':
    'github:LnL7/nix-darwin/fc843893cecc1838a59713ee3e50e9e7edc6207c' (2025-03-28)
  → 'github:LnL7/nix-darwin/74ecd01d2c122f8a4a48066ab1d48f3e01671671' (2025-05-20)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/e81fd167b33121269149c57806599045fd33eeed' (2025-05-13)
  → 'github:NixOS/nixos-hardware/6ac6ec6fcb410e15a60ef5ec94b8a2b35b5dd282' (2025-05-20)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/d89fc19e405cb2d55ce7cc114356846a0ee5e956' (2025-05-10)
  → 'github:NixOS/nixpkgs/292fa7d4f6519c074f0a50394dbbe69859bb6043' (2025-05-18)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a39ed32a651fdee6842ec930761e31d1f242cb94' (2025-05-11)
  → 'github:NixOS/nixpkgs/ca49c4304acf0973078db0a9d200fd2bae75676d' (2025-05-18)
• Updated input 'nur':
    'github:nix-community/NUR/e29c558fa4174da179e2e7f9a41c34466a200fda' (2025-05-14)
  → 'github:nix-community/NUR/e52a85ce10a990ac6d7356f3a753fde0860426a8' (2025-05-20)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/d89fc19e405cb2d55ce7cc114356846a0ee5e956' (2025-05-10)
  → 'github:nixos/nixpkgs/292fa7d4f6519c074f0a50394dbbe69859bb6043' (2025-05-18)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/29ec5026372e0dec56f890e50dbe4f45930320fd' (2025-05-02)
  → 'github:numtide/treefmt-nix/ab0378b61b0d85e73a8ab05d5c6029b5bd58c9fb' (2025-05-17)
2025-05-20 18:55:22 +02:00
e64fadd32b support for patching nixpkgs instance used by home manager
- introduce support for patching the used nixpkgs instance via
  `applyPatches`, see https://ertt.ca/nix/patch-nixpkgs/
- use patched nixpkgs instance in mkHomeManagern (TODO: use it in more
  places)
- add patch for nodejs-20 test failure in darwin (currently just in
  staging)
2025-05-16 13:43:10 +02:00
11 changed files with 191 additions and 156 deletions

View file

@ -181,7 +181,7 @@ in
# Flatpak support
services.flatpak.enable = true;
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
xdg.portal.extraPortals = [ pkgs.kdePackages.xdg-desktop-portal-kde ];
# Define a user account. Don't forget to set a password with `passwd`.
users.users.spiollinux = {

View file

@ -40,7 +40,7 @@
exfat
iotop
cifs-utils
dstat
dool
lsof
macchanger
borgbackup

View file

@ -1,7 +1,7 @@
{ pkgs, ... }:
{
# Enable sound.
hardware.pulseaudio = {
services.pulseaudio = {
enable = true;
package = pkgs.pulseaudioFull;
# decouple pulseaudio application and sink volumes

54
flake.lock generated
View file

@ -102,16 +102,16 @@
]
},
"locked": {
"lastModified": 1747020534,
"narHash": "sha256-D/6rkiC6w2p+4SwRiVKrWIeYzun8FBg7NlMKMwQMxO0=",
"lastModified": 1747556831,
"narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b4bbdc6fde16fc2051fcde232f6e288cd22007ca",
"rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"ref": "release-25.05",
"repo": "home-manager",
"type": "github"
}
@ -163,27 +163,27 @@
]
},
"locked": {
"lastModified": 1743127615,
"narHash": "sha256-+sMGqywrSr50BGMLMeY789mSrzjkoxZiu61eWjYS/8o=",
"lastModified": 1747752302,
"narHash": "sha256-XqNAcEFfe5tJZGlx+Su0G67ZwRwZmHNWwiMK0fji0Hw=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "fc843893cecc1838a59713ee3e50e9e7edc6207c",
"rev": "74ecd01d2c122f8a4a48066ab1d48f3e01671671",
"type": "github"
},
"original": {
"owner": "LnL7",
"ref": "nix-darwin-24.11",
"ref": "nix-darwin-25.05",
"repo": "nix-darwin",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1747129300,
"narHash": "sha256-L3clA5YGeYCF47ghsI7Tcex+DnaaN/BbQ4dR2wzoiKg=",
"lastModified": 1747723695,
"narHash": "sha256-lSXzv33yv1O9r9Ai1MtYFDX3OKhWsZMn/5FFb4Rni/k=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "e81fd167b33121269149c57806599045fd33eeed",
"rev": "6ac6ec6fcb410e15a60ef5ec94b8a2b35b5dd282",
"type": "github"
},
"original": {
@ -195,11 +195,11 @@
},
"nixos-unstable": {
"locked": {
"lastModified": 1746904237,
"narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=",
"lastModified": 1747542820,
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956",
"rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043",
"type": "github"
},
"original": {
@ -243,27 +243,27 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1746957726,
"narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=",
"lastModified": 1747610100,
"narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a39ed32a651fdee6842ec930761e31d1f242cb94",
"rev": "ca49c4304acf0973078db0a9d200fd2bae75676d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1746904237,
"narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=",
"lastModified": 1747542820,
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956",
"rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043",
"type": "github"
},
"original": {
@ -280,11 +280,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1747261242,
"narHash": "sha256-6p8kO62jbk+LUrDrLT23XbClNRyosnlfh/KCbE5fwnQ=",
"lastModified": 1747753144,
"narHash": "sha256-yCkh/1/NMrvXP0Ddqo4kX7rqLrn6euLkmP2RTvyLims=",
"owner": "nix-community",
"repo": "NUR",
"rev": "e29c558fa4174da179e2e7f9a41c34466a200fda",
"rev": "e52a85ce10a990ac6d7356f3a753fde0860426a8",
"type": "github"
},
"original": {
@ -398,11 +398,11 @@
]
},
"locked": {
"lastModified": 1746216483,
"narHash": "sha256-4h3s1L/kKqt3gMDcVfN8/4v2jqHrgLIe4qok4ApH5x4=",
"lastModified": 1747469671,
"narHash": "sha256-bo1ptiFoNqm6m1B2iAhJmWCBmqveLVvxom6xKmtuzjg=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "29ec5026372e0dec56f890e50dbe4f45930320fd",
"rev": "ab0378b61b0d85e73a8ab05d5c6029b5bd58c9fb",
"type": "github"
},
"original": {

View file

@ -2,11 +2,11 @@
description = "NixOS system flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
nixos-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
home-manager = {
url = "github:nix-community/home-manager/release-24.11";
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
lanzaboote = {
@ -19,7 +19,7 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nix-darwin = {
url = "github:LnL7/nix-darwin/nix-darwin-24.11";
url = "github:LnL7/nix-darwin/nix-darwin-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
@ -46,6 +46,16 @@
let
# FIXME: allow different systems
systems = utils.lib.system;
# ability to extend nixpkgs with patches, e.g. from PRs or staging. See https://ertt.ca/nix/patch-nixpkgs/
mkNixpkgs-patched =
system:
(import nixpkgs { inherit system; }).applyPatches {
name = "nixpkgs-patched";
src = nixpkgs;
patches = [ ];
};
# necessary to make the top-level inputs available to system configuration
# inspired by https://jade.fyi/blog/flakes-arent-real/
inputInjection =
@ -78,7 +88,7 @@
mkHomeManager =
confName: user: system: # unfortunately, home-manager configs are still system-specific
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
pkgs = import (mkNixpkgs-patched system) { inherit system; };
modules = [
{
imports = [

View file

@ -51,9 +51,7 @@
merge.tool = "vimdiff";
# provide `git mergetool -t nixfmt`
mergetool.nixfmt = {
cmd = "${
lib.getExe inputs.nixos-unstable.legacyPackages.${system}.nixfmt-rfc-style
} --mergetool \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"";
cmd = "${lib.getExe pkgs.nixfmt-rfc-style} --mergetool \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"";
trustExitCode = true;
};
core.excludesfile = toString (
@ -105,7 +103,7 @@
enable = true;
syntaxHighlighting.enable = true;
history.ignoreSpace = true;
initExtra = ''
initContent = ''
# Uncomment following line if you want red dots to be displayed while waiting for completion
COMPLETION_WAITING_DOTS="true"
### Fix slowness of pastes with zsh-syntax-highlighting.zsh

View file

@ -72,7 +72,7 @@
services.gpg-agent = {
enable = true;
#enableSshSupport = true;
pinentryPackage = pkgs.pinentry-qt;
pinentry.package = pkgs.pinentry-qt;
};
programs.ssh = {

View file

@ -17,16 +17,16 @@ let
inkscape
darktable
exiftool
gimp
gimp3
]
++ (with gimpPlugins; [
fourier
lqrPlugin
++ (with gimp3Plugins; [
#fourier # broken
#lqrPlugin # broken
])
++ lib.optionals pkgs.stdenv.isLinux [
hugin
luminanceHDR
xournal
#luminanceHDR # FIXME, build failure
xournalpp
];
multimediaApps =
@ -38,7 +38,7 @@ let
vlc
amarok
clementine
elisa
kdePackages.elisa
musescore
tenacity
soundkonverter
@ -122,7 +122,7 @@ let
];
pythonTools = with python3Packages; [
python3 # to shadow old macOS python
python # to shadow old macOS python
ipython
uv
pip
@ -148,7 +148,7 @@ let
desktopLinux = [
firefox
chromium
falkon
kdePackages.falkon
thunderbird
calibre
dino
@ -172,7 +172,6 @@ let
pulseaudioSupport = pkgs.stdenv.isLinux;
})
pdfpc
quaternion
nheko
gpxsee
subsurface
@ -183,7 +182,7 @@ let
#(pkgs.pidgin-with-plugins.override {
# plugins = [ pkgs.pidginotr ];})
unstable.logseq
logseq
# for Hibiscus banking software
jameica

View file

@ -11,112 +11,114 @@
enable = true;
package = pkgs.vscodium;
mutableExtensionsDir = true;
extensions =
with pkgs.vscode-extensions;
[
ms-python.python
vscodevim.vim
yzhang.markdown-all-in-one
bungcip.better-toml
eamodio.gitlens
jnoortheen.nix-ide
mkhl.direnv
editorconfig.editorconfig
]
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
profiles.default = {
extensions =
with pkgs.vscode-extensions;
[
ms-python.python
vscodevim.vim
yzhang.markdown-all-in-one
bungcip.better-toml
eamodio.gitlens
jnoortheen.nix-ide
mkhl.direnv
editorconfig.editorconfig
]
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "Sync-Rsync";
publisher = "vscode-ext";
version = "0.36.0";
sha256 = "sha256-0b/OHLZfXo0NAVAVkzZSqMGDzF0uvPRoiqsZtW1iOdA";
}
# TODO: probably available in nixpkgs soonish?
{
name = "mypy-type-checker";
publisher = "ms-python";
version = "2023.3.12681020";
sha256 = "sha256-rhed7CQlvxksVCGc9nPU2oYQWtXcAV5TzuG63e8Y3zM=";
}
{
name = "black-formatter";
publisher = "ms-python";
version = "2023.5.12771008";
sha256 = "sha256-lJG0RRUUMhQGs2a6oBtoqt+uY1kSJ0+cbmaP07hNh2o=";
}
{
name = "vscode-pets";
publisher = "tonybaloney";
version = "1.25.1";
sha256 = "sha256-as3e2LzKBSsiGs/UGIZ06XqbLh37irDUaCzslqITEJQ=";
}
];
userSettings =
let
defaultPython = pkgs.python3.withPackages (ps: [
ps.jedi
ps.jedi-language-server
ps.pip
ps.setuptools # for pkg_resources
ps.black
ps.mypy
]);
in
{
name = "Sync-Rsync";
publisher = "vscode-ext";
version = "0.36.0";
sha256 = "sha256-0b/OHLZfXo0NAVAVkzZSqMGDzF0uvPRoiqsZtW1iOdA";
}
# TODO: probably available in nixpkgs soonish?
{
name = "mypy-type-checker";
publisher = "ms-python";
version = "2023.3.12681020";
sha256 = "sha256-rhed7CQlvxksVCGc9nPU2oYQWtXcAV5TzuG63e8Y3zM=";
}
{
name = "black-formatter";
publisher = "ms-python";
version = "2023.5.12771008";
sha256 = "sha256-lJG0RRUUMhQGs2a6oBtoqt+uY1kSJ0+cbmaP07hNh2o=";
}
{
name = "vscode-pets";
publisher = "tonybaloney";
version = "1.25.1";
sha256 = "sha256-as3e2LzKBSsiGs/UGIZ06XqbLh37irDUaCzslqITEJQ=";
}
];
userSettings =
let
defaultPython = pkgs.python3.withPackages (ps: [
ps.jedi
ps.jedi-language-server
ps.pip
ps.setuptools # for pkg_resources
ps.black
ps.mypy
]);
in
{
"editor.fontLigatures" = true;
"editor.accessibilitySupport" = false; # prevent asking
"editor.cursorBlinking" = "phase";
"editor.stickyScroll.enabled" = true;
"workbench.editor.highlightModifiedTabs" = true;
"window.autoDetectColorScheme" = true;
"workbench.preferredDarkColorTheme" = "Default Dark Modern";
"workbench.preferredLightColorTheme" = "Default Light Modern";
"[nix]" = {
"editor.insertSpaces" = true;
"editor.tabSize" = 2;
# for now, disable automatic formatting to prevent disruption of existing code bases
"editor.formatOnPaste" = false;
"editor.formatOnSave" = false;
"editor.formatOnType" = false;
"editor.fontLigatures" = true;
"editor.accessibilitySupport" = false; # prevent asking
"editor.cursorBlinking" = "phase";
"editor.stickyScroll.enabled" = true;
"workbench.editor.highlightModifiedTabs" = true;
"window.autoDetectColorScheme" = true;
"workbench.preferredDarkColorTheme" = "Default Dark Modern";
"workbench.preferredLightColorTheme" = "Default Light Modern";
"[nix]" = {
"editor.insertSpaces" = true;
"editor.tabSize" = 2;
# for now, disable automatic formatting to prevent disruption of existing code bases
"editor.formatOnPaste" = false;
"editor.formatOnSave" = false;
"editor.formatOnType" = false;
};
"nix.formatterPath" = lib.getExe pkgs.nixfmt-rfc-style;
"nix.enableLanguageServer" = true;
"nix.serverPath" = lib.getExe pkgs.nixd;
"nix.serverSettings" = { };
"editor.fontSize" = 13;
"editor.fontWeight" = "normal";
"git.detectSubmodulesLimit" = 30;
"[python]" = {
"breadcrumbs.showClasses" = true;
"breadcrumbs.showFunctions" = true;
"gitlens.codeLens.symbolScopes" = [ "!Module" ];
"editor.defaultFormatter" = "ms-python.black-formatter";
"editor.formatOnSave" = true;
};
"python.languageServer" = "Jedi"; # don't use proprietary pylance server
"python.defaultInterpreterPath" = "${defaultPython}/bin/python";
"black-formatter.path" = [ "${pkgs.python3Packages.black}/bin/black" ];
"black-formatter.importStrategy" = "fromEnvironment";
"mypy-type-checker.path" = [ "${pkgs.python3Packages.mypy}/bin/mypy" ];
"mypy-type-checker.importStrategy" = "fromEnvironment";
"mypy-type-checker.args" = [ "--ignore-missing-imports" ];
"gitlens.telemetry.enabled" = false;
"vim.highlightedyank.enable" = true;
"vim.history" = 500;
"vim.neovimUseConfigFile" = true;
"vim.enableNeovim" = true;
"git.suggestSmartCommit" = false;
"editor.rulers" = [ 79 ];
"vim.useSystemClipboard" = true;
"vim.smartRelativeLine" = true;
"diffEditor.ignoreTrimWhitespace" = false;
"files.associations" = {
"*.py" = "python";
};
"editor.renderWhitespace" = "all";
"editor.fontFamily" = "Iosevka Curly Slab, Menlo, Monaco, 'Courier New', monospace";
"vim.neovimPath" = lib.getExe pkgs.myVim;
"sync-rsync.options" = [ ];
"direnv.path.executable" = lib.getExe pkgs.direnv;
};
"nix.formatterPath" = lib.getExe pkgs.nixfmt-rfc-style;
"nix.enableLanguageServer" = true;
"nix.serverPath" = lib.getExe pkgs.nixd;
"nix.serverSettings" = { };
"editor.fontSize" = 13;
"editor.fontWeight" = "normal";
"git.detectSubmodulesLimit" = 30;
"[python]" = {
"breadcrumbs.showClasses" = true;
"breadcrumbs.showFunctions" = true;
"gitlens.codeLens.symbolScopes" = [ "!Module" ];
"editor.defaultFormatter" = "ms-python.black-formatter";
"editor.formatOnSave" = true;
};
"python.languageServer" = "Jedi"; # don't use proprietary pylance server
"python.defaultInterpreterPath" = "${defaultPython}/bin/python";
"black-formatter.path" = [ "${pkgs.python3Packages.black}/bin/black" ];
"black-formatter.importStrategy" = "fromEnvironment";
"mypy-type-checker.path" = [ "${pkgs.python3Packages.mypy}/bin/mypy" ];
"mypy-type-checker.importStrategy" = "fromEnvironment";
"mypy-type-checker.args" = [ "--ignore-missing-imports" ];
"gitlens.telemetry.enabled" = false;
"vim.highlightedyank.enable" = true;
"vim.history" = 500;
"vim.neovimUseConfigFile" = true;
"vim.enableNeovim" = true;
"git.suggestSmartCommit" = false;
"editor.rulers" = [ 79 ];
"vim.useSystemClipboard" = true;
"vim.smartRelativeLine" = true;
"diffEditor.ignoreTrimWhitespace" = false;
"files.associations" = {
"*.py" = "python";
};
"editor.renderWhitespace" = "all";
"editor.fontFamily" = "Iosevka Curly Slab, Menlo, Monaco, 'Courier New', monospace";
"vim.neovimPath" = lib.getExe pkgs.myVim;
"sync-rsync.options" = [ ];
"direnv.path.executable" = lib.getExe pkgs.direnv;
};
};
};
}

View file

@ -89,7 +89,7 @@ in
};
# some extra shell scripts
programs.zsh.initExtra = lib.mkAfter (
programs.zsh.initContent = lib.mkAfter (
import ./scripts/reporsync.nix { inherit pkgs lib; }
+ import ./scripts/ssh-loop-fc.nix { inherit pkgs lib; }
);

View file

@ -0,0 +1,26 @@
From 362c2bc76d359b908ad1389ee28c23ee0e862324 Mon Sep 17 00:00:00 2001
From: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
Date: Mon, 7 Apr 2025 21:03:09 -0400
Subject: [PATCH] nodejs_20: fix test failure on darwin on latest MacOS 15.4
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
(cherry picked from commit 9674c1f688d12b99fbde26e6068ab62609fef3b1)
---
pkgs/development/web/nodejs/v20.nix | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/pkgs/development/web/nodejs/v20.nix b/pkgs/development/web/nodejs/v20.nix
index b9c9345c441afa..20cceb5b5d1cda 100644
--- a/pkgs/development/web/nodejs/v20.nix
+++ b/pkgs/development/web/nodejs/v20.nix
@@ -50,5 +50,10 @@ buildNodejs {
stripLen = 1;
hash = "sha256-6y3aEqxNC4iTQEv1oewodJrhOHxjp5xZMq1P1QL94Rg=";
})
+ # fix test failure on macos 15.4
+ (fetchpatch2 {
+ url = "https://github.com/nodejs/node/commit/33f6e1ea296cd20366ab94e666b03899a081af94.patch?full_index=1";
+ hash = "sha256-aVBMcQlhQeviUQpMIfC988jjDB2BgYzlMYsq+w16mzU=";
+ })
] ++ gypPatches;
}