1
0
mirror of https://github.com/XNM1/linux-nixos-hyprland-config-dotfiles.git synced 2025-09-15 09:45:58 +03:00

moved to Hypr ecosystem

This commit is contained in:
xnm
2024-04-24 22:26:20 +03:00
parent 475e4b938c
commit 6321fae7d8
21 changed files with 215 additions and 93 deletions

View File

@@ -85,10 +85,10 @@ The showcased images do not reflect the latest version of the system's appearanc
| Recorder | Wf-recorder |
| Color Picker | Hyprpicker |
| Clipboard | Wl-clipboard + Cliphist + Clipboard-jh |
| Idle | Swayidle |
| Lock | Swaylock |
| Idle | Hypridle |
| Lock | Hyprlock |
| Logout menu | Wlogout |
| Wallpaper | Wpaperd |
| Wallpaper | Hyprpaper |
| Graphical Boot | Plymouth + Catppuccin-plymouth |
| Display Manager | Greetd + Tuigreet |
| Containerization | Podman |
@@ -182,7 +182,7 @@ And many other useful utilities. The full list can be found in the system config
| SUPER + Y | Launch `youtube-music` |
| SUPER + SHIFT + D | Launch `discord` |
| SUPER + SHIFT + T | Launch `telegram` |
| SUPER + SHIFT + L | Launch `swaylock` |
| SUPER + SHIFT + L | Launch `hyprlock` |
| SUPER + SHIFT + S | Take screenshot |
| SUPER + E | Launch `swappy` to edit last taken screenshot |
| SUPER + R | Record screen area (MP4) |
@@ -276,9 +276,9 @@ Here are some tips to enhance your Rust experience on this system:
This repo contains a NixOS configuration file (`nixos/yubikey.nix`) enabling:
- Yubikey authentication with pam_u2f
- Passwordless login in greetd, sudo, ssh, and swaylock
- Passwordless login in greetd, sudo, ssh, and hyprlock
🚨 Personal Recommendation: While convenient, using a Yubikey for display managers (like greetd) and screen lockers (like swaylock) without additional two-factor or multi-factor authentication (2FA/MFA) has risks. If your Yubikey is lost or stolen, someone could gain full system access before you reset keys. Yubikeys excel at protecting against online attacks but are less secure against offline attacks.
🚨 Personal Recommendation: While convenient, using a Yubikey for display managers (like greetd) and screen lockers (like hyprlock) without additional two-factor or multi-factor authentication (2FA/MFA) has risks. If your Yubikey is lost or stolen, someone could gain full system access before you reset keys. Yubikeys excel at protecting against online attacks but are less secure against offline attacks.
🛡️ For enhanced security and a passwordless experience:
You can consider a YubiKey Bio Series device. These keys support FIDO2/WebAuthn and FIDO U2F and has built in fingerprint scanner for strong authentication. Please note, they do not offer Smart card, OpenPGP, or OTP functionality.

View File

@@ -1,10 +1,3 @@
function autostart
pypr & \
wpaperd & \
waybar & \
poweralertd & \
wl-paste --watch cliphist store & \
avizo-service & \
systemctl --user start psi-notify &\
swayidle -w
pypr & hyprpaper & waybar & poweralertd & wl-paste --watch cliphist store & avizo-service & systemctl --user start psi-notify & hypridle -w
end

View File

@@ -24,7 +24,7 @@ separator = "│"
[editor.lsp]
display-messages = true
# display-inlay-hints = true
display-inlay-hints = true
# [editor.file-picker]
# max-depth = 10

View File

@@ -0,0 +1,34 @@
general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
}
listener {
timeout = 180 # 3min.
on-timeout = brightnessctl -s set 15% # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume = brightnessctl -r # monitor backlight restore.
}
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
listener {
timeout = 180 # 3min.
on-timeout = brightnessctl -sd platform::kbd_backlight set 0 # turn off keyboard backlight.
on-resume = brightnessctl -rd platform::kbd_backlight # turn on keyboard backlight.
}
listener {
timeout = 300 # 5min
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
timeout = 350 # 5.83min
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
}
listener {
timeout = 420 # 7min
on-timeout = systemctl suspend # suspend pc
}

View File

