From b591b0bcfbf5e1e42e62305d96cdee7d945df1bd Mon Sep 17 00:00:00 2001 From: Kirill Date: Fri, 6 Dec 2024 14:37:21 +0300 Subject: [PATCH] Lock skreen have been added to my config, and also auto login have been connected --- home-manager/data/pkgs.nix | 1 + home-manager/data/sleepMode.nix | 87 ++++++++++++++++++++++++++ nixos/hosts/usconfig/configuration.nix | 26 ++++++-- nixos/hosts/usconfig/pockets.nix | 2 +- 4 files changed, 111 insertions(+), 5 deletions(-) create mode 100644 home-manager/data/sleepMode.nix diff --git a/home-manager/data/pkgs.nix b/home-manager/data/pkgs.nix index 3bf2e97..f47136d 100644 --- a/home-manager/data/pkgs.nix +++ b/home-manager/data/pkgs.nix @@ -6,5 +6,6 @@ ./git.nix ./mako.nix ./yazi.nix + ./sleepMode.nix ]; } diff --git a/home-manager/data/sleepMode.nix b/home-manager/data/sleepMode.nix new file mode 100644 index 0000000..7ce3500 --- /dev/null +++ b/home-manager/data/sleepMode.nix @@ -0,0 +1,87 @@ +{ pkgs, lib, ... }: { + wayland.windowManager.hyprland.settings.exec-once = [ "hyprlock" ]; + + programs.hyprlock = let + image = pkgs.fetchurl { + name = "lock_background.png"; + url = "https://art.kartinkof.club/uploads/posts/2023-06/1686192270_art-kartinkof-club-p-anime-arti-na-telefon-4k-48.png"; + hash = "sha256-BL3w5QWokjknovqLyL7LTGda9yEXHWGuMrU8g0kPiYY="; + }; + in { + enable = true; + + settings = { + background = { + path = lib.mkForce "${image}"; + color = "rgba(25, 20, 20, 1.0)"; + blur_passes = 0; + blur_size = 7; + noise = 0.0117; + contrast = 0.8916; + brightness = 0.8172; + vibrancy = 0.1696; + vibrancy_darkness = 0.0; + }; + + shape = { + size = "360, 60"; + color = "rgba(17, 17, 17, 1.0)"; + rounding = -1; + border_size = 8; + border_color = "rgba(0, 207, 230, 1.0)"; + rotate = 0; + xray = false; + + position = "0, 80"; + halign = "center"; + valign = "center"; + }; + + label = { + text = "Hi there, $USER"; + text_align = "center"; + color = "rgba(200, 200, 200, 1.0)"; + font_size = 25; + font_family = "Noto Sans"; + rotate = 0; + + position = "0, 80"; + halign = "center"; + valign = "center"; + }; + + input-field = { + size = "200, 50"; + outline_thickness = 3; + dots_size = 0.33; + dots_spacing = 0.15; + dots_center = false; + dots_rounding = -1; + dots_fade_time = 200; + # outer_color = "rgb(151515)"; + # inner_color = "rgb(200, 200, 200)"; + # font_color = "rgb(10, 10, 10)"; + font_family = "Noto Sans"; + fade_on_empty = true; + fade_timeout = 1000; + placeholder_text = "Input Password..."; + hide_input = false; + rounding = -1; + # check_color = "rgb(204, 136, 34)"; + # fail_color = "rgb(204, 34, 34)"; + fail_text = "$FAIL ($ATTEMPTS)"; + fail_timeout = 2000; + fail_transition = 300; + capslock_color = -1; + numlock_color = -1; + bothlock_color = -1; + invert_numlock = false; + swap_font_color = false; + + position = "0, -20"; + halign = "center"; + valign = "center"; + }; + }; + }; +} diff --git a/nixos/hosts/usconfig/configuration.nix b/nixos/hosts/usconfig/configuration.nix index 23227b9..213cbae 100644 --- a/nixos/hosts/usconfig/configuration.nix +++ b/nixos/hosts/usconfig/configuration.nix @@ -1,7 +1,7 @@ # Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ config, pkgs,libs, ... }: +{ config, pkgs, libs, lib, inputs, ... }: { imports = @@ -83,13 +83,31 @@ users.kirill = { isNormalUser = true; description = "Kirill"; - extraGroups = [ "networkmanager" "wheel" ]; + extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" ]; packages = with pkgs; [ # thunderbird ]; }; }; + services.greetd = let + tuigreet = pkgs.lib.getExe pkgs.greetd.tuigreet; + session = lib.getExe pkgs.hyprland; + username = "kirill"; + in { + enable = true; + settings = { + initial_session = { + command = "${session}"; + user = "${username}"; + }; + default_session = { + command = "${tuigreet} --greeting 'Welcome to NixOS!' --asterisks --remember --remember-user-session --time -cmd ${session}"; + user = "greeter"; + }; + }; + }; + virtualisation.virtualbox.host.enable = true; #Installing virtualBox for IOT lessons users.extraGroups.vboxusers.members = [ "user-with-access-to-virtualbox" ]; @@ -97,8 +115,8 @@ virtualisation.docker.enable = true; # Enable automatic login for the user. - services.xserver.displayManager.autoLogin.enable = true; - services.xserver.displayManager.autoLogin.user = "kirill"; + services.displayManager.autoLogin.enable = true; + services.displayManager.autoLogin.user = "kirill"; hardware.bluetooth.enable = true; # enables support for Bluetooth hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot diff --git a/nixos/hosts/usconfig/pockets.nix b/nixos/hosts/usconfig/pockets.nix index 1b093d3..93d00c6 100644 --- a/nixos/hosts/usconfig/pockets.nix +++ b/nixos/hosts/usconfig/pockets.nix @@ -89,7 +89,7 @@ #learning obsidian - ];# ++ [thingsboard]; + ]; fonts.packages = with pkgs; [ jetbrains-mono