parent
c9fb02840b
commit
8413ab2e0f
2 changed files with 137 additions and 39 deletions
|
@ -6,7 +6,6 @@
|
|||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
@ -24,8 +23,6 @@
|
|||
|
||||
users.users.vivian.extraGroups = [ "adbusers" ];
|
||||
|
||||
services.flatpak.enable = true;
|
||||
|
||||
# Bootloader.
|
||||
boot = {
|
||||
kernelParams = [
|
||||
|
@ -48,36 +45,44 @@
|
|||
};
|
||||
|
||||
home-manager.users.vivian = import ./home;
|
||||
programs = {
|
||||
nix-ld.enable = true;
|
||||
nix-ld.libraries = with pkgs; [
|
||||
# Add any missing dynamic libraries for unpackaged programs
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = with pkgs; [
|
||||
# Add any missing dynamic libraries for unpackaged programs
|
||||
# here, NOT in environment.systemPackages
|
||||
];
|
||||
|
||||
# here, NOT in environment.systemPackages
|
||||
];
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
};
|
||||
hyprlock.enable = true;
|
||||
};
|
||||
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
services = {
|
||||
hypridle.enable = true;
|
||||
|
||||
services.ollama = {
|
||||
enable = true;
|
||||
acceleration = "rocm";
|
||||
rocmOverrideGfx = "10.3.4";
|
||||
};
|
||||
flatpak.enable = true;
|
||||
|
||||
services.interception-tools = {
|
||||
enable = true;
|
||||
plugins = [ pkgs.interception-tools-plugins.caps2esc ];
|
||||
udevmonConfig = ''
|
||||
- JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.caps2esc}/bin/caps2esc | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE"
|
||||
DEVICE:
|
||||
EVENTS:
|
||||
EV_KEY: [KEY_CAPSLOCK, KEY_ESC]
|
||||
'';
|
||||
gnome.gnome-keyring.enable = true;
|
||||
|
||||
ollama = {
|
||||
enable = true;
|
||||
acceleration = "rocm";
|
||||
rocmOverrideGfx = "10.3.4";
|
||||
};
|
||||
|
||||
interception-tools = {
|
||||
enable = true;
|
||||
plugins = [ pkgs.interception-tools-plugins.caps2esc ];
|
||||
udevmonConfig = ''
|
||||
- JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.caps2esc}/bin/caps2esc | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE"
|
||||
DEVICE:
|
||||
EVENTS:
|
||||
EV_KEY: [KEY_CAPSLOCK, KEY_ESC]
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
# Enable Ozone rendering for Chromium and Electron apps.
|
||||
|
|
|
@ -19,32 +19,117 @@ in
|
|||
inputs.hyprland-qtutils.packages.${pkgs.system}.default
|
||||
];
|
||||
|
||||
services = {
|
||||
mako = {
|
||||
enable = true;
|
||||
defaultTimeout = 5000;
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
};
|
||||
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
settings =
|
||||
let
|
||||
color = "rgba(242, 243, 244, 0.75)";
|
||||
in
|
||||
{
|
||||
auth.fingerprint.enabled = true;
|
||||
|
||||
background = {
|
||||
path = "screenshot";
|
||||
blur_passes = 3;
|
||||
};
|
||||
|
||||
input-field = {
|
||||
size = "500, 100";
|
||||
outline_thickness = 0;
|
||||
dots_size = 0.25; # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.55; # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true;
|
||||
dots_rounding = -1;
|
||||
outer_color = "rgba(242, 243, 244, 0)";
|
||||
inner_color = "rgba(242, 243, 244, 0)";
|
||||
font_color = "rgba(242, 243, 244, 0.75)";
|
||||
fade_on_empty = false;
|
||||
placeholder_text = "Start typing or scan fingerprint"; # Text rendered in the input box when it's empty.
|
||||
hide_input = false;
|
||||
check_color = "rgba(204, 136, 34, 0)";
|
||||
fail_color = "rgba(204, 34, 34, 0)"; # if authentication failed, changes outer_color and fail message color
|
||||
fail_text = "$FAIL <b>($ATTEMPTS)</b>"; # can be set to empty
|
||||
fail_transition = 300; # transition time in ms between normal outer_color and fail_color
|
||||
capslock_color = -1;
|
||||
numlock_color = -1;
|
||||
bothlock_color = -1; # when both locks are active. -1 means don't change outer color (same for above)
|
||||
invert_numlock = false; # change color if numlock is off
|
||||
swap_font_color = false; # see below
|
||||
# position = "0, -468";
|
||||
position = "0, -900";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
};
|
||||
|
||||
label = [
|
||||
{
|
||||
text = "$TIME";
|
||||
inherit color;
|
||||
shadow_passes = 1;
|
||||
shadow_boost = 0.5;
|
||||
font_size = 120;
|
||||
# position = "0, 900";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# eww = {
|
||||
# enable = true;
|
||||
# configDir = ./eww;
|
||||
# };
|
||||
};
|
||||
|
||||
# Hack to ensure graphical dependent services start _after_ hyprland starts
|
||||
# Needed as these services normally start after graphical-session-pre
|
||||
systemd.user.services.hyprpaper.Unit.After = lib.mkForce "graphical-session.target";
|
||||
systemd.user.services.waybar.Unit.After = lib.mkForce "graphical-session.target";
|
||||
|
||||
services = {
|
||||
gnome-keyring.enable = true;
|
||||
|
||||
mako = {
|
||||
enable = true;
|
||||
defaultTimeout = 5000;
|
||||
};
|
||||
|
||||
hypridle = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
general = {
|
||||
lock_cmd = "pidof hyprlock || hyprlock";
|
||||
before_sleep_cmd = "loginctl lock-session";
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||
};
|
||||
|
||||
listener = [
|
||||
{
|
||||
timeout = 150; # 2.5 mins
|
||||
on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -s set 10";
|
||||
on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -r";
|
||||
}
|
||||
{
|
||||
timeout = 150; # 2.5 mins
|
||||
on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -sd tpacpi:kbd_backlight set 0";
|
||||
on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -rd tpacpi::kbd_backlight";
|
||||
}
|
||||
{
|
||||
timeout = 300; # 5 mins
|
||||
on-timeout = "loginctl lock-session";
|
||||
}
|
||||
{
|
||||
timeout = 600; # 10 mins
|
||||
on-timeout = "hyprctl dispatch dpms off";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
hyprpaper =
|
||||
let
|
||||
wallpaper = ../../../../assets/wallpaper-nix-pink.png;
|
||||
|
@ -59,8 +144,14 @@ in
|
|||
ipc = "off";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
# Hack to ensure graphical dependent services start _after_ hyprland starts
|
||||
# Needed as these services normally start after graphical-session-pre
|
||||
systemd.user.services.hyprpaper.Unit.After = lib.mkForce "graphical-session.target";
|
||||
systemd.user.services.waybar.Unit.After = lib.mkForce "graphical-session.target";
|
||||
|
||||
wayland.windowManager.hyprland =
|
||||
let
|
||||
toggle_mirror = pkgs.writeScriptBin "toggle_mirror.sh" ''
|
||||
|
@ -210,6 +301,8 @@ in
|
|||
"$mod, J, togglesplit, # dwindle"
|
||||
"$mod,m,fullscreen"
|
||||
|
||||
"$mod, L, exec, loginctl lock-session"
|
||||
|
||||
"$mod, space, hyprexpo:expo, toggle"
|
||||
|
||||
# Move focus with arrow keys
|
||||
|
|
Loading…
Add table
Reference in a new issue