summaryrefslogtreecommitdiff
path: root/modules/nixos/sway.nix
diff options
context:
space:
mode:
authorDevin Finlinson <devin.finlinson@pm.me>2023-10-03 03:29:21 -0600
committerDevin Finlinson <devin.finlinson@pm.me>2023-10-03 03:29:21 -0600
commit8aacb14fcab1ef1efd0458fb4a97e81ec852f472 (patch)
treea7772c1ffdc1cfa95fd88456be91dce97bc27f64 /modules/nixos/sway.nix
parent6717ada06dab28cfa70784556cd235d9de2ad874 (diff)
i've gone mad with power
/ attempted config from misterio77 to fix inputs errors // this created the default.nix files and commented out block in flake.nix // didn't work, misterio is insane / but misterio's nix-colors github tells you to pass it as a special arg into home-manager // was confused for a bit but got it as an extraSpecialArg cause of module bullshit /// good thing i had that old note or i'd have been stuck / now the inputs pass into home-manager // hoping to find a more elegant passthrough format / oh also moved home-manager's modules to modules folder because misterio does // probably because they're crazy but also because they've gone so deep it's somehow necessary for anything to work /// idk how or why, should have something to do with replacing/following default nix format? //// thus the default.nix files to add/override defaults? this is my longest commit message ever
Diffstat (limited to 'modules/nixos/sway.nix')
-rw-r--r--modules/nixos/sway.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/modules/nixos/sway.nix b/modules/nixos/sway.nix
new file mode 100644
index 0000000..8d4d664
--- /dev/null
+++ b/modules/nixos/sway.nix
@@ -0,0 +1,40 @@
+{ config, pkgs, lib, ... }:
+{
+ environment.systemPackages = with pkgs; [
+ ];
+
+ # xdg-desktop-portal works by exposing a series of D-Bus interfaces
+ # known as portals under a well-known name
+ # (org.freedesktop.portal.Desktop) and object path
+ # (/org/freedesktop/portal/desktop).
+ # The portal interfaces include APIs for file access, opening URIs,
+ # printing and others.
+ xdg.portal = {
+ enable = true;
+ wlr.enable = true;
+ # gtk portal needed to make gtk apps happy
+ extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
+ };
+
+ # enable sway window manager
+ programs.sway = {
+ enable = true;
+ wrapperFeatures.gtk = true;
+ };
+
+ # kanshi systemd service
+ systemd.user.services.kanshi = {
+ description = "kanshi daemon";
+ serviceConfig = {
+ Type = "simple";
+ ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file'';
+ };
+ };
+
+ security.pam.services.swaylock.text = ''
+ # PAM configuration file for the swaylock screen locker. By default, it includes
+ # the 'login' configuration file (see /etc/pam.d/login)
+ auth include login
+ '';
+}
+