From 0d5bc74f8840864c28d1670c5a1c4cced81f1f2e Mon Sep 17 00:00:00 2001 From: Grisha Shipunov Date: Tue, 25 Feb 2025 22:21:34 +0100 Subject: some initial work on niri --- modules/niri.nix | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 modules/niri.nix (limited to 'modules/niri.nix') 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 + ''; + }; +} -- cgit v1.3.1