feat: consistent konawall on hyprland

This commit is contained in:
Kat Inskip 2024-03-10 12:28:14 -07:00
parent 576f3a3e7e
commit 15f40761fb
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
17 changed files with 92 additions and 72 deletions

6
flake.lock generated
View file

@ -411,11 +411,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1708208882, "lastModified": 1710095677,
"narHash": "sha256-Th5ybDsLfWJWDLGeLKLvrYYBQWLarZxWQyWWNNpZg+c=", "narHash": "sha256-M1FyL+mCy0dyVfBi2qft3rcqU5NJh2BOQMwJdP2SDek=",
"owner": "kittywitch", "owner": "kittywitch",
"repo": "konawall-py", "repo": "konawall-py",
"rev": "51fe663a47c4ad4d36dcd316495c58213e501785", "rev": "e9eb56126b1c77f2799b1da2a94afc468a1aafec",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -4,7 +4,7 @@ _: {
settings = { settings = {
"org/gnome/shell" = { "org/gnome/shell" = {
favorite-apps = [ favorite-apps = [
"brave-browser.desktop" "firefox.desktop"
"thunderbird.desktop" "thunderbird.desktop"
"nheko.desktop" "nheko.desktop"
"discord.desktop" "discord.desktop"

View file

@ -28,16 +28,11 @@ in {
SDL_VIDEODRIVER = "wayland"; SDL_VIDEODRIVER = "wayland";
XDG_SESSION_TYPE = "wayland"; XDG_SESSION_TYPE = "wayland";
}; };
systemd.user.services.swayidle.Install.WantedBy = lib.mkForce ["hyprland-session.target"];
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
systemd = { systemd = {
enable = true; enable = true;
variables = ["--all"]; variables = ["--all"];
extraCommands = [
"systemctl --user stop graphical-session.target"
"systemctl --user start hyprland-session.target"
];
}; };
xwayland.enable = true; xwayland.enable = true;
settings = { settings = {
@ -73,16 +68,16 @@ in {
"eDP-1, 2256x1504, 0x0, 1" "eDP-1, 2256x1504, 0x0, 1"
]; ];
exec-once = [ exec-once = [
"${pkgs.swww}/bin/swww init"
"${pkgs.hypridle}/bin/hypridle" "${pkgs.hypridle}/bin/hypridle"
"${pkgs.udiskie}/bin/udiskie &"
"${pkgs.dbus}/bin/dbus-update-activation-environment --all" "${pkgs.dbus}/bin/dbus-update-activation-environment --all"
"${pkgs.libsForQt5.polkit-kde-agent}/bin/polkit-kde-agent" "${pkgs.libsForQt5.polkit-kde-agent}/bin/polkit-kde-agent"
"${pkgs.networkmanagerapplet}/bin/nm-applet" "${pkgs.networkmanagerapplet}/bin/nm-applet"
"${pkgs.mako}/bin/mako" "${pkgs.mako}/bin/mako"
"${pkgs.swww}/bin/swww init" "${pkgs.udiskie}/bin/udiskie &"
"${pkgs.systemd}/bin/systemctl --user restart waybar.service"
"${pkgs.pasystray}/bin/pasystray" "${pkgs.pasystray}/bin/pasystray"
"${inputs.konawall-py.packages.${pkgs.system}.konawall-py}/bin/konawall" ];
exec = [
]; ];
xwayland = { xwayland = {
force_zero_scaling = true; force_zero_scaling = true;

View file

@ -1,19 +1,24 @@
{ {
inputs, inputs,
pkgs, pkgs,
config,
... ...
}: let }: let
desktop_entry = '' systemd.user.services.konawall-py = {
[Desktop Entry] Unit = {
Exec=${inputs.konawall-py.packages.${pkgs.system}.konawall-py}/bin/konawall Description = "konawall-py";
Icon= X-Restart-Triggers = [(toString config.xdg.configFile."konawall/config.toml".source)];
Name=konawall After = ["hyprland-session.target"];
Path= };
Terminal=False Service = {
Type=Application ExecStart = "${inputs.konawall-py.packages.${pkgs.system}.konawall-py}/bin/konawall";
''; Restart = "always";
};
Install = {WantedBy = ["hyprland-session.target"];};
};
konawallConfig = { konawallConfig = {
interval = 30 * 60; interval = 60 * 5;
rotate = true; rotate = true;
source = "konachan"; source = "konachan";
tags = [ tags = [

View file

@ -2,13 +2,27 @@
kittywitch, kittywitch,
pkgs, pkgs,
config, config,
lib,
... ...
}: { }: let
systemd.user.services.waybar.Unit.X-Restart-Triggers = [ inherit (lib.modules) mkForce;
(builtins.hashString "md5" (builtins.toJSON config.programs.waybar.settings)) in {
]; systemd.user.services.waybar = {
Install.WantedBy = lib.mkForce ["hyprland-session.target"];
Service = {
RestartSec = "1s";
};
Unit = {
After = ["hyprland-session.target"];
X-Restart-Triggers = [
(builtins.hashString "md5" (builtins.toJSON config.programs.waybar.settings))
];
};
};
programs.waybar = { programs.waybar = {
enable = true; enable = true;
systemd.enable = true;
style = let style = let
template = kittywitch.sassTemplate { template = kittywitch.sassTemplate {
name = "waybar-style"; name = "waybar-style";
@ -16,7 +30,6 @@
}; };
in in
template.source; template.source;
systemd.enable = true;
settings.main = { settings.main = {
layer = "top"; layer = "top";
position = "top"; position = "top";

View file

@ -11,7 +11,7 @@
%widget_unpadded %widget_unpadded
transition: none transition: none
background: $base01 background: rgba($base01, 0.5)
color: $base07 color: $base07
margin: 0 4px margin: 0 4px
@ -21,7 +21,7 @@
padding-top: 2px padding-top: 2px
window#waybar window#waybar
background: rgba($base00, 0.9) background: rgba($base00, 0.1)
border-bottom: 2px solid transparent border-bottom: 2px solid transparent
// sway/workspaces // sway/workspaces

View file

@ -2,8 +2,8 @@
gtk = { gtk = {
enable = true; enable = true;
iconTheme = { iconTheme = {
name = "Papirus"; name = "Numix-Square-Light";
package = pkgs.papirus-icon-theme; package = pkgs.numix-icon-theme-square;
}; };
theme = { theme = {
@ -15,18 +15,6 @@
name = "Numix-Cursor"; name = "Numix-Cursor";
package = pkgs.numix-cursor-theme; package = pkgs.numix-cursor-theme;
}; };
gtk3.extraConfig = {
Settings = ''
gtk-application-prefer-dark-theme=1
'';
};
gtk4.extraConfig = {
Settings = ''
gtk-application-prefer-dark-theme=1
'';
};
}; };
home.sessionVariables.GTK_THEME = "Arc"; home.sessionVariables.GTK_THEME = "Arc";

View file

@ -11,9 +11,9 @@ _: {
"kdeglobals"."General"."BrowserApplication" = "firefox.desktop"; "kdeglobals"."General"."BrowserApplication" = "firefox.desktop";
"kdeglobals"."General"."TerminalApplication" = "wezterm start --cwd ."; "kdeglobals"."General"."TerminalApplication" = "wezterm start --cwd .";
"kdeglobals"."General"."TerminalService" = "org.wezfurlong.wezterm.desktop"; "kdeglobals"."General"."TerminalService" = "org.wezfurlong.wezterm.desktop";
"kxkbrc"."Layout"."Options" = "terminate:ctrl_alt_bksp,ctrl:nocaps";
"kxkbrc"."Layout"."ResetOldOptions" = true; "kxkbrc"."Layout"."ResetOldOptions" = true;
"plasmarc"."Theme"."name" = "Arc"; "plasmarc"."Theme"."name" = "Arc";
"kxkbrc"."Layout"."Options" = "terminate:ctrl_alt_bksp,ctrl:hyper_capscontrol";
}; };
}; };
} }

View file

@ -3,9 +3,12 @@
pkgs, pkgs,
... ...
}: let }: let
konawallWithDelay = pkgs.writeShellScriptBin "konawall" ''
sleep 5 && ${inputs.konawall-py.packages.${pkgs.system}.konawall-py}/bin/konawall
'';
desktop_entry = '' desktop_entry = ''
[Desktop Entry] [Desktop Entry]
Exec=${inputs.konawall-py.packages.${pkgs.system}.konawall-py}/bin/konawall Exec=${konawallWithDelay}/bin/konawall
Icon= Icon=
Name=konawall Name=konawall
Path= Path=

View file

@ -6,16 +6,9 @@
]) ])
++ (with pkgs.gnome; [ ++ (with pkgs.gnome; [
cheese # webcam tool cheese # webcam tool
gnome-music
gedit # text editor
epiphany # web browser epiphany # web browser
geary # email reader geary # email reader
gnome-characters gnome-characters
tali # poker game
iagno # go game
hitori # sudoku game
atomix # puzzle game
yelp # Help view
gnome-contacts gnome-contacts
gnome-initial-setup gnome-initial-setup
]); ]);

View file

@ -0,0 +1,3 @@
_: {
services.colord.enable = true;
}

View file

@ -0,0 +1,14 @@
_: {
boot = {
plymouth = {
enable = true;
};
consoleLogLevel = 0;
kernelParams = [ "quiet" ];
initrd = {
verbose = false;
systemd.enable = true;
availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod"];
};
};
}

View file

@ -0,0 +1,8 @@
{
pkgs,
...
}: {
home-manager.users.kat.wayland.windowManager.hyprland.settings.exec-once = [
"${pkgs.colord}/bin/colormgr import-profile ${./framework-icc.icm}"
];
}

View file

@ -1,21 +1,4 @@
{ { pkgs, ... }: {
inputs,
tree,
pkgs,
...
}: {
imports =
(with tree.nixos.hardware; [
amd_cpu
amd_gpu
uefi
])
++ [
inputs.nixos-hardware.outputs.nixosModules.framework-13-7040-amd
];
boot.initrd = {
availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod"];
};
services = { services = {
fwupd = { fwupd = {
enable = true; enable = true;

Binary file not shown.

View file

@ -0,0 +1,15 @@
{
inputs,
tree,
...
}: {
imports =
(with tree.nixos.hardware; [
amd_cpu
amd_gpu
uefi
])
++ [
inputs.nixos-hardware.outputs.nixosModules.framework-13-7040-amd
];
}

View file

@ -35,7 +35,7 @@ _: let
fileSystems = { fileSystems = {
"/" = { "/" = {
device = "UUID=861e8815-9327-4e49-915b-73a3b0bdfa25"; device = "/dev/disk/by-uuid/861e8815-9327-4e49-915b-73a3b0bdfa25";
fsType = "bcachefs"; fsType = "bcachefs";
}; };
"/boot" = { "/boot" = {