This commit is contained in:
datsudo 2025-06-05 00:28:43 +08:00
parent 03f89ba0d3
commit a4bdda5d86
21 changed files with 961 additions and 23 deletions

7
bin/hypr-custom-kill Executable file
View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
if [ "$(hyprctl activewindow -j | jq -r ".class")" = "Steam" ]; then
xdotool getactivewindow windowunmap
else
hyprctl dispatch killactive ""
fi

25
bin/wl-toggle-keyboard Executable file
View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
export STATUS_FILE="$XDG_RUNTIME_DIR/keyboard.status"
enable_keyboard() {
printf "true" > "$STATUS_FILE"
notify-send -u normal "Enabling Keyboard"
hyprctl keyword '$LAPTOP_KB_ENABLED' "true" -r
}
disable_keyboard() {
printf "false" > "$STATUS_FILE"
notify-send -u normal "Disabling Keyboard"
hyprctl keyword '$LAPTOP_KB_ENABLED' "false" -r
}
if ! [ -f "$STATUS_FILE" ]; then
disable_keyboard
else
if [ $(cat "$STATUS_FILE") = "true" ]; then
disable_keyboard
elif [ $(cat "$STATUS_FILE") = "false" ]; then
enable_keyboard
fi
fi

25
bin/wl-toggle-touchpad Executable file
View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
export STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status"
enable_touchpad() {
printf "true" >"$STATUS_FILE"
notify-send -u normal "Enabling touchpad"
hyprctl keyword '$TOUCHPAD_ENABLED' "true" -r
}
disable_touchpad() {
printf "false" >"$STATUS_FILE"
notify-send -u normal "Disabling Touchpad"
hyprctl keyword '$TOUCHPAD_ENABLED' "false" -r
}
if ! [ -f "$STATUS_FILE" ]; then
disable_touchpad
else
if [ $(cat "$STATUS_FILE") = "true" ]; then
disable_touchpad
elif [ $(cat "$STATUS_FILE") = "false" ]; then
enable_touchpad
fi
fi

19
config/foot-dracula Normal file
View File

@ -0,0 +1,19 @@
[colors]
foreground=f8f8f2
background=282a36
regular0=000000
regular1=ff5555
regular2=50fa7b
regular3=f1fa8c
regular4=bd93f9
regular5=ff79c6
regular6=8be9fd
regular7=bfbfbf
bright0=4d4d4d
bright1=ff6e67
bright2=5af78e
bright3=f4f99d
bright4=caa9fa
bright5=ff92d0
bright6=9aedfe
bright7=e6e6e6

53
config/hypr/hyprlock.conf Normal file
View File

@ -0,0 +1,53 @@
general {
hide_cursor = true
no_fade_in = true
no_fade_out = true
grace = 0
ignore_empty_input = true
}
background {
path = /ar1/Wallpapers/WP-000010.png
}
input-field {
monitor =
size = 250, 60
outline_thickness = 2
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgba(0, 0, 0, 0)
inner_color = rgba(0, 0, 0, 0.2)
font_color = rgba(82aaffaa)
fade_on_empty = false
rounding = 20
check_color = rgb(204, 136, 34)
placeholder_text = <span foreground="##82aaff">Input Password...</span>
hide_input = false
position = 0, -200
halign = center
valign = center
}
label {
monitor =
text = cmd[update:1000] echo "$(date +"%-I:%M")"
color = rgba(242, 243, 244, 0.75)
font_size = 95
font_family = Host Grotesk Bold
position = 0, 200
halign = center
valign = center
}
label {
monitor =
text = cmd[update:1000] echo "$(date +"%A, %B %d, %Y")"
color = rgba(242, 243, 244, 0.75)
font_size = 22
font_family = Host Grotesk SemiBold
position = 0, 300
halign = center
valign = center
}

View File

@ -0,0 +1,2 @@
preload = /ar1/Wallpapers/WP-000016.png
wallpaper = , /ar1/Wallpapers/WP-000016.png

View File

@ -0,0 +1,4 @@
* {
color: white;
font-family: Host Grotesk, sans-serif;
}

44
config/hypr/plugins.conf Normal file
View File