@@ -74,7 +74,7 @@ decoration {
shadow_offset = 0, 0
shadow_render_power = 3
col.shadow = $teal
col.shadow_inactive = $base;
col.shadow_inactive = 0xff$baseAlpha;
active_opacity = 0.7
inactive_opacity = 0.7
@@ -220,7 +220,7 @@ bind = $mainMod, Y, exec, youtube-music
bind = $mainMod, D, exec, rofi -show drun
bind = $mainMod SHIFT, D, exec, firejail --apparmor discord
bind = $mainMod, ESCAPE, exec, fish -c wlogout_uniqe
bind = $mainMod SHIFT, L, exec, swaylock
bind = $mainMod SHIFT, L, exec, hyprlock
bind = $mainMod SHIFT, S, exec, fish -c screenshot_to_clipboard
bind = $mainMod, E, exec, fish -c screenshot_edit
bind = $mainMod SHIFT, R, exec, fish -c record_screen_gif

View File

@@ -0,0 +1,83 @@
source = $HOME/.config/hypr/macchiato.conf
$accent = $teal
$accentAlpha = $tealAlpha
$font = JetBrains Mono Regular
# GENERAL
general {
disable_loading_bar = true
hide_cursor = true
}
# BACKGROUND
background {
monitor =
path = ~/background
blur_passes = 2
color = $base
}
# TIME
label {
monitor =
text = cmd[update:30000] echo "$(date +"%R")"
color = $text
font_size = 90
font_family = $font
position = -130, -100
halign = right
valign = top
shadow_passes = 2
}
# DATE
label {
monitor =
text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")"
color = $text
font_size = 25
font_family = $font
position = -130, -250
halign = right
valign = top
shadow_passes = 2
}
# USER AVATAR
image {
monitor =
path = ~/.face
size = 100
border_color = $accent
rounding = -1
position = 0, 75
halign = center
valign = center
shadow_passes = 2
}
# INPUT FIELD
input-field {
monitor =
size = 300, 60
outline_thickness = 4
dots_size = 0.2
dots_spacing = 0.2
dots_center = true
outer_color = $accent
inner_color = $surface0
font_color = $text
fade_on_empty = false
placeholder_text = <span foreground="##$textAlpha"><i>󰌾 Logged in as </i><span foreground="##$accentAlpha">$USER</span></span>
hide_input = false
check_color = $accent
fail_color = $red
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
capslock_color = $yellow
position = 0, -35
halign = center
valign = center
shadow_passes = 2
}

View File

@@ -0,0 +1,5 @@
preload = ~/background
wallpaper = ,~/background
ipc = off
splash = false

View File

@@ -1,29 +1,78 @@
$rosewater = 0xfff4dbd6
$flamingo = 0xfff0c6c6
$pink = 0xfff5bde6
$mauve = 0xffc6a0f6
$red = 0xffed8796
$maroon = 0xffee99a0
$peach = 0xfff5a97f
$green = 0xffa6da95
$teal = 0xff8bd5ca
$sky = 0xff91d7e3
$sapphire = 0xff7dc4e4
$blue = 0xff8aadf4
$lavender = 0xffb7bdf8
$text = 0xffcad3f5
$subtext1 = 0xffb8c0e0
$subtext0 = 0xffa5adcb
$rosewater = rgb(f4dbd6)
$rosewaterAlpha = f4dbd6
$overlay2 = 0xff939ab7
$overlay1 = 0xff8087a2
$overlay0 = 0xff6e738d
$flamingo = rgb(f0c6c6)
$flamingoAlpha = f0c6c6
$surface2 = 0xff5b6078
$surface1 = 0xff494d64
$surface0 = 0xff363a4f
$pink = rgb(f5bde6)
$pinkAlpha = f5bde6
$base = 0xff24273a
$mantle = 0xff1e2030
$crust = 0xff181926
$mauve = rgb(c6a0f6)
$mauveAlpha = c6a0f6
$red = rgb(ed8796)
$redAlpha = ed8796
$maroon = rgb(ee99a0)
$maroonAlpha = ee99a0
$peach = rgb(f5a97f)
$peachAlpha = f5a97f
$yellow = rgb(eed49f)
$yellowAlpha = eed49f
$green = rgb(a6da95)
$greenAlpha = a6da95
$teal = rgb(8bd5ca)
$tealAlpha = 8bd5ca
$sky = rgb(91d7e3)
$skyAlpha = 91d7e3
$sapphire = rgb(7dc4e4)
$sapphireAlpha = 7dc4e4
$blue = rgb(8aadf4)
$blueAlpha = 8aadf4
$lavender = rgb(b7bdf8)
$lavenderAlpha = b7bdf8
$text = rgb(cad3f5)
$textAlpha = cad3f5
$subtext1 = rgb(b8c0e0)
$subtext1Alpha = b8c0e0
$subtext0 = rgb(a5adcb)
$subtext0Alpha = a5adcb
$overlay2 = rgb(939ab7)
$overlay2Alpha = 939ab7
$overlay1 = rgb(8087a2)
$overlay1Alpha = 8087a2
$overlay0 = rgb(6e738d)
$overlay0Alpha = 6e738d
$surface2 = rgb(5b6078)
$surface2Alpha = 5b6078
$surface1 = rgb(494d64)
$surface1Alpha = 494d64
$surface0 = rgb(363a4f)
$surface0Alpha = 363a4f
$base = rgb(24273a)
$baseAlpha = 24273a
$mantle = rgb(1e2030)
$mantleAlpha = 1e2030
$crust = rgb(181926)
$crustAlpha = 181926

View File

@@ -1,5 +0,0 @@
timeout 180 'brightnessctl -s && brightnessctl s 15%' resume 'brightnessctl -r'
timeout 300 'swaylock'
timeout 350 'brightnessctl s 0%' resume 'brightnessctl -r'
timeout 420 'systemctl suspend'
before-sleep 'swaylock'

View File

@@ -1,33 +0,0 @@
daemonize
indicator
clock
screenshots
effect-blur=11x11
effect-compose=1100,10;/home/xnm/.config/swaylock/rebecca.png
effect-compose=20,0;40%x100%;/home/xnm/.config/swaylock/lucy.png
font=JetBrains Mono
indicator-radius=80
indicator-thickness=8
timestr=%I:%M %p
datestr=%F
inside-color=#181926
ring-color=#8bd5ca
key-hl-color=#a6da95
text-color=#cad3f5
layout-text-color=#cad3f5
layout-bg-color=#181926
text-caps-lock-color=#cad3f5
inside-clear-color=#f4dbd6
ring-clear-color=#f0c6c6
text-clear-color=#1e2030
inside-ver-color=#91d7e3
ring-ver-color=#7dc4e4
text-ver-color=#1e2030
inside-wrong-color=#ee99a0
ring-wrong-color=#ed8796
text-wrong-color=#1e2030

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

View File

@@ -1,6 +1,6 @@
{
"label" : "lock",
"action" : "swaylock",
"action" : "hyprlock",
"text" : "Lock",
"keybind" : "l"
}
@@ -33,4 +33,4 @@
"action" : "systemctl reboot",
"text" : "Reboot",
"keybind" : "r"
}
}

