diff options
author | Freya Murphy <freya@freyacat.org> | 2025-09-17 22:07:16 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-09-17 22:07:16 -0400 |
commit | 68d03fe362b7e0df11662d8d6a1e01eac0bfae77 (patch) | |
tree | a76abd05f662f73b4083ddb0d8bf0d72c29e5a74 /system/desktops | |
parent | update commits (diff) | |
download | dotfiles-nix-68d03fe362b7e0df11662d8d6a1e01eac0bfae77.tar.gz dotfiles-nix-68d03fe362b7e0df11662d8d6a1e01eac0bfae77.tar.bz2 dotfiles-nix-68d03fe362b7e0df11662d8d6a1e01eac0bfae77.zip |
refactor: remove modules folder, fully split home and system modules
Diffstat (limited to 'system/desktops')
-rw-r--r-- | system/desktops/default.nix | 8 | ||||
-rw-r--r-- | system/desktops/hyprland.nix | 29 | ||||
-rw-r--r-- | system/desktops/ly.nix | 59 | ||||
-rw-r--r-- | system/desktops/sway.nix | 33 | ||||
-rw-r--r-- | system/desktops/wayland.nix | 24 |
5 files changed, 153 insertions, 0 deletions
diff --git a/system/desktops/default.nix b/system/desktops/default.nix new file mode 100644 index 0000000..8f9270f --- /dev/null +++ b/system/desktops/default.nix @@ -0,0 +1,8 @@ +{...}: { + imports = [ + ./hyprland.nix + ./ly.nix + ./sway.nix + ./wayland.nix + ]; +} diff --git a/system/desktops/hyprland.nix b/system/desktops/hyprland.nix new file mode 100644 index 0000000..91170bd --- /dev/null +++ b/system/desktops/hyprland.nix @@ -0,0 +1,29 @@ +{ + inputs, + config, + pkgs, + lib, + ... +}: let + inherit (lib) mkIf mkDefault; + cfg = config.desktops.hyprland; +in { + config = mkIf cfg.enable { + desktops.wayland.enable = true; + + xdg.portal = { + extraPortals = [ + inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland + ]; + config = { + hyprland.common = ["gtk" "hyprland"]; + }; + }; + + programs.hyprland = { + enable = true; + package = inputs.hyprland.packages.${pkgs.system}.hyprland; + portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; + }; + }; +} diff --git a/system/desktops/ly.nix b/system/desktops/ly.nix new file mode 100644 index 0000000..ac53495 --- /dev/null +++ b/system/desktops/ly.nix @@ -0,0 +1,59 @@ +{ + lib, + config, + pkgs, + inputs, + ... +}: let + inherit (lib) mkIf; + cfg = config.desktops.ly; +in { + config = mkIf cfg.enable { + # display manager + services.displayManager.ly = { + enable = true; + package = inputs.self.packages.${pkgs.system}.ly; + + settings = let + base = "0x00${config.theme.colors.base}"; + text = "0x00${config.theme.colors.text}"; + bold = "0x01${config.theme.colors.text}"; + error = "0x00${config.theme.colors.error}"; + save_file = pkgs.writeText "ly-prefs" '' + ${config.user} + 1 + ''; + in { + # general + clear_password = true; + default_input = "password"; + xinitrc = "null"; + hide_version_string = true; + hide_key_hints = true; + session_log = "/dev/null"; + # state (evil) + tty = 1; + save = false; + load = true; + save_file = toString save_file; + # background + bg = base; + error_bg = base; + blank_box = true; + # foreground + fg = text; + error_fg = error; + border_fg = bold; + }; + }; + + # disable default login on tty 1 + systemd.services."autovt@tty1".enable = false; + systemd.services."getty@tty1".enable = false; + + # fix env not being set + systemd.services.display-manager = { + environment.XDG_CURRENT_DESKTOP = "X-NIXOS-SYSTEMD-AWARE"; + }; + }; +} diff --git a/system/desktops/sway.nix b/system/desktops/sway.nix new file mode 100644 index 0000000..622d54c --- /dev/null +++ b/system/desktops/sway.nix @@ -0,0 +1,33 @@ +{ + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkIf mkDefault; + cfg = config.desktops.sway; +in { + config = mkIf cfg.enable { + desktops.wayland.enable = true; + + # TODO: set NIXOS_OZONE_WL env var + + xdg.portal = { + config = { + sway.common = ["gtk" "wlr"]; + }; + extraPortals = with pkgs; [ + xdg-desktop-portal-wlr + ]; + }; + + programs.sway = { + enable = true; + package = pkgs.swayfx; + wrapperFeatures = { + base = false; + gtk = false; + }; + }; + }; +} diff --git a/system/desktops/wayland.nix b/system/desktops/wayland.nix new file mode 100644 index 0000000..8a81fdf --- /dev/null +++ b/system/desktops/wayland.nix @@ -0,0 +1,24 @@ +{ + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkIf; + cfg = config.desktops.wayland; +in { + config = mkIf cfg.enable { + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + extraPortals = with pkgs; [ + xdg-desktop-portal-gtk + ]; + config = { + default.common = ["gtk"]; + }; + }; + + programs.xwayland.enable = true; + }; +} |