From 61047b3dcc19cec572c5d03c8f8acbb79c1ba5da Mon Sep 17 00:00:00 2001 From: matt1432 Date: Fri, 20 Oct 2023 11:22:20 -0400 Subject: [PATCH] feat(wayland pkgs): use cachix and overlays instead of package set --- common/default.nix | 10 ++++ flake.lock | 20 ++++++- flake.nix | 10 +--- hosts/wim/config/ags/js/applauncher/main.js | 1 + hosts/wim/home/hyprland.nix | 62 ++++++++++----------- modules/wofi/default.nix | 3 +- 6 files changed, 62 insertions(+), 44 deletions(-) diff --git a/common/default.nix b/common/default.nix index 6e47fec..67e3776 100644 --- a/common/default.nix +++ b/common/default.nix @@ -2,6 +2,7 @@ , home-manager , lib , nixpkgs +, nixpkgs-wayland , nur , nix-melt , nurl @@ -32,10 +33,18 @@ substituters = [ "https://hyprland.cachix.org" "https://nix-gaming.cachix.org" + # Nixpkgs-Wayland + "https://cache.nixos.org" + "https://nixpkgs-wayland.cachix.org" + # ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" + # Nixpkgs-Wayland + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" + # ]; }; @@ -45,6 +54,7 @@ exact = false; }; }; + nixpkgs.overlays = [ nixpkgs-wayland.overlay ]; services.xserver = { layout = "ca"; diff --git a/flake.lock b/flake.lock index 6b3d813..7f8039e 100644 --- a/flake.lock +++ b/flake.lock @@ -531,9 +531,7 @@ "flake-compat": "flake-compat_2", "lib-aggregate": "lib-aggregate", "nix-eval-jobs": "nix-eval-jobs", - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1697793343, @@ -613,6 +611,22 @@ "type": "github" } }, + "nixpkgs_6": { + "locked": { + "lastModified": 1697456312, + "narHash": "sha256-roiSnrqb5r+ehnKCauPLugoU8S36KgmWraHgRqVYndo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ca012a02bf8327be9e488546faecae5e05d7d749", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nur": { "locked": { "lastModified": 1697793907, diff --git a/flake.nix b/flake.nix index 39b35bf..65ad741 100644 --- a/flake.nix +++ b/flake.nix @@ -1,8 +1,11 @@ { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland"; nur.url = "github:nix-community/NUR"; + nix-gaming.url = "github:fufexan/nix-gaming"; + home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; @@ -20,18 +23,11 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - nixpkgs-wayland = { - url = "github:nix-community/nixpkgs-wayland"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - neovim-nightly-overlay = { url = "github:nix-community/neovim-nightly-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; - nix-gaming.url = "github:fufexan/nix-gaming"; - nix-melt = { url = "github:nix-community/nix-melt"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/wim/config/ags/js/applauncher/main.js b/hosts/wim/config/ags/js/applauncher/main.js index 5039bc3..c72a8a6 100644 --- a/hosts/wim/config/ags/js/applauncher/main.js +++ b/hosts/wim/config/ags/js/applauncher/main.js @@ -21,6 +21,7 @@ const AppItem = (app, window) => { connections: [['clicked', () => { App.closeWindow(window); Utils.exec(`hyprctl dispatch exec ${app.executable}`); + // TODO: focus on new client. Is this only needed after launch? ++app.frequency; }]], child: Box({ diff --git a/hosts/wim/home/hyprland.nix b/hosts/wim/home/hyprland.nix index ad96c97..0406607 100644 --- a/hosts/wim/home/hyprland.nix +++ b/hosts/wim/home/hyprland.nix @@ -1,6 +1,4 @@ -{ pkgs, config, hyprland, hyprgrass, ags, nixpkgs-wayland, ... }: let - waypkgs = nixpkgs-wayland.packages.x86_64-linux; - +{ pkgs, config, hyprland, hyprgrass, ags, ... }: let configDir = config.services.hostvars.configDir; symlink = config.lib.file.mkOutOfStoreSymlink; @@ -52,44 +50,44 @@ in { ''; }; - home.packages = [ + home.packages = with pkgs; [ # ags - pkgs.sassc - pkgs.coloryou - pkgs.libnotify - pkgs.playerctl - pkgs.bluez-tools - pkgs.brightnessctl - pkgs.pulseaudio - pkgs.libinput + sassc + coloryou + libnotify + playerctl + bluez-tools + brightnessctl + pulseaudio + libinput ## gui - pkgs.pavucontrol # TODO: replace with ags widget - pkgs.networkmanagerapplet # TODO: replace with ags widget - pkgs.blueberry # TODO: replace with ags widget + pavucontrol # TODO: replace with ags widget + networkmanagerapplet # TODO: replace with ags widget + blueberry # TODO: replace with ags widget # Hyprland - pkgs.hyprpaper - waypkgs.swayidle - pkgs.lisgd - pkgs.swayosd - pkgs.squeekboard - pkgs.xclip - waypkgs.wl-clipboard - pkgs.cliphist + hyprpaper + swayidle + lisgd + swayosd + squeekboard + xclip + wl-clipboard + cliphist ## gui - pkgs.gtklock - pkgs.wl-color-picker # TODO: add bind for this in hyprland - waypkgs.grim - waypkgs.slurp - pkgs.swappy + gtklock + wl-color-picker # TODO: add bind for this in hyprland + grim + slurp + swappy ## libs - pkgs.libayatana-appindicator - pkgs.xdg-utils - pkgs.evtest - pkgs.glib + libayatana-appindicator + xdg-utils + evtest + glib ]; } diff --git a/modules/wofi/default.nix b/modules/wofi/default.nix index b953135..4ecdc6c 100644 --- a/modules/wofi/default.nix +++ b/modules/wofi/default.nix @@ -1,10 +1,9 @@ # Home-manager module -{ nixpkgs-wayland, ... }: { +{ ... }: { programs = { wofi = { enable = true; - package = nixpkgs-wayland.packages.x86_64-linux.wofi; settings = { prompt = ""; allow_images = true;