View File

@@ -1,4 +0,0 @@
[default]
path = "~/Pictures/Wallpapers/"
duration = "30m"
# apply-shadow = true

View File

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

@@ -26,7 +26,7 @@
./nix-settings.nix
./nixpkgs.nix
./gc.nix
./auto-upgrade.nix
# ./auto-upgrade.nix
./linux-kernel.nix
./screen.nix
./display-manager.nix

View File

@@ -10,6 +10,9 @@
pyprland
hyprpicker
hyprcursor
hyprlock
hypridle
hyprpaper
wezterm
cool-retro-term

View File

@@ -24,7 +24,7 @@
];
};
services.fail2ban.enable = true;
security.pam.services.swaylock = {};
security.pam.services.hyprlock = {};
# security.polkit.enable = true;
programs.browserpass.enable = true;
services.clamav = {

View File

@@ -30,8 +30,6 @@
qt6.qtwayland
psi-notify
poweralertd
swaylock-effects
swayidle
playerctl
psmisc
grim
@@ -52,8 +50,6 @@
dunst
avizo
wlogout
wpaperd
# swww
gifsicle
];
}

View File

@@ -7,5 +7,6 @@
awscli2
cargo-lambda
gnumake
cmake
];
}

View File

@@ -15,6 +15,6 @@
security.pam.services = {
greetd.u2fAuth = true;
sudo.u2fAuth = true;
swaylock.u2fAuth = true;
hyprlock.u2fAuth = true;
};
}