From f687548762f97411b548e4183185b22aa1c73b02 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Tue, 22 Jul 2025 20:54:09 +0200 Subject: [PATCH 01/15] lanzaboote: fix module using flake-compat --- modules/system/boot/lanzaboote.mod.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/modules/system/boot/lanzaboote.mod.nix b/modules/system/boot/lanzaboote.mod.nix index 574d89f..77fbf5f 100644 --- a/modules/system/boot/lanzaboote.mod.nix +++ b/modules/system/boot/lanzaboote.mod.nix @@ -4,17 +4,19 @@ pkgs, sources, ... -}: -let +}: let inherit (lib.modules) mkIf; inherit (lib.options) mkEnableOption; cfg = config.modules.system.boot.lanzaboote; -in -{ +in { options.modules.system.boot.lanzaboote.enable = mkEnableOption "Lanzaboote"; imports = [ - (sources.lanzaboote + "/nix/modules/lanzaboote.nix") + (import sources.flake-compat { + src = sources.lanzaboote; + copySourceTreeToStore = false; + useBuiltinsFetchTree = true; + }).outputs.nixosModules.lanzaboote ]; config = mkIf cfg.enable { @@ -31,6 +33,6 @@ in loader.systemd-boot.enable = lib.mkForce false; }; - environment.systemPackages = [ pkgs.sbctl ]; + environment.systemPackages = [pkgs.sbctl]; }; } From 77b014a4572a97180d912cf3728120ee6eb2cd11 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Wed, 23 Jul 2025 17:29:50 +0200 Subject: [PATCH 02/15] hermit: fix configuration --- hosts/hermit/configuration.nix | 3 +-- hosts/hermit/programs.nix | 7 +++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/hosts/hermit/configuration.nix b/hosts/hermit/configuration.nix index 42a14c8..597e9e0 100644 --- a/hosts/hermit/configuration.nix +++ b/hosts/hermit/configuration.nix @@ -24,7 +24,6 @@ modules = { wms.wayland.enable = true; - desktops.hyprland.enable = false; # desktops.niri.enable = true; theming = { @@ -34,6 +33,7 @@ system = { systemType = "laptop"; + isGraphical = true; boot = { systemd-boot.enable = true; @@ -82,7 +82,6 @@ btop.enable = true; nh.enable = true; thunar.enable = true; - schizofox.enable = false; }; }; system.stateVersion = "23.11"; diff --git a/hosts/hermit/programs.nix b/hosts/hermit/programs.nix index a370437..1fcb0bf 100644 --- a/hosts/hermit/programs.nix +++ b/hosts/hermit/programs.nix @@ -1,7 +1,7 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { environment.systemPackages = builtins.attrValues { - inherit (pkgs) + inherit + (pkgs) abook aerc aichat @@ -76,6 +76,5 @@ xournalpp zathura ; - inherit new-nil; }; } From 6bba60f5d94b7e86ba70e81fdded49acd088de79 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Wed, 23 Jul 2025 17:30:31 +0200 Subject: [PATCH 03/15] hermit: disable foot --- hosts/hermit/configuration.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/hosts/hermit/configuration.nix b/hosts/hermit/configuration.nix index 597e9e0..c179d5e 100644 --- a/hosts/hermit/configuration.nix +++ b/hosts/hermit/configuration.nix @@ -55,11 +55,6 @@ editors = { helix.enable = true; }; - # nushell.enable = true; - # starship.enable = true; - terminals = { - foot.enable = true; - }; }; sound.enable = true; }; From 658530b991130b1957d7753ab61be25f32b2c381 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:36:34 +0200 Subject: [PATCH 04/15] brave: switch to normal brave package Vulkan in chromium does not yet work on Wayland. I'd rather have an OpenGL browser on Wayland than a Vulkan browser in XWayland. --- modules/programs/gui/brave.mod.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/programs/gui/brave.mod.nix b/modules/programs/gui/brave.mod.nix index b55a250..64bc80f 100644 --- a/modules/programs/gui/brave.mod.nix +++ b/modules/programs/gui/brave.mod.nix @@ -21,7 +21,7 @@ let brave-wrapped = pkgs.symlinkJoin { name = "brave"; paths = [ - (pkgs.brave.override { vulkanSupport = true; }) + pkgs.brave ]; nativeBuildInputs = [ pkgs.makeWrapper ]; postBuild = '' From cc9735063b5c0ad40807cd543673a979b6dfe96f Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:42:11 +0200 Subject: [PATCH 05/15] brave: set password store to gnome-keyring --- modules/programs/gui/brave.mod.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/programs/gui/brave.mod.nix b/modules/programs/gui/brave.mod.nix index 64bc80f..ebf9db9 100644 --- a/modules/programs/gui/brave.mod.nix +++ b/modules/programs/gui/brave.mod.nix @@ -10,13 +10,14 @@ let # https://peter.sh/experiments/chromium-command-line-switches/ flags = concatStringsSep " " [ "--no-first-run" - "--enable-features=UseOzonePlatform" "--enable-gpu-rasterization" "--force-dark-mode" "--enable-smooth-scrolling" "--enable-features=UseOzonePlatform" "--ozone-platform=wayland" "--user-agent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3'" + # https://source.chromium.org/chromium/chromium/src/+/main:headless/app/headless_shell_switches.cc;drc=3556fbff47c18193f4a39d2496596e89b8307a15;l=47-55 + "--password-store=gnome-keyring" ]; brave-wrapped = pkgs.symlinkJoin { name = "brave"; From d3d08aa4af6d8961913e69b535abe457037bda0f Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:55:16 +0200 Subject: [PATCH 06/15] security: switch to gnome-keyring instead of kwallet. gnome-keyring seems to be more reliable in the long term I only have to force disable gcr, which it ships with it. --- modules/system/os/security/security.mod.nix | 39 ++++++++++++--------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/modules/system/os/security/security.mod.nix b/modules/system/os/security/security.mod.nix index 0525506..4c3175a 100644 --- a/modules/system/os/security/security.mod.nix +++ b/modules/system/os/security/security.mod.nix @@ -1,4 +1,7 @@ -{ pkgs, ... }: +{ lib, pkgs, ... }: +let + inherit (lib.modules) mkForce; +in { security = { # Enable Soteria, a GTK-based Polkit authentication agent. @@ -9,23 +12,25 @@ packages = [ pkgs.apparmor-profiles ]; }; - pam.services = { - login.kwallet = { - enable = true; - # package = pkgs.kdePackages.kwallet-pam; - }; - niri = { - allowNullPassword = true; - kwallet = { - enable = true; - package = pkgs.kdePackages.kwallet-pam; - }; - }; + pam.services.login.enableGnomeKeyring = true; + + wrappers.gnome-keyring-daemon = { + owner = "root"; + group = "root"; + capabilities = "cap_ipc_lock=ep"; + source = "${pkgs.gnome-keyring}/bin/gnome-keyring-daemon"; }; }; - environment.systemPackages = with pkgs.kdePackages; [ - kwallet # provides helper service - kwallet-pam # provides helper service - kwalletmanager # provides KCMs and stuff + services = { + dbus.packages = [ + pkgs.gnome-keyring + ]; + gnome.gcr-ssh-agent.enable = mkForce false; + }; + xdg.portal.extraPortals = [ + pkgs.gnome-keyring + ]; + environment.systemPackages = [ + pkgs.gnome-keyring ]; } From 5b0b9d9992fb10b9354c32d3fb4c34f61034d165 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:56:08 +0200 Subject: [PATCH 07/15] npins: update sources --- npins/sources.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index 7e9393a..25e0429 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -63,9 +63,9 @@ }, "branch": "main", "submodules": false, - "revision": "9d8ab804355d95d38a61ad5053d415ca1882d554", - "url": "https://git.lix.systems/lix-project/lix/archive/9d8ab804355d95d38a61ad5053d415ca1882d554.tar.gz", - "hash": "sha256-CFoDQz2mnfKWtAb6Y01xu+bfM+Q/6dHGkxKq6W+dzN8=" + "revision": "43d6a79863d5e28b6a2cd98ecb22fe4ff491057e", + "url": "https://git.lix.systems/lix-project/lix/archive/43d6a79863d5e28b6a2cd98ecb22fe4ff491057e.tar.gz", + "hash": "sha256-/C+d8ET7B935H+xY9NTlw2kFiCeDq380yhv9Ez4379k=" }, "lix-module": { "type": "Git", @@ -142,8 +142,8 @@ "nixpkgs": { "type": "Channel", "name": "nixpkgs-unstable", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre832020.6b4955211758/nixexprs.tar.xz", - "hash": "sha256-X3H1JILbG//yt1OHrx7GHwyIUoqmR9jXARlwbZyPF4k=" + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre833298.83e677f31c84/nixexprs.tar.xz", + "hash": "sha256-GCDhyo1oW8YXwYNKSsJzwy4ilTMnRrPh+6OTWatUYn4=" }, "npins": { "type": "Git", @@ -166,9 +166,9 @@ }, "branch": "master", "submodules": false, - "revision": "759bd721dfd38e2ce02048f378ee025bcb175f93", + "revision": "db77c71c216530159c2dcf5b269ebb4706b2e2dd", "url": null, - "hash": "sha256-GjN9BXxWMlmIAAcKYrsrEPVT/cJkWieG3YOJG7sJuGk=" + "hash": "sha256-QG14m53ZGp2Gk7xD2Q+Tf7RYCKfk/BYRaBtX3X4IKbc=" }, "spicetify-nix": { "type": "Git", @@ -179,9 +179,9 @@ }, "branch": "master", "submodules": false, - "revision": "8f9fd947c52aa6adb6bafe72516eccf186708954", - "url": "https://github.com/Gerg-L/spicetify-nix/archive/8f9fd947c52aa6adb6bafe72516eccf186708954.tar.gz", - "hash": "sha256-R2iDZb94RosuCeuIukacZVVXxzWYr4jn/QI/ax15nW8=" + "revision": "51ac0aee7e7ee21ca0874b913f07f9004bc9311f", + "url": "https://github.com/Gerg-L/spicetify-nix/archive/51ac0aee7e7ee21ca0874b913f07f9004bc9311f.tar.gz", + "hash": "sha256-1AK8+W7d5eNyGRkcWHa+9oIChLJbY6jt7ujSJo+ft4M=" }, "systems": { "type": "Git", From 5ea857c6cf14f3f5012f1bfa0c6037bb459dbd2f Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:56:28 +0200 Subject: [PATCH 08/15] packages: add uad and ouch --- modules/packages/packages.mod.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/packages/packages.mod.nix b/modules/packages/packages.mod.nix index 4cbf8f4..c54378d 100644 --- a/modules/packages/packages.mod.nix +++ b/modules/packages/packages.mod.nix @@ -10,9 +10,11 @@ in environment.systemPackages = with pkgs; [ + universal-android-debloater emacs-pgtk # better cd zoxide + ouch # pipe viewer pv # hex editor From 512921e8f6a584791aafa654253de98da6b964be Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:56:46 +0200 Subject: [PATCH 09/15] users: switch to ssh as default shell My efforts to use nushell as a default shell have been for naught so far. It silently breaks stuff you wouln't expect it to break, like shipping environment variables and stuff. --- modules/other/users.mod.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/other/users.mod.nix b/modules/other/users.mod.nix index 1189e55..091e76c 100644 --- a/modules/other/users.mod.nix +++ b/modules/other/users.mod.nix @@ -57,6 +57,8 @@ in }; }; config = { + # environment.shells = [ pkgs.nushell ]; + programs.zsh.enable = true; users = { mutableUsers = true; users = { @@ -71,7 +73,7 @@ in "nix" "docker" ]; - shell = pkgs.nushell; + shell = pkgs.zsh; }; }; }; From e21c2c25c0da0b7529149c19b7f8b441d43ecaf3 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:58:13 +0200 Subject: [PATCH 10/15] ghostty: set background opacity to 1 --- modules/home/programs/ghostty.hjem.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/programs/ghostty.hjem.nix b/modules/home/programs/ghostty.hjem.nix index 8f95e1c..c9f1531 100644 --- a/modules/home/programs/ghostty.hjem.nix +++ b/modules/home/programs/ghostty.hjem.nix @@ -31,7 +31,7 @@ let font-family = "JetBrainsMonoNerdFont"; app-notifications = "no-clipboard-copy"; - background-opacity = 0.7; + background-opacity = 1.0; bold-is-bright = "true"; confirm-close-surface = "false"; cursor-style-blink = "false"; From 7533a9fc0296bb69c6dd958c29cc800ebb24d8b6 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:58:26 +0200 Subject: [PATCH 11/15] steam: add udev rule for controller --- modules/programs/gui/steam.mod.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/programs/gui/steam.mod.nix b/modules/programs/gui/steam.mod.nix index 7d22abe..c9a8c72 100644 --- a/modules/programs/gui/steam.mod.nix +++ b/modules/programs/gui/steam.mod.nix @@ -31,7 +31,10 @@ in gamescopeSession.enable = true; extraCompatPackages = [ pkgs.proton-ge-bin.steamcompattool ]; }; - # See + + services.udev.extraRules = '' + SUBSYSTEM=="input", ATTRS{idVendor}=="2dc8", ATTRS{idProduct}=="3106", MODE="0660", GROUP="input" + ''; # See # https://wiki.nixos.org/wiki/GameMode programs.gamemode.enable = true; }; From 08a8b1f39cd90458ba2f5273452aa365e9bf9509 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:58:43 +0200 Subject: [PATCH 12/15] greetd: cleanup --- modules/services/greetd.mod.nix | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/modules/services/greetd.mod.nix b/modules/services/greetd.mod.nix index 468c302..b55b815 100644 --- a/modules/services/greetd.mod.nix +++ b/modules/services/greetd.mod.nix @@ -12,7 +12,6 @@ let inherit (config.meta.mainUser) username; cfg = config.modules.services.greetd; - uwsmEnabled = config.modules.services.uwsm.enable; in { options.modules.services.greetd = { @@ -28,8 +27,7 @@ in session = mkOption { description = "Which login session to start"; type = str; - default = - if uwsmEnabled then "${getExe config.programs.uwsm.package} start Hyprland" else "Hyprland"; + default = "niri"; }; }; @@ -37,20 +35,17 @@ in services.greetd = let session = { - # command = '' - # ${pkgs.greetd.tuigreet}/bin/tuigreet \ - # -c \"${cfg.session}\" \ - # -r - # -t --time-format "DD.MM.YYYY" - # --asteriks''; - - command = "${getExe config.programs.uwsm.package} start hyprland-uwsm.desktop"; - user = username; + command = '' + ${getExe pkgs.greetd.tuigreet} \ + -c \"${cfg.session}\" \ + -r + -t --time-format "DD.MM.YYYY" + --asteriks''; + user = "greeter"; }; in { enable = true; - package = pkgs.greetd; vt = 7; settings = { default_session = session; From c4c770e703d5ef57a6c6f2835ee340f19eb5d124 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:58:52 +0200 Subject: [PATCH 13/15] niri: config: a bunch of changes --- modules/wms/niri/config.kdl | 44 ++++++++++--------------------------- 1 file changed, 11 insertions(+), 33 deletions(-) diff --git a/modules/wms/niri/config.kdl b/modules/wms/niri/config.kdl index 962ee83..679818b 100644 --- a/modules/wms/niri/config.kdl +++ b/modules/wms/niri/config.kdl @@ -66,9 +66,7 @@ layout { } background-color "transparent" } -// xwayland stuff -// spawn-at-startup "xwayland-satellite" -spawn-at-startup "kwalletd6" +spawn-at-startup "waybar" spawn-at-startup "nu" "-c" "quickshell --path ~/repos/projects/nichts/main/modules/style/quickshell/shell" environment { DISPLAY ":0" @@ -85,37 +83,15 @@ switch-events { } } overview { - zoom 0.60 + zoom 0.6 backdrop-color "#777777" } animations { window-close { - duration-ms 250 - curve "linear" - custom-shader r" - vec4 fall_and_rotate(vec3 coords_geo, vec3 size_geo) { - - float progress = niri_clamped_progress * niri_clamped_progress; - vec2 coords = (coords_geo.xy - vec2(0.5, 1.0)) * size_geo.xy; - coords.y -= progress * 1440.0; - float random = (niri_random_seed - 0.5) / 2.0; - random = sign(random) - random; - float max_angle = 0.5 * random; - float angle = progress * max_angle; - mat2 rotate = mat2(cos(angle), -sin(angle), sin(angle), cos(angle)); - coords = rotate * coords; - coords_geo = vec3(coords / size_geo.xy + vec2(0.5, 1.0), 1.0); - vec3 coords_tex = niri_geo_to_tex * coords_geo; - vec4 color = texture2D(niri_tex, coords_tex.st); - - return color; + duration-ms 250 + curve "linear" + custom-shader "\n vec4 fall_and_rotate(vec3 coords_geo, vec3 size_geo) {\n\n float progress = niri_clamped_progress * niri_clamped_progress;\n vec2 coords = (coords_geo.xy - vec2(0.5, 1.0)) * size_geo.xy;\n coords.y -= progress * 1440.0;\n float random = (niri_random_seed - 0.5) / 2.0;\n random = sign(random) - random;\n float max_angle = 0.5 * random;\n float angle = progress * max_angle;\n mat2 rotate = mat2(cos(angle), -sin(angle), sin(angle), cos(angle));\n coords = rotate * coords;\n coords_geo = vec3(coords / size_geo.xy + vec2(0.5, 1.0), 1.0);\n vec3 coords_tex = niri_geo_to_tex * coords_geo;\n vec4 color = texture2D(niri_tex, coords_tex.st);\n\n return color;\n }\n\n vec4 close_color(vec3 coords_geo, vec3 size_geo) {\n return fall_and_rotate(coords_geo, size_geo);\n }\n " } - - vec4 close_color(vec3 coords_geo, vec3 size_geo) { - return fall_and_rotate(coords_geo, size_geo); - } - " - } } window-rule { match app-id="unset" @@ -132,7 +108,6 @@ window-rule { window-rule { draw-border-with-background false } - // Fix discord screencasting debug { wait-for-frame-completion-in-pipewire @@ -155,8 +130,11 @@ binds { Mod+B { spawn "brave" } + // Mod+D { + // spawn "nu" "-c" "quickshell --path ~/repos/projects/nichts/main/modules/style/quickshell/shell msg launcher open" + // } Mod+D { - spawn "nu" "-c" "quickshell --path ~/repos/projects/nichts/main/modules/style/quickshell/shell msg launcher open" + spawn "fuzzel" } Mod+Alt+L { spawn "swaylock" @@ -436,9 +414,9 @@ binds { // spawn "sh" "-c" "" // } Mod+T { - screenshot + screenshot } - // "$mainMod, T, exec, ${getExe pkgs.grimblast} save area - | ${getExe pkgs.tesseract} - - | ${getExe' pkgs.wl-clipboard "wl-copy"}" + // "$mainMod, T, exec, ${getExe pkgs.grimblast} save area - | ${getExe pkgs.tesseract} - - | ${getExe' pkgs.wl-clipboard "wl-copy"}" Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit } From 000f4aa56b11e1f5403ca7c392c8f56b50738099 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:59:12 +0200 Subject: [PATCH 14/15] niri: formatting --- modules/wms/niri/niri.mod.nix | 152 ++++++++++++++++++---------------- 1 file changed, 81 insertions(+), 71 deletions(-) diff --git a/modules/wms/niri/niri.mod.nix b/modules/wms/niri/niri.mod.nix index 57e461b..df64a42 100644 --- a/modules/wms/niri/niri.mod.nix +++ b/modules/wms/niri/niri.mod.nix @@ -11,91 +11,100 @@ let inherit (config.modules.system) isGraphical; inherit (config.meta.mainUser) username; - cfg = config.modules.desktops.niri; - niri = pkgs.callPackage (_: pkgs.rustPlatform.buildRustPackage { - pname = "niri"; - version = "unstable"; + niri = pkgs.callPackage ( + _: + pkgs.rustPlatform.buildRustPackage { + pname = "niri"; + version = "unstable"; - src = sources.niri; - postPatch = '' - patchShebangs resources/niri-session - substituteInPlace resources/niri.service \ - --replace-fail '/usr/bin' "$out/bin" - ''; + src = sources.niri; + postPatch = '' + patchShebangs resources/niri-session + substituteInPlace resources/niri.service \ + --replace-fail '/usr/bin' "$out/bin" + ''; - cargoLock = { - allowBuiltinFetchGit = true; - lockFile = "${sources.niri}/Cargo.lock"; - }; + cargoLock = { + allowBuiltinFetchGit = true; + lockFile = "${sources.niri}/Cargo.lock"; + }; - strictDeps = true; - doInstallCheck = false; + strictDeps = true; + doInstallCheck = false; + doCheck = false; - nativeBuildInputs = with pkgs; [ - rustPlatform.bindgenHook - pkg-config - installShellFiles - ]; + nativeBuildInputs = with pkgs; [ + rustPlatform.bindgenHook + pkg-config + installShellFiles + ]; - buildInputs = with pkgs; [ - cairo - dbus - libGL - libdisplay-info - libinput - seatd - libxkbcommon - libgbm - pango - wayland - dbus - pipewire - # Also includes libudev - systemd - ]; + buildInputs = with pkgs; [ + cairo + dbus + libGL + libdisplay-info + libinput + seatd + libxkbcommon + libgbm + pango + wayland + dbus + pipewire + # Also includes libudev + systemd + ]; - buildFeatures = [ - "dbus" - "dinit" - "xdp-gnome-screencast" - "systemd" - ]; - buildNoDefaultFeatures = true; + buildFeatures = [ + "dbus" + "dinit" + "xdp-gnome-screencast" + "systemd" + ]; + buildNoDefaultFeatures = true; - postInstall = '' - installShellCompletion --cmd niri \ - --bash <($out/bin/niri completions bash) \ - --fish <($out/bin/niri completions fish) \ - --zsh <($out/bin/niri completions zsh) + postInstall = '' + installShellCompletion --cmd niri \ + --bash <($out/bin/niri completions bash) \ + --fish <($out/bin/niri completions fish) \ + --zsh <($out/bin/niri completions zsh) - install -Dm644 resources/niri.desktop -t $out/share/wayland-sessions - install -Dm644 resources/niri-portals.conf -t $out/share/xdg-desktop-portal - install -Dm755 resources/niri-session $out/bin/niri-session - install -Dm644 resources/niri{.service,-shutdown.target} -t $out/share/systemd/user - ''; + install -Dm644 resources/niri.desktop -t $out/share/wayland-sessions + install -Dm644 resources/niri-portals.conf -t $out/share/xdg-desktop-portal + install -Dm755 resources/niri-session $out/bin/niri-session + install -Dm644 resources/niri{.service,-shutdown.target} -t $out/share/systemd/user + ''; - env = { - # Force linking with libEGL and libwayland-client - # so they can be discovered by `dlopen()` - RUSTFLAGS = toString ( - map (arg: "-C link-arg=" + arg) [ - "-Wl,--push-state,--no-as-needed" - "-lEGL" - "-lwayland-client" - "-Wl,--pop-state" - ] - ); - }; + env = { + # Force linking with libEGL and libwayland-client + # so they can be discovered by `dlopen()` + RUSTFLAGS = toString ( + map (arg: "-C link-arg=" + arg) [ + "-Wl,--push-state,--no-as-needed" + "-lEGL" + "-lwayland-client" + "-Wl,--pop-state" + ] + ++ [ + "-Ctarget-cpu=native" + "-Cpanic=abort" + "-Clto=thin" + "-Cembed-bitcode=yes" + ] + ); + }; - passthru = { - providedSessions = [ "niri" ]; - }; + passthru = { + providedSessions = [ "niri" ]; + }; - meta.mainProgram = "niri"; + meta.mainProgram = "niri"; - }) { }; + } + ) { }; in { options.modules.desktops.niri.enable = mkEnableOption "Niri, a scolling tiling wayland compositor"; @@ -117,6 +126,7 @@ in avizo playerctl wl-clipboard + fuzzel ; }; }; From 03ecaf76d6dee634ad7d1eee2f18a8d771a2893d Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Fri, 25 Jul 2025 16:59:47 +0200 Subject: [PATCH 15/15] hermit: programs: drop wordgrinder --- hosts/hermit/programs.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/hermit/programs.nix b/hosts/hermit/programs.nix index 1fcb0bf..b0d0029 100644 --- a/hosts/hermit/programs.nix +++ b/hosts/hermit/programs.nix @@ -72,7 +72,6 @@ vlc wiki-tui wireguard-tools - wordgrinder xournalpp zathura ;