From 3054e7bb1ef2ddb46092940627903c765a9e08bf Mon Sep 17 00:00:00 2001 From: Jordan Holt Date: Mon, 27 May 2024 14:54:35 +0100 Subject: [PATCH] Initial support for release 24.05 --- flake.lock | 355 ++++++++++++++------------- flake.nix | 6 +- modules/desktop/gnome.nix | 4 +- modules/desktop/hyprland.nix | 2 - modules/desktop/kde.nix | 2 - modules/editors/neovim/default.nix | 24 +- modules/hardware/presonus-studio.nix | 84 +++---- 7 files changed, 251 insertions(+), 226 deletions(-) diff --git a/flake.lock b/flake.lock index 5358df4..b0db0f7 100644 --- a/flake.lock +++ b/flake.lock @@ -21,29 +21,6 @@ "type": "github" } }, - "beautysh": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ], - "poetry2nix": "poetry2nix", - "utils": "utils_3" - }, - "locked": { - "lastModified": 1680308980, - "narHash": "sha256-aUEHV0jk2qIFP3jlsWYWhBbm+w/N9gzH3e4I5DcdB5s=", - "owner": "lovesegfault", - "repo": "beautysh", - "rev": "9845efc3ea3e86cc0d41465d720a47f521b2799c", - "type": "github" - }, - "original": { - "owner": "lovesegfault", - "repo": "beautysh", - "type": "github" - } - }, "blobs": { "flake": false, "locked": { @@ -102,6 +79,28 @@ "type": "github" } }, + "devshell": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713532798, + "narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=", + "owner": "numtide", + "repo": "devshell", + "rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -109,11 +108,11 @@ ] }, "locked": { - "lastModified": 1716431128, - "narHash": "sha256-t3T8HlX3udO6f4ilLcN+j5eC3m2gqsouzSGiriKK6vk=", + "lastModified": 1716773194, + "narHash": "sha256-rskkGmWlvYFb+CXedBiL8eWEuED0Es0XR4CkJ11RQKY=", "owner": "nix-community", "repo": "disko", - "rev": "7ffc4354dfeb37c8c725ae1465f04a9b45ec8606", + "rev": "10986091e47fb1180620b78438512b294b7e8f67", "type": "github" }, "original": { @@ -125,11 +124,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1715874608, - "narHash": "sha256-JouEEHCgFk9WMAi1VFqNP+Ow5I5NFD+B2+3E6BG1Y3c=", + "lastModified": 1716813977, + "narHash": "sha256-8fabA8OY1n2OcJFbbE03+bMydVANSBrNGo8hkzhXxxU=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "1efffcaa78904816f70dd493627412d299b23a52", + "rev": "8171c0578feb835ce66d49edba7429f46b7ac3f6", "type": "github" }, "original": { @@ -171,13 +170,27 @@ } }, "flake-compat_3": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -186,6 +199,42 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1715865404, + "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-root": { + "locked": { + "lastModified": 1713493429, + "narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=", + "owner": "srid", + "repo": "flake-root", + "rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "flake-root", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems_3" @@ -204,21 +253,30 @@ "type": "github" } }, - "flake-utils_2": { + "git-hooks": { "inputs": { - "systems": "systems_4" + "flake-compat": "flake-compat_4", + "gitignore": "gitignore", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ], + "nixpkgs-stable": [ + "nixvim", + "nixpkgs" + ] }, "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "lastModified": 1716213921, + "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "cachix", + "repo": "git-hooks.nix", "type": "github" } }, @@ -243,16 +301,16 @@ "inputs": { "nixpkgs": [ "nixvim", - "pre-commit-hooks", + "git-hooks", "nixpkgs" ] }, "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { @@ -289,27 +347,69 @@ ] }, "locked": { - "lastModified": 1716711146, - "narHash": "sha256-CZ8vs7lX/qDqzJo/Vp/59q6yFxo99we2TSecUYJpeOc=", + "lastModified": 1716736833, + "narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=", "owner": "nix-community", "repo": "home-manager", - "rev": "147c5eb5b39dee01c44feb6fca4632183e23e03b", + "rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.11", + "ref": "release-24.05", "repo": "home-manager", "type": "github" } }, + "home-manager_3": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1716736760, + "narHash": "sha256-h3RmnNknKYtVA+EvUSra6QAwfZjC2q1G8YA7W0gat8Y=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "5d151429e1e79107acf6d06dcc5ace4e642ec239", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1716511055, + "narHash": "sha256-5Fe/DGgvMhPEMl9VdVxv3zvwRcwNDmW5eRJ0gk72w7U=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "0bea8222f6e83247dd13b055d83e64bce02ee532", + "type": "github" + }, + "original": { + "owner": "lnl7", + "repo": "nix-darwin", + "type": "github" + } + }, "nixos-hardware": { "locked": { - "lastModified": 1716715385, - "narHash": "sha256-fe6Z33pbfqu4TI5ijmcaNc5vRBs633tyxJ12HTghy3w=", + "lastModified": 1716798306, + "narHash": "sha256-s8+OhT1WSPMoqbTawT30hj4NVMg+w03/a+2HVqcNhY0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "2e7d6c568063c83355fe066b8a8917ee758de1b8", + "rev": "9a20e17a73b052d6be912adcee220cb483477094", "type": "github" }, "original": { @@ -390,22 +490,6 @@ "type": "indirect" } }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1685801374, - "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-unstable": { "locked": { "lastModified": 1716509168, @@ -439,92 +523,44 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1716361217, - "narHash": "sha256-mzZDr00WUiUXVm1ujBVv6A0qRd8okaITyUp4ezYRgc4=", + "lastModified": 1716542732, + "narHash": "sha256-0Y9fRr0CUqWT4KgBITmaGwlnNIGMYuydu2L8iLTfHU4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "46397778ef1f73414b03ed553a3368f0e7e33c2f", + "rev": "d12251ef6e8e6a46e05689eeccd595bdbd3c9e60", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "type": "indirect" } }, "nixvim": { "inputs": { - "beautysh": "beautysh", - "flake-utils": "flake-utils", - "nixpkgs": [ - "nixpkgs" - ], - "pre-commit-hooks": "pre-commit-hooks" - }, - "locked": { - "lastModified": 1713951100, - "narHash": "sha256-ObeER1qB/i06lk7jQqVp9DdTKnykNaojOVoX9GcCoRc=", - "owner": "nix-community", - "repo": "nixvim", - "rev": "7c59615585f691b560d9522c94d8f3195853ca8e", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "nixos-23.11", - "repo": "nixvim", - "type": "github" - } - }, - "poetry2nix": { - "inputs": { - "flake-utils": [ - "nixvim", - "beautysh", - "utils" - ], - "nixpkgs": [ - "nixvim", - "beautysh", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1658665240, - "narHash": "sha256-/wkx7D7enyBPRjIkK0w7QxLQhzEkb3UxNQnjyc3FTUI=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "8b8edc85d24661d5a6d0d71d6a7011f3e699780f", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "poetry2nix", - "type": "github" - } - }, - "pre-commit-hooks": { - "inputs": { + "devshell": "devshell", "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_2", - "gitignore": "gitignore", + "flake-parts": "flake-parts", + "flake-root": "flake-root", + "git-hooks": "git-hooks", + "home-manager": "home-manager_3", + "nix-darwin": "nix-darwin", "nixpkgs": [ - "nixvim", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1703939133, - "narHash": "sha256-Gxe+mfOT6bL7wLC/tuT2F+V+Sb44jNr8YsJ3cyIl4Mo=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "9d3d7e18c6bc4473d7520200d4ddab12f8402d38", + "lastModified": 1716814660, + "narHash": "sha256-lDy4PXkwQs3qBxVCdwOcNDJbWBCMJcoGfsHnr3U3Okg=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "4175fac0ea144679b9818bfc3c7becfbd68e25a4", "type": "github" }, "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", + "owner": "nix-community", + "repo": "nixvim", "type": "github" } }, @@ -606,21 +642,6 @@ "type": "github" } }, - "systems_4": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "thunderbird-gnome-theme": { "flake": false, "locked": { @@ -637,6 +658,27 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1715940852, + "narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "2fba33a182602b9d49f0b2440513e5ee091d838b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "utils": { "inputs": { "systems": "systems_2" @@ -669,21 +711,6 @@ "repo": "flake-utils", "type": "github" } - }, - "utils_3": { - "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index a2cbe69..ad07ce1 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "NixOS system configuration"; inputs = { - nixpkgs.url = "nixpkgs/nixos-23.11"; + nixpkgs.url = "nixpkgs/nixos-24.05"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; # nixpkgs-master.url = "nixpkgs"; agenix.url = "github:ryantm/agenix"; @@ -12,7 +12,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { - url = "github:nix-community/home-manager/release-23.11"; + url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; firefox-gnome-theme = { @@ -29,7 +29,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { - url = "github:nix-community/nixvim/nixos-23.11"; + url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; secrets = { diff --git a/modules/desktop/gnome.nix b/modules/desktop/gnome.nix index 817958f..98f8304 100644 --- a/modules/desktop/gnome.nix +++ b/modules/desktop/gnome.nix @@ -188,7 +188,7 @@ in { gnomeExtensions.browser-tabs gnomeExtensions.burn-my-windows gnomeExtensions.desktop-cube - gnomeExtensions.desktop-zoom + # gnomeExtensions.desktop-zoom gnomeExtensions.espresso gnome44Extensions."flypie@schneegans.github.com" # gnomeExtensions.forge @@ -215,7 +215,5 @@ in { ] ++ (if config.virtualisation.podman.enable then [ pods ] else []); - - home.services.gpg-agent.pinentryFlavor = "gnome3"; }; } diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index 0e6c927..4921b0c 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -21,7 +21,5 @@ in { environment.systemPackages = with pkgs; [ adw-gtk3 ]; - - home.services.gpg-agent.pinentryFlavor = "gnome3"; }; } diff --git a/modules/desktop/kde.nix b/modules/desktop/kde.nix index adf7ae5..d9ba8f0 100644 --- a/modules/desktop/kde.nix +++ b/modules/desktop/kde.nix @@ -29,7 +29,5 @@ in { environment.systemPackages = with pkgs; [ adw-gtk3 ]; - - home.services.gpg-agent.pinentryFlavor = "qt"; }; } diff --git a/modules/editors/neovim/default.nix b/modules/editors/neovim/default.nix index 30d0475..cc595d4 100644 --- a/modules/editors/neovim/default.nix +++ b/modules/editors/neovim/default.nix @@ -42,7 +42,7 @@ in { providers.wl-copy.enable = true; }; - plugins.comment-nvim.enable = true; + plugins.comment.enable = true; plugins.hmts.enable = true; @@ -73,18 +73,20 @@ in { plugins.nvim-autopairs.enable = true; - plugins.nvim-cmp = { + plugins.cmp = { enable = true; autoEnableSources = true; - sources = [ - { name = "nvim_lsp"; } - { name = "path"; } - { name = "buffer"; } - ]; - mapping = { - "" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})"; - "" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})"; - "" = "cmp.mapping.confirm({ select = true })"; + settings = { + sources = [ + { name = "nvim_lsp"; } + { name = "path"; } + { name = "buffer"; } + ]; + mapping = { + "" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})"; + "" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})"; + "" = "cmp.mapping.confirm({ select = true })"; + }; }; }; diff --git a/modules/hardware/presonus-studio.nix b/modules/hardware/presonus-studio.nix index c643b14..2b4d77d 100644 --- a/modules/hardware/presonus-studio.nix +++ b/modules/hardware/presonus-studio.nix @@ -7,12 +7,12 @@ let patched = snd-usb-audio-module.overrideAttrs (prev: { patches = [ ./0001-Update-device-ID-for-PreSonus-1824c.patch ]; }); - upmixConfig = '' - stream.properties = { - channelmix.upmix = true - channelmix.upmix-method = psd - } - ''; + upmixConfig = { + "stream.properties" = { + "channelmix.upmix" = true; + "channelmix.upmix-method" = "psd"; + }; + }; in { options.modules.hardware.presonus-studio = { enable = lib.mkOption { @@ -44,43 +44,45 @@ in { ''; }; - environment.etc = { - "pipewire/pipewire.conf.d/10-network.conf".text = '' - context.modules = [ - { - name = libpipewire-module-rtp-session - args = { - stream.props = { - node.name = "rtp-source" - } + services.pipewire.extraConfig = { + pipewire = { + "10-network" = { + "context.modules" = [ + { + "name" = "libpipewire-module-rtp-session"; + "args" = { + "stream.props" = { + "node.name" = "rtp-source"; + }; + }; } - } - ] - ''; - "pipewire/pipewire.conf.d/surround.conf".text = '' - context.modules = [ - { - name = libpipewire-module-loopback - args = { - node.description = "Genelec 4.1 Surround" - capture.props = { - node.name = "Genelec_Speakers" - media.class = "Audio/Sink" - audio.position = [ FL FR SL SR LFE ] - } - playback.props = { - node.name = "playback.Genelec_Speakers" - audio.position = [ AUX0 AUX1 AUX3 AUX4 AUX5 ] - target.object = "alsa_output.usb-PreSonus_Studio_1824c_SC4E21110775-00.multichannel-output" - stream.dont-remix = true - node.passive = true - } + ]; + }; + "surround" = { + "context.modules" = [ + { + "name" = "libpipewire-module-loopback"; + "args" = { + "node.description" = "Genelec 4.1 Surround"; + "capture.props" = { + "node.name" = "Genelec_Speakers"; + "media.class" = "Audio/Sink"; + "audio.position" = [ "FL" "FR" "SL" "SR" "LFE" ]; + }; + "playback.props" = { + "node.name" = "playback.Genelec_Speakers"; + "audio.position" = [ "AUX0" "AUX1" "AUX3" "AUX4" "AUX5" ]; + "target.object" = "alsa_output.usb-PreSonus_Studio_1824c_SC4E21110775-00.multichannel-output"; + "stream.dont-remix" = true; + "node.passive" = true; + }; + }; } - } - ] - ''; - "pipewire/pipewire-pulse.conf.d/40-upmix.conf".text = upmixConfig; - "pipewire/client-rt.conf.d/40-upmix.conf".text = upmixConfig; + ]; + }; + }; + pipewire-pulse."40-upmix" = upmixConfig; + client-rt."40-upmix" = upmixConfig; }; }; }