mirror of
https://github.com/kittywitch/nixfiles.git
synced 2026-02-09 12:29:19 -08:00
feat: consistent konawall on hyprland
This commit is contained in:
parent
576f3a3e7e
commit
15f40761fb
17 changed files with 92 additions and 72 deletions
6
flake.lock
generated
6
flake.lock
generated
|
|
@ -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": {
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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 = [
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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=
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
]);
|
]);
|
||||||
|
|
|
||||||
3
nixos/environments/hyprland/colord.nix
Normal file
3
nixos/environments/hyprland/colord.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
_: {
|
||||||
|
services.colord.enable = true;
|
||||||
|
}
|
||||||
14
nixos/hardware/framework/boot.nix
Normal file
14
nixos/hardware/framework/boot.nix
Normal 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"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
8
nixos/hardware/framework/color.nix
Normal file
8
nixos/hardware/framework/color.nix
Normal 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}"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
BIN
nixos/hardware/framework/framework-icc.icm
Normal file
BIN
nixos/hardware/framework/framework-icc.icm
Normal file
Binary file not shown.
15
nixos/hardware/framework/imports.nix
Normal file
15
nixos/hardware/framework/imports.nix
Normal 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
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -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" = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue