parent
4a2ad39114
commit
49dc072b81
56 changed files with 684 additions and 506 deletions
modules/desktop/manager
|
@ -1,29 +1,32 @@
|
|||
self: {
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = let
|
||||
cfg = config.roles.desktop;
|
||||
agsCfg = hmCfg.programs.ags;
|
||||
hmCfg = config.home-manager.users.${cfg.user};
|
||||
}: let
|
||||
inherit (lib) mkIf;
|
||||
|
||||
hyprland = hmCfg.wayland.windowManager.hyprland.finalPackage;
|
||||
cfg = config.roles.desktop;
|
||||
agsCfg = hmCfg.programs.ags;
|
||||
hmCfg = config.home-manager.users.${cfg.user};
|
||||
|
||||
agsConfig = let
|
||||
homeFiles = config.home-manager.users.${cfg.user}.home.file;
|
||||
hyprland = hmCfg.wayland.windowManager.hyprland.finalPackage;
|
||||
|
||||
nodeModules = homeFiles."${agsCfg.configDir}/node_modules".source;
|
||||
varsTs = homeFiles."${agsCfg.configDir}/widgets/lockscreen/vars.ts".source;
|
||||
in
|
||||
pkgs.runCommandLocal "agsConfig" {} ''
|
||||
cp -ar ${../../ags/config}/* ./.
|
||||
chmod +w -R ./.
|
||||
cp -ar ${varsTs} ./widgets/lockscreen/vars.ts
|
||||
cp -ar ${nodeModules} ./node_modules
|
||||
${agsCfg.package}/bin/ags bundle ./app.ts $out
|
||||
'';
|
||||
in {
|
||||
agsConfig = let
|
||||
homeFiles = config.home-manager.users.${cfg.user}.home.file;
|
||||
|
||||
nodeModules = homeFiles."${agsCfg.configDir}/node_modules".source;
|
||||
varsTs = homeFiles."${agsCfg.configDir}/widgets/lockscreen/vars.ts".source;
|
||||
in
|
||||
pkgs.runCommandLocal "agsConfig" {} ''
|
||||
cp -ar ${self}/modules/ags/config/* ./.
|
||||
chmod +w -R ./.
|
||||
cp -ar ${varsTs} ./widgets/lockscreen/vars.ts
|
||||
cp -ar ${nodeModules} ./node_modules
|
||||
${agsCfg.package}/bin/ags bundle ./app.ts $out
|
||||
'';
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.ags.enable;
|
|
@ -3,58 +3,57 @@ self: {
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
inherit (lib) mkIf;
|
||||
|
||||
cfg = config.roles.desktop;
|
||||
|
||||
hyprland =
|
||||
config
|
||||
.home-manager
|
||||
.users
|
||||
.${cfg.user}
|
||||
.wayland
|
||||
.windowManager
|
||||
.hyprland
|
||||
.finalPackage;
|
||||
|
||||
# Hide TTY on launch
|
||||
cmd = toString (pkgs.writeShellScript "hyprland-wrapper" ''
|
||||
trap 'systemctl --user stop hyprland-session.target; sleep 1' EXIT
|
||||
exec Hyprland >/dev/null
|
||||
'');
|
||||
in {
|
||||
imports = [
|
||||
(import ./ags.nix self)
|
||||
(import ./hyprland.nix self)
|
||||
(import ./ags self)
|
||||
(import ./hyprland self)
|
||||
];
|
||||
|
||||
config = let
|
||||
inherit (lib) mkIf;
|
||||
config = mkIf (cfg.enable && cfg.displayManager.enable) {
|
||||
services = {
|
||||
displayManager.sessionPackages = [hyprland];
|
||||
|
||||
cfg = config.roles.desktop;
|
||||
greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = cmd;
|
||||
user = "greeter";
|
||||
};
|
||||
|
||||
hyprland =
|
||||
config
|
||||
.home-manager
|
||||
.users
|
||||
.${cfg.user}
|
||||
.wayland
|
||||
.windowManager
|
||||
.hyprland
|
||||
.finalPackage;
|
||||
|
||||
# Hide TTY on launch
|
||||
cmd = toString (pkgs.writeShellScript "hyprland-wrapper" ''
|
||||
trap 'systemctl --user stop hyprland-session.target; sleep 1' EXIT
|
||||
exec Hyprland >/dev/null
|
||||
'');
|
||||
in
|
||||
mkIf cfg.displayManager.enable {
|
||||
services = {
|
||||
displayManager.sessionPackages = [hyprland];
|
||||
|
||||
greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = cmd;
|
||||
user = "greeter";
|
||||
};
|
||||
|
||||
initial_session = {
|
||||
command = cmd;
|
||||
user = cfg.user;
|
||||
};
|
||||
initial_session = {
|
||||
command = cmd;
|
||||
user = cfg.user;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# unlock GPG keyring on login
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
security.pam.services.greetd.enableGnomeKeyring = true;
|
||||
};
|
||||
|
||||
# unlock GPG keyring on login
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
security.pam.services.greetd.enableGnomeKeyring = true;
|
||||
};
|
||||
|
||||
# For accurate stack trace
|
||||
_file = ./default.nix;
|
||||
}
|
||||
|
|
|
@ -3,28 +3,28 @@ self: {
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = let
|
||||
inherit (lib) optionals;
|
||||
inherit (self.lib.hypr) mkAnimation;
|
||||
}: let
|
||||
inherit (self.lib.hypr) mkAnimation;
|
||||
|
||||
inherit (import ./setupMonitors.nix {inherit config pkgs;}) setupMonitors;
|
||||
inherit (lib) mkIf optionals;
|
||||
|
||||
cfg = config.roles.desktop;
|
||||
inherit (import ./setupMonitors.nix {inherit config pkgs;}) setupMonitors;
|
||||
|
||||
# Nix stuff
|
||||
cfgHypr =
|
||||
config
|
||||
.home-manager
|
||||
.users
|
||||
.${cfg.user}
|
||||
.wayland
|
||||
.windowManager
|
||||
.hyprland;
|
||||
in {
|
||||
cfg = config.roles.desktop;
|
||||
|
||||
cfgHypr =
|
||||
config
|
||||
.home-manager
|
||||
.users
|
||||
.${cfg.user}
|
||||
.wayland
|
||||
.windowManager
|
||||
.hyprland;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.greeter = {
|
||||
imports = [
|
||||
(import ../theme self)
|
||||
(import ../../theme self)
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
|
@ -73,5 +73,5 @@ self: {
|
|||
};
|
||||
|
||||
# For accurate stack trace
|
||||
_file = ./hyprland.nix;
|
||||
_file = ./default.nix;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue