aboutsummaryrefslogtreecommitdiff
path: root/nixos
diff options
context:
space:
mode:
authorMartin Fischer <martin@push-f.com>2026-10-02 18:26:19 +0200
committerMartin Fischer <martin@push-f.com>2026-10-11 18:20:26 +0200
commit95f0ea97362889ebce2857aaf9d0f2ccd9660e23 (patch)
tree734bc8b30f7987690176149e7e7c307845202b59 /nixos
parent350b6a15c28878520d54eff4686dbf05f6762cff (diff)
tweak(workstation): use niri instead of sway
Diffstat (limited to 'nixos')
-rw-r--r--nixos/profiles/workstation/default.nix1
-rw-r--r--nixos/profiles/workstation/doc.nix1
-rw-r--r--nixos/profiles/workstation/graphical.nix14
3 files changed, 14 insertions, 2 deletions
diff --git a/nixos/profiles/workstation/default.nix b/nixos/profiles/workstation/default.nix
index 90d91a7..86519dc 100644
--- a/nixos/profiles/workstation/default.nix
+++ b/nixos/profiles/workstation/default.nix
@@ -40,6 +40,7 @@ in
"networkmanager"
"dialout"
"wireshark"
+ "video" # allow brightnessctl to write backlight brightness via udev rule
];
};
diff --git a/nixos/profiles/workstation/doc.nix b/nixos/profiles/workstation/doc.nix
index b8721a7..a60f0d7 100644
--- a/nixos/profiles/workstation/doc.nix
+++ b/nixos/profiles/workstation/doc.nix
@@ -34,6 +34,7 @@ let
nix = "${config.nix.package.src}/doc/manual/source";
git = "${gitDocs}";
jj = "${pkgs.jujutsu.src}/docs";
+ niri = "${pkgs.niri.src}/docs/wiki";
nvim = "${pkgs.neovim-unwrapped}/share/nvim/runtime/doc";
nvim-plugins = "${nvimPluginDocs}";
pi = "${pkgs-unstable.pi-coding-agent}/lib/node_modules/pi-monorepo/docs";
diff --git a/nixos/profiles/workstation/graphical.nix b/nixos/profiles/workstation/graphical.nix
index 8336159..90f99b3 100644
--- a/nixos/profiles/workstation/graphical.nix
+++ b/nixos/profiles/workstation/graphical.nix
@@ -13,6 +13,7 @@
hardware.bluetooth.enable = true;
services.upower.enable = true;
+ services.udev.packages = [pkgs.brightnessctl];
systemd.user.services.serve = {
after = ["network.target"];
@@ -28,26 +29,35 @@
# Packages
+ programs.niri.enable = true;
+ # The niri module enables the gnome keyring by default.
+ services.gnome.gnome-keyring.enable = false;
+ xdg.portal.config.niri."org.freedesktop.impl.portal.Secret" = pkgs.lib.mkForce "none";
+
+ # I'm still keeping sway around because niri doesn't support device-specific input config.
+ # (https://github.com/niri-wm/niri/issues/371)
programs.sway = {
enable = true;
extraPackages = [];
# Execute sway with required environment variables for GTK apps.
wrapperFeatures.gtk = true;
};
+
programs.ssh.startAgent = true;
- # without dbus-run-session opening links in Zed fails with "No Apps available"
environment.loginShellInit = ''
- [[ "$(tty)" == /dev/tty1 ]] && exec dbus-run-session sway
+ [[ "$(tty)" == /dev/tty1 ]] && exec niri-session -l
'';
environment.systemPackages = with pkgs; [
wmenu
+ i3bar-river
swayidle
swaylock
# CLI tools
brightnessctl
+ playerctl
wl-clipboard # for wl-copy and wl-paste
grim
libnotify # for notify-send