From 403ee59c8564997e2aed2188dd95b66cbdcdcc07 Mon Sep 17 00:00:00 2001 From: Anthony Rodriguez Date: Thu, 12 Sep 2024 02:31:34 +0200 Subject: [PATCH] greetd: use tuigreet --- flake.lock | 548 ++++++++++++++++++++++++++++++- flake.nix | 1 + home/laptop/hyprland/default.nix | 5 +- hosts/common/default.nix | 1 - hosts/solaire/default.nix | 2 + hosts/vamos/default.nix | 1 + modules/greetd.nix | 29 +- modules/stylix.nix | 2 +- 8 files changed, 548 insertions(+), 41 deletions(-) diff --git a/flake.lock b/flake.lock index 7dc37c7..a01217c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,38 @@ { "nodes": { + "aquamarine": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1725753098, + "narHash": "sha256-/NO/h/qD/eJXAQr/fHA4mdDgYsNT9thHQ+oT6KPi2ac=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "e4a13203112a036fc7f437d391c7810f3dd5ab52", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -114,6 +147,21 @@ "type": "github" } }, + "catppuccin": { + "locked": { + "lastModified": 1725509983, + "narHash": "sha256-NHCgHVqumPraFJnLrkanoLDuhOoUHUvRhvp/RIHJR+A=", + "owner": "catppuccin", + "repo": "nix", + "rev": "45745fe5960acaefef2b60f3455bcac6a0ca6bc9", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "nix", + "type": "github" + } + }, "devshell": { "inputs": { "nixpkgs": [ @@ -188,7 +236,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems" + "systems": "systems_4" }, "locked": { "lastModified": 1710146030, @@ -227,7 +275,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_3" + "systems": "systems_6" }, "locked": { "lastModified": 1710146030, @@ -424,6 +472,366 @@ "type": "github" } }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1722623071, + "narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "912d56025f03d41b1ad29510c423757b4379eb1c", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": "nixpkgs", + "systems": "systems", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1726071051, + "narHash": "sha256-eZPhLQ8DM8AsP+zM1KmUzxWQaiTpOUbFS1xeOyjgwvg=", + "ref": "refs/heads/main", + "rev": "8b9e385943d1a9fd0f8c6070fa1eae507ae26145", + "revCount": 5213, + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + }, + "original": { + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + } + }, + "hyprland-contrib": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1725551787, + "narHash": "sha256-6LgsZHz8w3g4c9bRUwRAR+WIMwFGGf3P1VZQcKNRf2o=", + "owner": "hyprwm", + "repo": "contrib", + "rev": "1e531dc49ad36c88b45bf836081a7a2c8927e072", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "contrib", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "xdph", + "nixpkgs" + ], + "systems": [ + "hyprland", + "xdph", + "systems" + ] + }, + "locked": { + "lastModified": 1721326555, + "narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1725997860, + "narHash": "sha256-d/rZ/fHR5l1n7PeyLw0StWMNLXVU9c4HFyfskw568so=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "dfeb5811dd6485490cce18d6cc1e38a055eea876", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlang_2": { + "inputs": { + "hyprutils": [ + "hyprlock", + "hyprutils" + ], + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ], + "systems": [ + "hyprlock", + "systems" + ] + }, + "locked": { + "lastModified": 1721324361, + "narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlang_3": { + "inputs": { + "hyprutils": [ + "hyprpaper", + "hyprutils" + ], + "nixpkgs": [ + "hyprpaper", + "nixpkgs" + ], + "systems": [ + "hyprpaper", + "systems" + ] + }, + "locked": { + "lastModified": 1725188252, + "narHash": "sha256-yBH8c4GDaEAtBrh+BqIlrx5vp6gG/Gu8fQQK63KAQgs=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "c12ab785ce1982f82594aff03b3104c598186ddd", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlock": { + "inputs": { + "hyprlang": "hyprlang_2", + "hyprutils": "hyprutils_2", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_2" + }, + "locked": { + "lastModified": 1725535663, + "narHash": "sha256-hsvbU1utffVOFTRa3arPepv8en42VltR33L72vK3QVo=", + "owner": "hyprwm", + "repo": "hyprlock", + "rev": "153977aab35a72f3e142e32aed6b268b659d18e1", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlock", + "type": "github" + } + }, + "hyprpaper": { + "inputs": { + "hyprlang": "hyprlang_3", + "hyprutils": "hyprutils_3", + "hyprwayland-scanner": "hyprwayland-scanner_2", + "nixpkgs": "nixpkgs_2", + "systems": "systems_3" + }, + "locked": { + "lastModified": 1725200438, + "narHash": "sha256-3Cqu8jz19YyWqhneac6QFfadlyxZ4s3saSLmmpYMOe4=", + "owner": "hyprwm", + "repo": "hyprpaper", + "rev": "1c18ad65032adb891b341292a1edf9e13adf4751", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprpaper", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1724966483, + "narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprutils_2": { + "inputs": { + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ], + "systems": [ + "hyprlock", + "systems" + ] + }, + "locked": { + "lastModified": 1721324102, + "narHash": "sha256-WAZ0X6yJW1hFG6otkHBfyJDKRpNP5stsRqdEuHrFRpk=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "962582a090bc233c4de9d9897f46794280288989", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprutils_3": { + "inputs": { + "nixpkgs": [ + "hyprpaper", + "nixpkgs" + ], + "systems": [ + "hyprpaper", + "systems" + ] + }, + "locked": { + "lastModified": 1724966483, + "narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1721324119, + "narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "hyprwayland-scanner_2": { + "inputs": { + "nixpkgs": [ + "hyprpaper", + "nixpkgs" + ], + "systems": [ + "hyprpaper", + "systems" + ] + }, + "locked": { + "lastModified": 1721324119, + "narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, "libpng": { "flake": false, "locked": { @@ -479,11 +887,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725634671, - "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", + "lastModified": 1725983898, + "narHash": "sha256-4b3A9zPpxAxLnkF9MawJNHDtOOl6ruL0r6Og1TEDGCE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", + "rev": "1355a0cbfeac61d785b7183c0caaec1f97361b43", "type": "github" }, "original": { @@ -510,6 +918,38 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1725634671, + "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1725194671, "narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=", @@ -577,9 +1017,14 @@ }, "root": { "inputs": { + "catppuccin": "catppuccin", "home-manager": "home-manager", + "hyprland": "hyprland", + "hyprland-contrib": "hyprland-contrib", + "hyprlock": "hyprlock", + "hyprpaper": "hyprpaper", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_3", "nixvim": "nixvim", "shells": "shells", "sops-nix": "sops-nix", @@ -659,8 +1104,8 @@ "flake-utils": "flake-utils_2", "gnome-shell": "gnome-shell", "home-manager": "home-manager_3", - "nixpkgs": "nixpkgs_2", - "systems": "systems_2" + "nixpkgs": "nixpkgs_4", + "systems": "systems_5" }, "locked": { "lastModified": 1725290973, @@ -678,20 +1123,50 @@ }, "systems": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, "systems_2": { + "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" + } + }, + "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" + } + }, + "systems_4": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -706,7 +1181,22 @@ "type": "github" } }, - "systems_3": { + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_6": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -771,6 +1261,36 @@ "type": "github" } }, + "xdph": { + "inputs": { + "hyprland-protocols": "hyprland-protocols", + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1726046979, + "narHash": "sha256-6SEsjurq9cdTkITA6d49ncAJe4O/8CgRG5/F//s6Xh8=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "e695669fd8e1d1be9eaae40f35e00f8bd8b64c18", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, "zlib": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 0465ad0..f74eaed 100644 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; stylix.url = "github:danth/stylix"; + catppuccin.url = "github:catppuccin/nix"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/home/laptop/hyprland/default.nix b/home/laptop/hyprland/default.nix index d334569..b0639b2 100644 --- a/home/laptop/hyprland/default.nix +++ b/home/laptop/hyprland/default.nix @@ -1,4 +1,4 @@ -{ inputs, pkgs, ... }: +{ inputs, pkgs, lib, ... }: { imports = [./hyprlock.nix]; wayland.windowManager.hyprland = { @@ -6,7 +6,8 @@ package = inputs.hyprland.packages.${pkgs.system}.hyprland; settings = { "$mod" = "SUPER"; - "$terminal" = "kitty"; "$menu" = "fuzzel"; + "$terminal" = "wezterm"; + "$menu" = "fuzzel"; "monitor" = "eDP-1, 2256x1504@60, 0x0, 1.6"; input.touchpad.natural_scroll = true; gestures.workspace_swipe = true; diff --git a/hosts/common/default.nix b/hosts/common/default.nix index 96f836a..0438756 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -6,7 +6,6 @@ _: ./sops.nix ]; - modules.gnome.enable = true; modules.stylix.enable = true; modules.docker.enable = true; modules.pipewire.enable = true; diff --git a/hosts/solaire/default.nix b/hosts/solaire/default.nix index 2d16ac8..190ee28 100644 --- a/hosts/solaire/default.nix +++ b/hosts/solaire/default.nix @@ -40,6 +40,8 @@ }; wantedBy = ["multi-user.target"]; }; + + modules.stylix.enable = true; modules.gnome.enable = true; modules.nvidia.enable = true; modules.gaming.enable = true; diff --git a/hosts/vamos/default.nix b/hosts/vamos/default.nix index 15774de..b08cc34 100644 --- a/hosts/vamos/default.nix +++ b/hosts/vamos/default.nix @@ -21,6 +21,7 @@ }; }; }; + modules.hyprland.enable = true; modules.greetd.enable = true; } diff --git a/modules/greetd.nix b/modules/greetd.nix index e330adb..e2599bb 100644 --- a/modules/greetd.nix +++ b/modules/greetd.nix @@ -1,25 +1,9 @@ -{ inputs, config, lib, pkgs, ... }: +{ config, lib, pkgs, username, ... }: let cfg = config.modules.greetd; - inherit (inputs.hyprland.packages.${pkgs.system}) hyprland; - greeter = lib.getExe config.programs.regreet.package; - Hyprland = lib.getExe' hyprland "Hyprland"; - hyprctl = lib.getExe' hyprland "hyprctl"; - hyprlandConfig = pkgs.writeText "greetd-hyprland-config" '' - misc { - force_default_wallpaper=0 - focus_on_activate=1 - } + tuigreet = "${pkgs.greetd.tuigreet}/bin/tuigreet"; - animations { - enabled=0 - first_launch_animation=0 - } - - exec-once=${greeter}; ${hyprctl} dispatch exit - exec-once=${hyprctl} dispatch focuswindow ${greeter} - ''; in { options = { @@ -31,12 +15,11 @@ in programs.regreet.enable = true; services.greetd = { enable = true; - settings = rec { - initial_session = { - command = "${Hyprland} --config ${hyprlandConfig}"; - user = "nezia"; + settings = { + default_session = { + command = "${tuigreet} --time --time-format '%a, %d %b %Y • %T' --asterisks --remember --cmd Hyprland"; + user = username; }; - default_session = initial_session; }; }; security.pam.services.hyprlock = {}; diff --git a/modules/stylix.nix b/modules/stylix.nix index b335eb7..463c8bd 100644 --- a/modules/stylix.nix +++ b/modules/stylix.nix @@ -37,8 +37,8 @@ in }; sizes = lib.mkDefault { terminal = 14; + desktop = 14; applications = 10; - desktop = 10; }; }; targets = {