From 65959bee4452b8bd12e57f572989cd70d3d1dae6 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Thu, 10 Mar 2022 10:08:58 -0500 Subject: [PATCH] First step in migrating sway to nixos --- modules/applications/sway/sway.nix | 84 ++++++++++++++++++++++++++---- modules/system/fonts.nix | 1 + 2 files changed, 75 insertions(+), 10 deletions(-) diff --git a/modules/applications/sway/sway.nix b/modules/applications/sway/sway.nix index 5fb161c..e95a703 100644 --- a/modules/applications/sway/sway.nix +++ b/modules/applications/sway/sway.nix @@ -2,23 +2,92 @@ let cfg = config.this.application.sway; graphical = config.this.graphical; + wallpaper = pkgs.fetchurl { + url = + "https://raw.githubusercontent.com/catppuccin/wallpapers/main/landscapes/evening-sky.png"; + sha256 = "sha256-fYMzoY3un4qGOSR4DMqVUAFmGGil+wUze31rLLrjcAc="; + }; in with lib; { options = { this.application.sway = { enable = mkOption { - # TODO base on graphical default = graphical.enable; type = with types; bool; - description = "testing one two three"; }; }; }; config = mkIf cfg.enable { home-manager.users.james = { - home.sessionVariables = { - MOZ_ENABLE_WAYLAND = 1; - XDG_CURRENT_DESKTOP = "sway"; + home.sessionVariables = { XDG_CURRENT_DESKTOP = "sway"; }; + wayland.windowManager.sway = { + enable = true; + wrapperFeatures.gtk = true; + config = { + bars = [ ]; + colors = { + focusedInactive = { + background = "#1E1E2E"; + border = "#1E1E2E"; + childBorder = "#1E1E2E"; + indicator = "#1E1E2E"; + text = "#C9CBFF"; + }; + unfocused = { + background = "#1E1E2E"; + border = "#1E1E2E"; + childBorder = "#1E1E2E"; + indicator = "#1E1E2E"; + text = "#C9CBFF"; + }; + focused = { + background = "#131020"; + border = "#131020"; + childBorder = "#131020"; + indicator = "#131020"; + text = "#ABE9B3"; + }; + urgent = { + background = "#F28FAD"; + border = "#F28FAD"; + childBorder = "#F28FAD"; + indicator = "#F28FAD"; + text = "#ABE9B3"; + }; + }; + fonts = { + names = [ "Alegreya" "FontAwesome" ]; + size = 9.0; + }; + input = { + "1133:45079:MX_Master_Mouse" = { + natural_scroll = "enable"; + accel_profile = "adaptive"; + pointer_accel = "-0.3"; + }; + "1:1:AT_Translated_Set_2_keyboard" = { + xkb_options = "ctrl:nocaps"; + }; + "2:7:SynPS/2_Synaptics_TouchPad" = { + dwt = "enabled"; + click_method = "clickfinger"; + natural_scroll = "enabled"; + middle_emulation = "enabled"; + }; + }; + gaps = { + inner = 5; + outer = 2; + }; + # And import and scripts as scene here would be good. + # https://github.com/gytis-ivaskevicius/nixfiles/blob/master/home-manager/i3-sway.nix + keybindings = mkOptionDefault { "Mod4+d" = ""; }; + modifier = "Mod4"; + output = { "eDP-1" = { bg = "${wallpaper} fill"; }; }; + terminal = "${pkgs.kitty}/bin/kitty"; + # https://rycee.gitlab.io/home-manager/options.html#opt-wayland.windowManager.sway.config.window.commands + window = { }; + }; }; home.packages = with pkgs; [ @@ -53,11 +122,6 @@ in with lib; { programs.light.enable = true; - programs.sway = { - enable = true; - wrapperFeatures.gtk = true; # so that gtk works properly - }; - systemd.user.targets.sway-session = { description = "Sway compositor session"; documentation = [ "man:systemd.special(7)" ]; diff --git a/modules/system/fonts.nix b/modules/system/fonts.nix index 63922d2..9fae415 100644 --- a/modules/system/fonts.nix +++ b/modules/system/fonts.nix @@ -8,6 +8,7 @@ in { alegreya fira-code fira-code-symbols + font-awesome hasklig inter liberation_ttf