diff --git a/flake.lock b/flake.lock index f93c7b6..5b8c7a2 100755 --- a/flake.lock +++ b/flake.lock @@ -80,6 +80,29 @@ "type": "github" } }, + "glide": { + "inputs": { + "home-manager": [ + "home-manager" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1773656868, + "narHash": "sha256-IvWd8A3MM2qASf2U5diOoYEc2dCxqR4BOhB5RuOQnZM=", + "owner": "glide-browser", + "repo": "glide.nix", + "rev": "1a3dd001865f6ac5a3562d2cb484388672ad6eaf", + "type": "github" + }, + "original": { + "owner": "glide-browser", + "repo": "glide.nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -252,6 +275,7 @@ }, "root": { "inputs": { + "glide": "glide", "home-manager": "home-manager", "impermanence": "impermanence", "llm-agents": "llm-agents", diff --git a/flake.nix b/flake.nix index a03200b..a92e6f5 100755 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,12 @@ # to avoid problems caused by different versions of nixpkgs. inputs.nixpkgs.follows = "nixpkgs"; }; + glide = { + url = "github:glide-browser/glide.nix"; + # optionally: follow your flake's inputs + inputs.nixpkgs.follows = "nixpkgs"; + inputs.home-manager.follows = "home-manager"; + }; impermanence.url = "github:nix-community/impermanence"; plasma-manager = { url = "github:nix-community/plasma-manager"; @@ -29,6 +35,7 @@ impermanence, plasma-manager, llm-agents, + glide, # nix-flatpak, }@inputs: let diff --git a/machines/latitude/configuration.nix b/machines/latitude/configuration.nix index ea2939b..5c225b5 100755 --- a/machines/latitude/configuration.nix +++ b/machines/latitude/configuration.nix @@ -17,7 +17,7 @@ ../../modules/development/default.nix ../../modules/fabrication/default.nix ../../modules/gaming/default.nix - ../../modules/kde/default.nix + ../../modules/sway/default.nix ../../modules/virtualization/default.nix # ../../modules/vr/default.nix # ../../global/eraseyourdarlings.nix diff --git a/machines/latitude/hardware-configuration.nix b/machines/latitude/hardware-configuration.nix index 966a065..39c1877 100755 --- a/machines/latitude/hardware-configuration.nix +++ b/machines/latitude/hardware-configuration.nix @@ -14,6 +14,8 @@ (modulesPath + "/installer/scan/not-detected.nix") ]; + # services.tlp.enable = true; + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" diff --git a/machines/latitude/home.nix b/machines/latitude/home.nix index 5bb26d7..7bbb816 100755 --- a/machines/latitude/home.nix +++ b/machines/latitude/home.nix @@ -13,6 +13,7 @@ imports = [ ../../home/default.nix + ../../modules/kde/home.nix # ../../modules/kde/home.nix ]; diff --git a/modules/sway/default.nix b/modules/sway/default.nix new file mode 100644 index 0000000..de3add1 --- /dev/null +++ b/modules/sway/default.nix @@ -0,0 +1,43 @@ +{ + config, + pkgs, + lib, + ... +}: +{ + environment.systemPackages = with pkgs; [ + wl-clipboard # Copy/Paste functionality. + mako # Notification utility. + ]; + + # Enables Gnome Keyring to store secrets for applications. + services.gnome.gnome-keyring.enable = true; + + # Enable Sway. + programs.sway = { + enable = true; + wrapperFeatures.gtk = true; + extraPackages = [ + pkgs.foot + pkgs.swayidle + pkgs.swaylock + pkgs.wmenu + pkgs.wl-clipboard + pkgs.mako + pkgs.kdePackages.spectacle + pkgs.kdePackages.kate + pkgs.kdePackages.filelight + inputs.glide.packages.${pkgs.stdenv.hostPlatform.system}.default + ]; + }; + + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd sway"; + user = "laythe"; + }; + }; + }; +} diff --git a/modules/sway/home.nix b/modules/sway/home.nix new file mode 100644 index 0000000..b058b97 --- /dev/null +++ b/modules/sway/home.nix @@ -0,0 +1,32 @@ +{ pkgs, ... }: +{ + wayland.windowManager.sway = { + enable = true; + wrapperFeatures.gtk = true; # Fixes common issues with GTK 3 apps + config = rec { + modifier = "Mod4"; + # Use kitty as default terminal + terminal = "foot"; + keybindings = { + # Brightness Controls + "XF86MonBrightnessDown" = "exec light -U 10"; + "XF86MonBrightnessUp" = "exec light -A 10"; + + # Volume Controls + "XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +1%"; + "XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -1%"; + "XF86AudioMute" = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle"; + }; + input = { + "type:touchpad" = { + # Enables or disables tap for specified input device. + tap = "enabled"; + # Enables or disables natural (inverted) scrolling for the specified input device. + natural_scroll = "enabled"; + # Enables or disables disable-while-typing for the specified input device. + dwt = "enabled"; + }; + }; + }; + }; +}