aboutsummaryrefslogtreecommitdiff
path: root/nixos/profiles/workstation
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-14 07:03:56 +0200
commit86fd76bcdb1381fcaec188917d56ba7a8866c1f6 (patch)
tree95d0efa452e46da66444acda61f6a6682eb41a80 /nixos/profiles/workstation
parent717c43b4a41c83b0a0bf13056e2b485ad990652b (diff)
tweak(workstation): use niri instead of sway
Diffstat (limited to 'nixos/profiles/workstation')
-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 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..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