summaryrefslogtreecommitdiff
path: root/modules/niri.nix
diff options
context:
space:
mode:
authorGrisha Shipunov2025-02-25 22:21:34 +0100
committerGrisha Shipunov2025-03-17 12:47:38 +0100
commit0d5bc74f8840864c28d1670c5a1c4cced81f1f2e (patch)
treec5db24fb67f437b35928ee2fa1134b49452ca7c3 /modules/niri.nix
parent5464226af78c9c461506ab75d0db3acfa22541fa (diff)
some initial work on niri
Diffstat (limited to 'modules/niri.nix')
-rw-r--r--modules/niri.nix128
1 files changed, 128 insertions, 0 deletions
diff --git a/modules/niri.nix b/modules/niri.nix
new file mode 100644
index 0000000..79c4ec9
--- /dev/null
+++ b/modules/niri.nix
@@ -0,0 +1,128 @@
+# General Desktop-related config
+{ pkgs, inputs, ... }:
+let
+ unstablepkgs = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system};
+in
+{
+ nixpkgs.overlays = [ inputs.niri.overlays.niri ];
+
+ programs.niri.enable = true;
+
+ imports = [
+ ./desktop-software.nix
+ ./fonts.nix
+ ];
+ environment.systemPackages = with pkgs; [
+ screen-message
+ qbittorrent
+ gajim
+ imv
+ swayimg
+ mpv
+ evince
+ brightnessctl
+ pulsemixer
+ cmus
+ termusic
+ gsettings-desktop-schemas
+ xdg-utils
+ qt5.qtwayland
+ bashmount
+ audacity
+ spotify-player
+ zathura
+ ncdu
+ adwaita-icon-theme
+ bluetui
+ foot
+ gammastep
+ graphicsmagick
+ grim
+ unstablepkgs.i3status-rust
+ impala
+ kanshi
+ pamixer
+ wofi
+ slurp
+ swayidle
+ swaylock
+ wl-clipboard
+ wl-mirror
+ xfce.thunar
+ banana-cursor
+ fuzzel
+ ];
+
+ # Enable sound.
+ security.rtkit.enable = true;
+
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ pulse.enable = true;
+ };
+
+ hardware.bluetooth = {
+ enable = true;
+ package = pkgs.bluez;
+ };
+
+ programs.zsh.vteIntegration = true;
+ programs.bash.vteIntegration = true;
+ services.upower.enable = true;
+
+ services.acpid.enable = true;
+ programs.light.enable = true;
+
+ programs.xwayland.enable = true;
+
+ programs.hyprland.enable = true;
+
+ environment.sessionVariables = {
+ GTK_THEME = "Adwaita:dark";
+ };
+ xdg.portal = {
+ enable = true;
+ wlr.enable = true;
+ extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
+ };
+
+ services.udisks2.enable = true;
+ environment.shellAliases = {
+ # mounting shit
+ mnt = "udisksctl mount -b";
+ umnt = "udisksctl unmount -b";
+ unlock = "udisksctl unlock -b";
+ lock = "udisksctl lock -b";
+ # easier navigation
+ pwc = "pwd|wl-copy";
+ cdp = "cd $(wl-paste)";
+ };
+
+ qt = {
+ enable = true;
+ platformTheme = "gnome";
+ style = "adwaita-dark";
+ };
+
+ services.gnome.gnome-keyring.enable = true;
+ security.pam.services.greetd.enableGnomeKeyring = true;
+
+ services.greetd = {
+ enable = true;
+ settings = {
+ default_session = {
+ command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --greeting \"$(${pkgs.fortune}/bin/fortune -s)\" --cmd ${pkgs.niri-stable}/bin/niri";
+ };
+ };
+ };
+
+ programs.gnupg.agent.pinentryPackage = pkgs.pinentry-curses;
+ programs.ssh = {
+ startAgent = true;
+ enableAskPassword = false;
+ extraConfig = ''
+ AddKeysToAgent yes
+ '';
+ };
+}