@ -0,0 +1,44 @@
plugin {
### https://github.com/outfoxxed/hy3
hy3 {
no_gaps_when_only = 1
node_collapse_policy = 0
group_inset = 5
tab_first_window = false
tabs {
border_width = 0
height = 15
padding = 0
from_top = false
radius = 0
rounding = 0
render_text = true # default: true
text_center = true # default: false
text_font = Host Grotesk Bold
text_height = 8
col.active = rgba(646464ff)
col.active.text = rgba(ffffffff)
col.active.border = rgba(4f3f86ff)
col.inactive = rgba(010f1dff)
col.inactive.text = rgba(8ba2b6ff)
col.inactive.border = rgba(1d374bff)
col.urgent = rgba(dc2e29ff)
col.urgent.text = rgba(ffffffff)
col.urgent.border = rgba(d76443ff)
opacity = 1.0
}
autotile {
enable = false
ephemeral_groups = true
trigger_width = 800 # default: 0
trigger_height = 500 # default: 0
workspaces = all # default: all
}
}
}

View File

@ -1,4 +1,4 @@
#!/usr/bin/env fish
#!/usr/bin/env bash
killall waybar
waybar -c ~/.config/waybar/topbar.jsonc -s ~/.config/waybar/topbar.css &

480
flake.lock generated
View File

