Use quickshell for background
This commit is contained in:
parent
b6bff47ed1
commit
6d493c43b9
165
flake.lock
165
flake.lock
|
@ -169,24 +169,51 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hyprcursor": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprlang": "hyprlang",
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1709942067,
|
||||||
|
"narHash": "sha256-DGU4zQDwIx6pXM6oHdA+89UU/QjqE05HiXOvigECJjI=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"rev": "a2233d4a2a58233457712acfd88d10a2a8a85711",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hyprland": {
|
"hyprland": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"hyprcursor": "hyprcursor",
|
||||||
"hyprland-protocols": "hyprland-protocols",
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
"hyprlang": "hyprlang",
|
"hyprlang": "hyprlang_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems_2",
|
"systems": "systems_3",
|
||||||
"wlroots": "wlroots",
|
"wlroots": "wlroots",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dirtyRev": "d6f1b151b2fe85ffbb131cbdd05acefc6a357e81-dirty",
|
"lastModified": 1710026388,
|
||||||
"dirtyShortRev": "d6f1b151-dirty",
|
"narHash": "sha256-Z/ReJhaauOe+uThHB1LJ/3tJOnNxdYybS72Z8gkRWT8=",
|
||||||
"lastModified": 1709720053,
|
"owner": "hyprwm",
|
||||||
"narHash": "sha256-jAzU4nq4BJDcYZ6RE33vSLe6pRWiXfa1mZ0DD67F79w=",
|
"repo": "Hyprland",
|
||||||
"type": "git",
|
"rev": "335506d5557b91a0baf974750c353443841e691b",
|
||||||
"url": "file:///home/admin/programming/outfoxxed/hyprland/hyprland"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
|
@ -243,19 +270,17 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
|
"hyprcursor",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": [
|
"systems": "systems_2"
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1708787654,
|
"lastModified": 1709914708,
|
||||||
"narHash": "sha256-7ACgM3ZuAhPqurXHUvR2nWMRcnmzGGPjLK6q4DSTelI=",
|
"narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "0fce791ba2334aca183f2ed42399518947550d0d",
|
"rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -266,14 +291,21 @@
|
||||||
},
|
},
|
||||||
"hyprlang_2": {
|
"hyprlang_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1704230242,
|
"lastModified": 1709914708,
|
||||||
"narHash": "sha256-S8DM+frECqmAdaUb3y5n3RjY73ajZcL5rnmx5YO+CkY=",
|
"narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "db5e1399b90d5a339330bdd49c5bca6fe58d6f60",
|
"rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -282,25 +314,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprpaper": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprlang": "hyprlang_2",
|
|
||||||
"nixpkgs": "nixpkgs_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709070328,
|
|
||||||
"narHash": "sha256-gTpeu+UZZm/zeM7TRkaPhpUY5aK5Lk3Ybu77zhE1Aas=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "Hyprpaper",
|
|
||||||
"rev": "09c4062659cfaf1bb5ba92532a17e1d131f3b3d2",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "Hyprpaper",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"impurity": {
|
"impurity": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689836741,
|
"lastModified": 1689836741,
|
||||||
|
@ -360,18 +373,17 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702645756,
|
"lastModified": 1709479366,
|
||||||
"narHash": "sha256-qKI6OR3TYJYQB3Q8mAZ+DG4o/BR9ptcv9UnRV2hzljc=",
|
"narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "40c3c94c241286dd2243ea34d3aef8a488f9e4d0",
|
"rev": "b8697e57f10292a6165a20f03d2f42920dfaf973",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"type": "indirect"
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
|
@ -390,37 +402,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1703637592,
|
|
||||||
"narHash": "sha256-8MXjxU0RfFfzl57Zy3OfXCITS0qWDNLzlBAdwxGZwfY=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "cfc3698c31b1fb9cdcf10f36c9643460264d0ca8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709479366,
|
|
||||||
"narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "b8697e57f10292a6165a20f03d2f42920dfaf973",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"id": "nixpkgs",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709722017,
|
"lastModified": 1709722017,
|
||||||
|
@ -489,11 +470,10 @@
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprland-hy3": "hyprland-hy3",
|
"hyprland-hy3": "hyprland-hy3",
|
||||||
"hyprpaper": "hyprpaper",
|
|
||||||
"impurity": "impurity",
|
"impurity": "impurity",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpak": "nixpak",
|
"nixpak": "nixpak",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"quickshell": "quickshell",
|
"quickshell": "quickshell",
|
||||||
"radicle": "radicle",
|
"radicle": "radicle",
|
||||||
|
@ -569,22 +549,37 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"wlroots": {
|
"wlroots": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"host": "gitlab.freedesktop.org",
|
"host": "gitlab.freedesktop.org",
|
||||||
"lastModified": 1708558866,
|
"lastModified": 1709983277,
|
||||||
"narHash": "sha256-Mz6hCtommq7RQfcPnxLINigO4RYSNt23HeJHC6mVmWI=",
|
"narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=",
|
||||||
"owner": "wlroots",
|
"owner": "wlroots",
|
||||||
"repo": "wlroots",
|
"repo": "wlroots",
|
||||||
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5",
|
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"host": "gitlab.freedesktop.org",
|
"host": "gitlab.freedesktop.org",
|
||||||
"owner": "wlroots",
|
"owner": "wlroots",
|
||||||
"repo": "wlroots",
|
"repo": "wlroots",
|
||||||
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5",
|
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -608,11 +603,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1708696469,
|
"lastModified": 1709299639,
|
||||||
"narHash": "sha256-shh5wmpeYy3MmsBfkm4f76yPsBDGk6OLYRVG+ARy2F0=",
|
"narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "1b713911c2f12b96c2574474686e4027ac4bf826",
|
"rev": "2d2fb547178ec025da643db57d40a971507b82fe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -48,11 +48,6 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprpaper = {
|
|
||||||
url = "github:hyprwm/Hyprpaper";
|
|
||||||
#inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
|
|
||||||
# devenv
|
# devenv
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ system, inputs, impurity, lib, config, pkgs, ... }: let
|
{ system, inputs, impurity, lib, config, pkgs, ... }: let
|
||||||
inherit (inputs) hyprland hyprpaper hyprland-hy3 quickshell;
|
inherit (inputs) hyprland hyprland-hy3 quickshell;
|
||||||
|
|
||||||
# I blame home manager
|
# I blame home manager
|
||||||
wrapper = pkgs.callPackage ({ ... }: pkgs.writeShellScriptBin "hyprland" ''
|
wrapper = pkgs.callPackage ({ ... }: pkgs.writeShellScriptBin "hyprland" ''
|
||||||
|
@ -43,14 +43,11 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
security.pam.services.swaylock = {};
|
|
||||||
|
|
||||||
home-manager.users.${config.main-user} = {
|
home-manager.users.${config.main-user} = {
|
||||||
imports = [ hyprland.homeManagerModules.default ];
|
imports = [ hyprland.homeManagerModules.default ];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
wrapper
|
wrapper
|
||||||
hyprpaper
|
|
||||||
|
|
||||||
# environment programs
|
# environment programs
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
@ -60,17 +57,6 @@ in {
|
||||||
wf-recorder
|
wf-recorder
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.swaylock = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
color = "000000";
|
|
||||||
font-size = 14;
|
|
||||||
ignore-empty-password = true;
|
|
||||||
show-failed-attempts = true;
|
|
||||||
image = "${./5120x1440.png}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
@ -78,19 +64,10 @@ in {
|
||||||
plugins = [ hyprland-hy3.packages.${system}.default ];
|
plugins = [ hyprland-hy3.packages.${system}.default ];
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
exec-once = ${hyprpaper.packages.${system}.default}/bin/hyprpaper
|
|
||||||
source = ${impurity.link ./hyprland.conf}
|
source = ${impurity.link ./hyprland.conf}
|
||||||
${config.hyprland-session.extraConfig}
|
${config.hyprland-session.extraConfig}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."hypr/hyprpaper.conf".text = ''
|
|
||||||
preload = ${./5120x1440.png}
|
|
||||||
preload = ${./1920x1080.png}
|
|
||||||
|
|
||||||
wallpaper = DP-1,${./5120x1440.png}
|
|
||||||
wallpaper = eDP-1,${./1920x1080.png}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
exec-once = quickshell -c background
|
||||||
|
|
||||||
exec = systemctl start --user emacs.service && emacsclient -e "(setenv \"HYPRLAND_INSTANCE_SIGNATURE\" \"$HYPRLAND_INSTANCE_SIGNATURE\")"
|
exec = systemctl start --user emacs.service && emacsclient -e "(setenv \"HYPRLAND_INSTANCE_SIGNATURE\" \"$HYPRLAND_INSTANCE_SIGNATURE\")"
|
||||||
|
|
||||||
general {
|
general {
|
||||||
|
@ -60,6 +62,9 @@ gestures {
|
||||||
}
|
}
|
||||||
|
|
||||||
misc {
|
misc {
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
disable_splash_rendering = true
|
||||||
|
vrr = 1
|
||||||
no_direct_scanout = false
|
no_direct_scanout = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 335 KiB After Width: | Height: | Size: 335 KiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
7
modules/user/modules/quickshell/BackgroundImage.qml
Normal file
7
modules/user/modules/quickshell/BackgroundImage.qml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
import QtQuick
|
||||||
|
import Quickshell
|
||||||
|
|
||||||
|
Image {
|
||||||
|
required property ShellScreen screen;
|
||||||
|
source: Qt.resolvedUrl(screen.name == "DP-1" ? "5120x1440.png" : "1920x1080.png")
|
||||||
|
}
|
25
modules/user/modules/quickshell/background/shell.qml
Normal file
25
modules/user/modules/quickshell/background/shell.qml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
import Quickshell
|
||||||
|
import Quickshell.Wayland
|
||||||
|
import ".."
|
||||||
|
|
||||||
|
ShellRoot {
|
||||||
|
Variants {
|
||||||
|
variants: Quickshell.screens.map(screen => ({ screen }))
|
||||||
|
PanelWindow {
|
||||||
|
id: window
|
||||||
|
|
||||||
|
WlrLayershell.layer: Layer.Background
|
||||||
|
anchors {
|
||||||
|
top: true
|
||||||
|
bottom: true
|
||||||
|
left: true
|
||||||
|
right: true
|
||||||
|
}
|
||||||
|
|
||||||
|
BackgroundImage {
|
||||||
|
anchors.fill: parent
|
||||||
|
screen: window.screen
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,12 +1,13 @@
|
||||||
{ inputs, pkgs, lib, system, impurity, ... }: let
|
{ inputs, pkgs, lib, system, impurity, ... }: let
|
||||||
inherit (inputs) quickshell;
|
inherit (inputs) quickshell;
|
||||||
in {
|
in {
|
||||||
home.packages = [
|
home.packages = with pkgs; [
|
||||||
quickshell.packages.${system}.default
|
quickshell.packages.${system}.default
|
||||||
pamtester # lockscreen
|
pamtester # lockscreen
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.configFile."quickshell/manifest.conf".text = lib.generators.toKeyValue {} {
|
xdg.configFile."quickshell/manifest.conf".text = lib.generators.toKeyValue {} {
|
||||||
|
background = impurity.link ./background;
|
||||||
lockscreen = impurity.link ./lockscreen;
|
lockscreen = impurity.link ./lockscreen;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import Quickshell.Wayland
|
import Quickshell.Wayland
|
||||||
|
import ".."
|
||||||
|
|
||||||
ShellRoot {
|
ShellRoot {
|
||||||
AuthContext {
|
AuthContext {
|
||||||
|
@ -17,9 +18,11 @@ ShellRoot {
|
||||||
}
|
}
|
||||||
|
|
||||||
SessionLockSurface {
|
SessionLockSurface {
|
||||||
Image {
|
id: surface
|
||||||
|
|
||||||
|
BackgroundImage {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
source: `../../../../hyprland/${screen.name == "DP-1" ? "5120x1440" : "1920x1080"}.png`
|
screen: surface.screen
|
||||||
}
|
}
|
||||||
|
|
||||||
Lockscreen {
|
Lockscreen {
|
||||||
|
@ -28,5 +31,4 @@ ShellRoot {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue