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-18 08:06:24 +0200
commitadaaeca63e63130fe84cb30a73e2654695dd5524 (patch)
treedcf0696f69f843d56f22c21c807ded649b53e92b /nixos
parent681e5dc6df2ea0bd425d321782192d51e924e5cc (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.nix15
3 files changed, 15 insertions, 2 deletions
diff --git a/nixos/profiles/workstation/default.nix b/nixos/profiles/workstation/default.nix
index 030d651..efeacdf 100644
--- a/nixos/profiles/workstation/default.nix
+++ b/nixos/profiles/workstation/default.nix
@@ -47,6 +47,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 2c8ccc0..0b8a332 100644
--- a/nixos/profiles/workstation/doc.nix
+++ b/nixos/profiles/workstation/doc.nix
@@ -41,6 +41,7 @@ let
nix = "${config.nix.package.src}/doc/manual/source";
git = "${gitDocs}";
jj = "${jjDocs}";
+ 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..8027200 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,36 @@
# 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
+ xwayland-satellite # niri needs this for xwayland
# CLI tools
brightnessctl
+ playerctl
wl-clipboard # for wl-copy and wl-paste
grim
libnotify # for notify-send