@ -1,5 +1,76 @@
{
"nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1747864449,
"narHash": "sha256-PIjVAWghZhr3L0EFM2UObhX84UQxIACbON0IC0zzSKA=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "389372c5f4dc1ac0e7645ed29a35fd6d71672ef5",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -41,7 +112,332 @@
"type": "github"
}
},
"hy3": {
"inputs": {
"hyprland": [
"hyprland"
]
},
"locked": {
"lastModified": 1747077256,
"narHash": "sha256-ryaXKevnISRiJb93QIAv7tGc6ZJqSkwETKm4oGh8HWI=",
"owner": "outfoxxed",
"repo": "hy3",
"rev": "567dc9dd20e15d95a56a81c516a70dba30bc2c9c",
"type": "github"
},
"original": {
"owner": "outfoxxed",
"repo": "hy3",
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1745948457,
"narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "ac903e80b33ba6a88df83d02232483d99f327573",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1745015490,
"narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "60754910946b4e2dc1377b967b7156cb989c5873",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-protocols": "hyprland-protocols",
"hyprland-qtutils": "hyprland-qtutils",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1748976536,
"narHash": "sha256-57NNHTFCAZOMNilYRS33JiDswrfUgBIINNMYAjeC+2g=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "b5c0d0b8aa8bb095ac447bf6c73486cb1c172b6e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-plugins": {
"inputs": {
"hyprland": [
"hyprland"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1748526041,
"narHash": "sha256-QyUACXhQJ2+K0YxwEuAfpyCXqbdCCHj1jNAWJy+vUxw=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "2eee96fe52fa0923c0aae647eb7901b5b51df3db",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-plugins",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1743714874,
"narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprland-qt-support": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprland-qtutils",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"hyprland-qtutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-qtutils",
"systems"
]
},
"locked": {
"lastModified": 1737634706,
"narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=",
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"rev": "8810df502cdee755993cb803eba7b23f189db795",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"type": "github"
}
},
"hyprland-qtutils": {
"inputs": {
"hyprland-qt-support": "hyprland-qt-support",
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprland-qtutils",
"hyprlang",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1745951494,
"narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1747484975,
"narHash": "sha256-+LAQ81HBwG0lwshHlWe0kfWg4KcChIPpnwtnwqmnoEU=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "163c83b3db48a17c113729c220a60b94596c9291",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1746635225,
"narHash": "sha256-W9G9bb0zRYDBRseHbVez0J8qVpD5QbizX67H/vsudhM=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "674ea57373f08b7609ce93baff131117a0dfe70d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1747584298,
"narHash": "sha256-PH9qZqWLHvSBQiUnA0NzAyQA3tu2no2z8kz0ZeHWj4w=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "e511882b9c2e1d7a75d45d8fddd2160daeafcbc3",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1748460289,
"narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1747542820,
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=",
@ -57,13 +453,95 @@
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"hy3": "hy3",
"hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins",
"nixpkgs": "nixpkgs_2",
"zen-browser": "zen-browser"
}
},
"systems": {
"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"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1745871725,
"narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
},
"zen-browser": {
"inputs": {
"home-manager": "home-manager_2",

View File

@ -8,6 +8,10 @@
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
hy3 = {
url = "github:outfoxxed/hy3";
inputs.hyprland.follows = "hyprland";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";

View File

@ -62,6 +62,7 @@
enable = true;
extraPackages = with pkgs; [ intel-media-driver ];
};
bluetooth.enable = true;
};
### SECURITY
@ -74,7 +75,7 @@
users.dpv = {
isNormalUser = true;
description = "dpv";
extraGroups = [ "networkmanager" "wheel" "libvirtd" ];
extraGroups = [ "networkmanager" "wheel" "libvirtd" "input" ];
shell = pkgs.zsh;
packages = [ ];
};
@ -102,6 +103,9 @@
### UNFREE PACKAGES
nixpkgs.config.allowUnfree = true;
nixpkgs.config.permittedInsecurePackages = [
"openssl-1.1.1w"
];
### PACKAGES TO INSTALL IN A SYSTEM
environment.systemPackages = with pkgs; [
@ -112,7 +116,8 @@
keepassxc rustup gcc gnumake clang-tools nodejs pnpm
imagemagick pandoc nixd dbeaver-bin gdu sl pavucontrol
ffmpeg ffmpegthumbnailer p7zip rar unrar zip unzip dig nix-du
nh graphviz libnotify drawing wmctrl android-tools
nh graphviz libnotify drawing wmctrl android-tools libinput
alsa-utils libsForQt5.qt5ct sublime4
simplescreenrecorder gpick # stuff that will ONLY work in X
@ -120,6 +125,10 @@
];
### ENV
environment.sessionVariables = {
QT_QPA_PLATFORMTHEME = "qt5ct";
QT_STYLE_OVERRIDE = "adwaita-dark";
};
environment.variables = {
EDITOR = "nvim";
};

View File

@ -11,11 +11,11 @@ in
options.deWm = {
cinnamon.enable = mkOption {
default = true; ## at least one of them has to be enabled
default = false; ## at least one of them has to be enabled
type = types.bool;
};
xfce.enable = mkOption {
default = true;
default = false;
type = types.bool;
};
hyprland.enable = mkOption {

View File

@ -8,7 +8,7 @@
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "nvme" "usbhid" "sd_mod" "rtsx_usb_sdmmc" ];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_usb_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
@ -19,13 +19,13 @@
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/A717-5D98";
{ device = "/dev/disk/by-uuid/098E-6AB1";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/33b020e2-7859-49d2-85e4-b0c8a778ab1d"; }
[ { device = "/dev/disk/by-uuid/45e17bbc-04e7-423e-a1e8-62381dfd3e77"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View File

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ inputs, config, pkgs, lib, ... }:
{
imports = [
@ -12,6 +12,7 @@
./utils.nix
./subs/mpv.nix
./subs/git.nix
./hyprland.nix
];
nixpkgs.config.allowUnfree = true;

252
user/hyprland.nix Normal file
View File

@ -0,0 +1,252 @@
{ config, lib, pkgs, ... }:
{
imports = [
../shared/hyprland.nix
./subs/waybar.nix
];
config = lib.mkIf config.shared.hyprland.enable {
wayland.windowManager.hyprland = {
enable = true;
package = null;
settings = {
"$mod" = "SUPER";
"$clipboard" = "rofi -modi Clipboard:~/.config/rofi/scripts/cliphist-rofi -show Clipboard -theme ~/.config/rofi/menu.rasi";
"$browser" = "zen-beta";
"$fileManager" = "thunar";
"$terminal" = "foot";
"$LAPTOP_KB_ENABLED" = true;
"$TOUCHPAD_ENABLED" = true;
monitor = [",preferred,auto,auto"];
misc = {
disable_hyprland_logo = true;
disable_splash_rendering = true;
force_default_wallpaper = "-1";
};
general = {
gaps_in = 0;
gaps_out = 0;
border_size = 1;
resize_on_border = false;
allow_tearing = false;
layout = "master";
};
exec-once = [
"waybar -c ~/.config/waybar/topbar.jsonc -s ~/.config/waybar/topbar.css"
"wl-paste --watch cliphist store"
"hyprswitch init --show-title &"
"hyprpaper"
];
exec-shutdown = "cliphist wipe";
decoration = {
rounding = 0;
rounding_power = 0;
dim_inactive = false;
active_opacity = "1.0";
inactive_opacity = "1.0";
shadow = {
enabled = false;
};
blur = {
enabled = false;
};
};
animations = {
enabled = false;
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
master = {
new_status = "master";
};
input = {
kb_layout = "us";
kb_options = "caps:escape";
follow_mouse = 1;
sensitivity = 0;
touchpad = {
natural_scroll = true;
};
};
gestures = {
workspace_swipe = true;
};
device = [
{
name = "at-translated-set-2-keyboard";
enabled = "$LAPTOP_KB_ENABLED";
}
{
name = "elan1301:00-04f3:30c6-touchpad";
enabled = "$TOUCHPAD_ENABLED";
}
];
group = {
"col.border_active" = "rgba(172729FF)";
"col.border_inactive" = "rgba(111111FF)";
groupbar = {
enabled = true;
font_family = "SF Pro Display";
font_size = 10;
indicator_height = 15;
render_titles = false;
rounding = 0;
round_only_edges = false;
gradients = false;
"col.active" = "rgba(172729FF)";
"col.inactive" = "rgba(111111FF)";
gaps_in = 0;
gaps_out = 0;
keep_upper_gap = false;
};
};
unbind = [ "$mod, W" ];
bind = [
"$mod, Q, exec, ~/.local/bin/hypr-custom-kill"
"$mod, X, exec, hyprlock"
"$mod Shift, Space, togglefloating,"
"$mod, Return, exec, $terminal"
"$mod, C, exec, speedcrunch"
"$mod, B, exec, $browser"
"$mod, F, exec, $fileManager"
"$mod, T, exec, flatpak run eu.betterbird.Betterbird"
"$mod, M, exec, emacsclient -ca ''"
"$mod Shift, P, exec, hyprshot -z -m region -o ~/Pictures"
"$mod Shift, W, exec, hyprshot -z -m window -o ~/Pictures/"
", PRINT, exec, hyprshot -z -m output -o ~/Pictures"
"$mod Ctrl, C, exec, hyprpicker --autocopy --format=hex"
"$mod Ctrl, W, exec, killall hyprpaper && hyprpaper"
"$mod Ctrl, 1, exec, ~/.local/bin/books"
"$mod Shift, D, exec, ~/.local/bin/define"
"Alt, Space, exec, ~/.config/rofi/scripts/launcher.sh"
"Ctrl Alt, N, exec, ~/.config/rofi/scripts/powermenu.sh"
"$mod Ctrl Shift, 7, exec, ~/.local/bin/wl-toggle-keyboard && ~/.local/bin/wl-toggle-touchpad"
"$mod Ctrl, B, exec, ~/.config/waybar/scripts/launch.sh"
"$mod, Z, exec, $clipboard"
"ALT, Tab, exec, hyprswitch simple -w --switch-type client"
"ALT Shift, Tab, exec, hyprswitch simple -r -w --switch-type client"
"$mod, Tab, exec, hyprswitch simple --switch-type workspace"
"$mod Shift, Tab, exec, hyprswitch simple -r --switch-type workspace"
"$mod, w, togglegroup"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
"$mod, H, movefocus, l"
"$mod, L, movefocus, r"
"$mod, K, movefocus, u"
"$mod, J, movefocus, d"
"$mod Shift, H, movewindow, l"
"$mod Shift, L, movewindow, r"
"$mod Shift, K, movewindow, u"
"$mod Shift, J, movewindow, d"
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod, 0, workspace, 10"
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3"
"$mod SHIFT, 4, movetoworkspace, 4"
"$mod SHIFT, 5, movetoworkspace, 5"
"$mod SHIFT, 6, movetoworkspace, 6"
"$mod SHIFT, 7, movetoworkspace, 7"
"$mod SHIFT, 8, movetoworkspace, 8"
"$mod SHIFT, 9, movetoworkspace, 9"
"$mod SHIFT, 0, movetoworkspace, 10"
"$mod, mouse_down, workspace, e+1"
"$mod, mouse_up, workspace, e-1"
];
bindel = [
"$mod Ctrl, H, resizeactive, -30 0"
"$mod Ctrl, L, resizeactive, 30 0"
"$mod Ctrl, K, resizeactive, 0 -30"
"$mod Ctrl, J, resizeactive, 0 30"
",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
",XF86MonBrightnessUp, exec, brightnessctl s 10%+"
",XF86MonBrightnessDown, exec, brightnessctl s 10%-"
];
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
bindl = [
", XF86AudioNext, exec, playerctl next"
", XF86AudioPause, exec, playerctl play-pause"
", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioPrev, exec, playerctl previous"
];
windowrule = [
"suppressevent maximize, class:.*"
"nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
"workspace 2,class:(zen)"
"workspace 2,class:(google-chrome)"
"workspace 3,class:(vesktop)"
"float,class:(blueman-manager)"
"float,title:(Dictionary)"
"float,title:(SpeedCrunch)"
];
workspace = [
"1,persistent:true"
"2,persistent:true"
"3,persistent:true"
"4,persistent:true"
"5,persistent:true"
];
};
systemd.variables = [ "--all" ];
};
home.packages = with pkgs; [
hyprpaper cliphist hyprswitch wl-clipboard wireplumber
playerctl hyprpicker hyprshot hyprlock evtest nwg-look
blueman
];
home.file = {
".local/bin/hypr-custom-kill".source = ../bin/hypr-custom-kill;
".local/bin/wl-toggle-keyboard".source = ../bin/wl-toggle-keyboard;
".local/bin/wl-toggle-touchpad".source = ../bin/wl-toggle-touchpad;
".config/hypr/hyprlock.conf".source = ../config/hypr/hyprlock.conf;
".config/hypr/hyprpaper.conf".source = ../config/hypr/hyprpaper.conf;
".config/hypr/hyprswitch.css".source = ../config/hypr/hyprswitch.css;
};
};
}

View File

@ -1,12 +1,16 @@
{ config, lib, pkgs, ... }:
{ config, lib, ... }:
let
cfg = config.subs.foot;
in
{
imports = [
../../shared/hyprland.nix
];
options = {
subs.foot.enable = lib.mkOption {
default = false;
default = config.shared.hyprland.enable;
type = lib.types.bool;
};
};
@ -17,9 +21,9 @@ in
server.enable = true;
settings = {
main = {
include = "${pkgs.foot}/share/foot/themes/dracula";
include = "~/.config/foot/themes/dracula";
term = "xterm-256color";
font = "Iosevka Nerd Font:size=15";
font = "Iosevka NF Medium:size=13";
dpi-aware = "yes";
};
bell = {
@ -30,6 +34,10 @@ in
};
};
};
home.file = {
".config/foot/themes/dracula".source = ../../config/foot-dracula;
};
};
}

View File

@ -6,7 +6,7 @@ in
{
options = {
subs.waybar.enable = lib.mkOption {
default = false;
default = true;
type = lib.types.bool;
};
};
@ -14,8 +14,14 @@ in
config = lib.mkIf cfg.enable {
programs.waybar = {
enable = true;
settings = {
};
};
home.file = {
".local/bin/waybar-module-pomodoro".source =../../bin/waybar-module-pomodoro;
".config/waybar/scripts/launch.sh".source = ../../config/waybar/scripts/launch.sh;
".config/waybar/topbar.css".source = ../../config/waybar/topbar.css;
".config/waybar/topbar.jsonc".source = ../../config/waybar/topbar.jsonc;
".config/waybar/power_menu.xml".source = ../../config/waybar/power_menu.xml;
};
};
}

View File

@ -21,10 +21,6 @@ in
type = types.bool;
};
xfceTerminal.enable = mkOption {
default = true;
type = types.bool;
};
foot.enable = mkOption {
default = false;
type = types.bool;
};
@ -33,7 +29,6 @@ in
config = {
subs.ghostty.enable = cfg.ghostty.enable;
subs.alacritty.enable = cfg.alacritty.enable;
subs.foot.enable = cfg.foot.enable;
home.packages = mkIf cfg.xfceTerminal.enable [ pkgs.xfce.xfce4-terminal ];

View File

@ -29,6 +29,10 @@ in
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
cursorTheme = {
name = "Bibata-Modern-Classic";
package = pkgs.bibata-cursors;
@ -48,7 +52,8 @@ in
qt = {
enable = true;
platformTheme.name = "gtk";
platformTheme.name = "qtct";
style.package = pkgs.adwaita-qt;
style.name = "adwaita-dark";
};

View File

@ -45,6 +45,7 @@ in
services.flameshot = {
enable = cfg.flameshot.enable;
package = pkgs.flameshot.override { enableWlrSupport = true; };
settings = {
General = {
savePathFixed = false;