laptop hyprland

This commit is contained in:
atagen 2023-03-31 16:42:19 +11:00
parent ba40b01e17
commit 33225f475c
5 changed files with 137 additions and 22 deletions

View file

@ -12,9 +12,9 @@ in
{
imports = [
# who are you?
./bolt.nix
# ./bolt.nix
# ./fossil.nix
# ./plank.nix
./plank.nix
];
nixpkgs.config.packageOverrides = pkgs: {

View file

@ -1,15 +1,98 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
let
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
hyprland = (import flake-compat {
src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/master.tar.gz";
}).defaultNix;
wlogout_style_base = dots/wlogout/style.css;
wlogout_style = pkgs.runCommandLocal "wlogout_style_base" {wlogpath = lib.strings.escape ["/"] "${pkgs.wlogout}";} ''
cp ${wlogout_style_base} $out
sed -i "s/\/usr\/share\/wlogout/$wlogpath\/share\/wlogout/g" $out
sed -i "s/\/etc\/wlogout/$wlogpath\/etc\/wlogout/g" $out
'';
in {
nixpkgs.overlays = [
(self: super: {
kwin-system76-scheduler-integration = pkgs.libsForQt5.callPackage ../system/syspkgs/kwin-system76-scheduler-integration.nix {};
hyprland-s76 = pkgs.callPackage ../system/syspkgs/hyprland-system76-scheduler-integration.nix {};
swayosd = pkgs.callPackage ./homepkgs/swayosd.nix {};
})
];
imports = [
hyprland.homeManagerModules.default
../foreign/dotfiles/home/programs/eww/default.nix
# ../foreign/dotfiles/modules/regreet.nix
];
home.username = "plank";
home.homeDirectory = "/home/plank";
programs.eww-hyprland = {
enable = true;
colors = builtins.readFile dots/eww/colors.scss;
};
home.packages = with pkgs; [
qt5ct
zellij
glib # for gsettings
fuzzel
grim
slurp
swaybg
wlogout
wf-recorder
libnotify
xorg.xrdb
swayidle
swaynotificationcenter
swayosd
playerctl
];
xdg.configFile = builtins.mapAttrs (name: value: { enable=true; text=builtins.readFile value; })
{
"wlogout/layout" = dots/wlogout/layout;
"wlogout/style.css" = wlogout_style;
"swaync/config.json" = dots/swaync/config.json;
"swaync/configSchema.json" = dots/swaync/configSchema.json;
"swaync/style.css" = dots/swaync/style.css;
"fuzzel/fuzzel.ini" = dots/fuzzel/fuzzel.ini;
};
wayland.windowManager.hyprland = {
enable = true;
systemdIntegration = true;
nvidiaPatches = false;
xwayland = {
enable = true;
hidpi = false;
};
recommendedEnvironment = true;
extraConfig = builtins.readFile dots/hyprland/hyprland.conf;
};
systemd.user.services."hyprland-system76" = {
Unit = {
Description = "the hyprland process scheduler hook";
Requires = [ "dbus.service" ];
};
Install = {
WantedBy = [ "graphical-session.target" "default.target" ];
};
Service = {
ExecStart = ''${pkgs.hyprland-s76}/bin/hyprland-system76-scheduler-hook.sh'';
};
};
systemd.user.startServices = true;
systemd.user.services."com.system76.Scheduler.dbusproxy" = {