Compare commits
289 Commits
9c7a095115
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 075a058b06 | |||
| 16dc9685a7 | |||
| 36d39f7a44 | |||
| 08d978103f | |||
| bb0d3f51b8 | |||
| 1468b90ae9 | |||
| 58392825fc | |||
| cdb73706a7 | |||
| 259bd54914 | |||
| 000ee1cca4 | |||
| 522f2a25c9 | |||
| c364f62ea1 | |||
| 04e522548a | |||
| 91f37618e2 | |||
| 3d646d5895 | |||
| 6581faa392 | |||
| 711832dff2 | |||
| 82b041c872 | |||
| fc4ea6047d | |||
| 5a058db718 | |||
| 306487df72 | |||
| 8862e8fa15 | |||
| 07ebec86c9 | |||
| b96ec1fc5f | |||
| 9ebd0ebdae | |||
| 0f32aa31c3 | |||
| 9d662211c9 | |||
| bbf327ca48 | |||
| 7c32580e95 | |||
| ccea6cf946 | |||
| 3992caf295 | |||
| 8c2a134545 | |||
| 7528c9791e | |||
| 745ff2426c | |||
| d598fbf686 | |||
| 5f247b31d8 | |||
| b152edca7d | |||
| 8be4651af6 | |||
| 7307a72341 | |||
| f48ab77b0c | |||
| d584be475b | |||
| 662689b70d | |||
| f4c9a90ff2 | |||
| be78eaf5e3 | |||
| 632eebfe42 | |||
| 3fe6f702b9 | |||
| 01eee1289a | |||
| b89e7ebec9 | |||
| 1af95ba75e | |||
| eef0f25aaf | |||
| dc5b230471 | |||
| 10a1652795 | |||
| ae3100a6c8 | |||
| 68410cd7e7 | |||
| 1bfad729aa | |||
| b295132dae | |||
| 9e4add9075 | |||
| e0356b0edb | |||
| 3ec8adfc1b | |||
| 1c9d142646 | |||
| e0dbb28b2e | |||
| 12b816b2e4 | |||
| 71331929ba | |||
| 913a8e9ab2 | |||
| d16ecc28da | |||
| 33825fc137 | |||
| 1f150d71d2 | |||
| 0da45a5b0d | |||
| 1dbf772873 | |||
| f0db85e714 | |||
| 507cde3788 | |||
| a19f71c8b9 | |||
| bdefe77b67 | |||
| 0c705f7837 | |||
| 7a1c4ea6f4 | |||
| 4483e46102 | |||
| bb5a385292 | |||
| 636b8a5645 | |||
| 776c7db8d2 | |||
| 124d59b5af | |||
| b62f685322 | |||
| a0ca179798 | |||
| d0847ac23d | |||
| e55d5bb5da | |||
| f85a02dc03 | |||
| 6a9d0b6cd4 | |||
| 87ba0f5c06 | |||
| 3de57e0786 | |||
| 15712267d6 | |||
| 73b27b5f19 | |||
| 6c4e5f3eb3 | |||
| f7b10fde04 | |||
| 7e56a4bca6 | |||
| 4976f3fd36 | |||
| 8213197399 | |||
| 4aef99222f | |||
| c4101683ba | |||
| 48d21c8b59 | |||
| aa6a9b9a65 | |||
| 7b5effc44f | |||
| 80c3343b70 | |||
| 28e24bea15 | |||
| d4991a5a57 | |||
| 4283d661c4 | |||
| e4197625b0 | |||
| cd73e023bc | |||
| 8e83b62f99 | |||
| 7cac78df85 | |||
| d30e28dbe1 | |||
| ff4b8df4b4 | |||
| 905003f5c7 | |||
| a736dbfed0 | |||
| 8102ac4d89 | |||
| dd64045f47 | |||
| 848daabdff | |||
| 65f93f7231 | |||
| 3f5f9b9cb7 | |||
| 473ed9149c | |||
| e397b05654 | |||
| e9f4bcb08c | |||
| da7d319de8 | |||
| df03210327 | |||
| 8d1e17832e | |||
| f18fed8a1b | |||
| 494e74843b | |||
| a1f630506e | |||
| 6a2fa7f534 | |||
| 0843ad7ce0 | |||
| 30a3d6e7ee | |||
| e7db323cb5 | |||
| 4110fd8a35 | |||
| 93f944cbea | |||
| 0b335dec3a | |||
| 919d056489 | |||
| 89f9b7bee6 | |||
| fa04d757c5 | |||
| ba4d1fd1fd | |||
| eafce390d6 | |||
| 758c03a9bf | |||
| 8f5996d903 | |||
| 3d15e4e2d7 | |||
| abe8818958 | |||
| c1716b0319 | |||
| 0ba6f18b63 | |||
| bc0c949cd7 | |||
| 0c9e71f2a7 | |||
| b04a193268 | |||
| 7a27295f86 | |||
| df70128156 | |||
| 8ef5d38340 | |||
| 447024e143 | |||
| b158f2247d | |||
| c67212c94f | |||
| 1850e8dc26 | |||
| 9381322401 | |||
| 730d10edee | |||
| a965fa973b | |||
| 8aea9c3ee6 | |||
| 37fdb75bd9 | |||
| 449e4826c0 | |||
| 867264e3b7 | |||
| 16fe744990 | |||
| fec2ac4026 | |||
| 2a5ce1df3f | |||
| 3dfba5b464 | |||
| 5b2c1dad2e | |||
| 386e6048fc | |||
| 107f8b4756 | |||
| 0d5fd3fe33 | |||
| 61728f95d3 | |||
| 3fad61abde | |||
| 3bae780610 | |||
| fdf9621639 | |||
| aa845e843a | |||
| e6f4fd70f9 | |||
| f34b51453f | |||
| 0dabfee6da | |||
| 9ce7af9429 | |||
| ecc6a42519 | |||
| a10900f62b | |||
| 7b2872ee95 | |||
| b5e428bf5e | |||
| 460d3d2b51 | |||
| a3a6057358 | |||
| cc0a043757 | |||
| 038393e5fb | |||
| 38a5cb8a29 | |||
| 4b1c9f29e2 | |||
| df74a65831 | |||
| 16fbfc00e1 | |||
| 1e85b6a8d8 | |||
| d6518d9f14 | |||
| 21188d4674 | |||
| a0c8e24997 | |||
| 5644973db0 | |||
| 059fc7f5f4 | |||
| d00fa76fa3 | |||
| 80abd13d44 | |||
| f00b6c3c15 | |||
| 827dd21eb5 | |||
| 3e2440d395 | |||
| c886c9be8f | |||
| f730526c18 | |||
| 21d9880738 | |||
| 6b427ec38c | |||
| ceaf5667f2 | |||
| a04926b1fa | |||
| 0e272f5411 | |||
| ccbe1cc1a4 | |||
| eaca264460 | |||
| 8314ba348d | |||
| b73c206ee5 | |||
| a5c30c7310 | |||
| 79c559eb47 | |||
| ce0c92ecc5 | |||
| 3449cd9865 | |||
| d80aed8478 | |||
| d687b79111 | |||
| 64c5938d98 | |||
| bde704ce0a | |||
| 08312de42d | |||
| efccf6e94b | |||
| 8e9a464f7b | |||
| aacd46c42a | |||
| 368f443036 | |||
| 08159e8d69 | |||
| 8520dcd340 | |||
| 0f0a909689 | |||
| 441c97efa7 | |||
| 6a608d58b0 | |||
| 5a08bdb211 | |||
| 6083d6668a | |||
| aa63c133cf | |||
| 0776cdbda1 | |||
| b54b932f25 | |||
| 4b04d56096 | |||
| 1d08356641 | |||
| efc4be85ed | |||
| 6cd1ae50d1 | |||
| 6d70acb326 | |||
| 0ff5606b70 | |||
| 7de2f9b575 | |||
| d9b9337ea3 | |||
| e0eeff549d | |||
| 15c7e305ad | |||
| 39289ab1e5 | |||
| 41043b131d | |||
| ef486a6b5b | |||
| 74cdede6e3 | |||
| f15a8738dd | |||
| 978ac258c7 | |||
| 3b7d1c33de | |||
| 9e7a1d451b | |||
| 73c124bbb1 | |||
| 68ddf4ab69 | |||
| 25d5c47033 | |||
| 42322a8cf3 | |||
| 04593f9867 | |||
| fab8efbfee | |||
| f7d2e4f877 | |||
| 6d9d4b6bcc | |||
| ba82085b37 | |||
| ea424efbd0 | |||
| 0315548e7e | |||
| c03aa50261 | |||
| 310b141118 | |||
| f51aec7988 | |||
| 7c34a89fc5 | |||
| 2ff0c9eabe | |||
| 3a1189fded | |||
| a8710b0309 | |||
| 21ec5e92a5 | |||
| ffc6e4815d | |||
| d4428a5692 | |||
| 927383e081 | |||
| 190fad57db | |||
| d221191eb9 | |||
| 65147a3c7e | |||
| f87c178de2 | |||
| ccc69933c6 | |||
| b3a00e6652 | |||
| a77642e9c3 | |||
| 8241bbd47f | |||
| 6c40ff4a84 | |||
| 9cb2e348dd | |||
| defaa211b4 | |||
| 4852013fea | |||
| 134fb7b7cd | |||
| 7a195edb76 |
+1386
-620
File diff suppressed because it is too large
Load Diff
+977
-267
File diff suppressed because it is too large
Load Diff
@@ -1,67 +0,0 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
|
||||||
{ lib, config, pkgs, flakeRoot, ... }:
|
|
||||||
let
|
|
||||||
colors = {
|
|
||||||
crust = "#11111b";
|
|
||||||
mantle = "#181825";
|
|
||||||
base = "#1e1e2e";
|
|
||||||
surface0 = "#313244";
|
|
||||||
surface1 = "#45475a";
|
|
||||||
surface2 = "#585b70";
|
|
||||||
overlay0 = "#6c7086";
|
|
||||||
overlay1 = "#7f849c";
|
|
||||||
overlay2 = "#9399b2";
|
|
||||||
subtext0 = "#a6adc8";
|
|
||||||
subtext1 = "#bac2de";
|
|
||||||
text = "#cdd6f4";
|
|
||||||
rosewater = "#f5e0dc";
|
|
||||||
flamingo = "#f2cdcd";
|
|
||||||
pink = "#f5c2e7";
|
|
||||||
mauve = "#cba6f7";
|
|
||||||
red = "#f38ba8";
|
|
||||||
maroon = "#eba0ac";
|
|
||||||
peach = "#fab387";
|
|
||||||
yellow = "#f9e2af";
|
|
||||||
green = "#a6e3a1";
|
|
||||||
teal = "#94e2d5";
|
|
||||||
sapphire = "#74c7ec";
|
|
||||||
blue = "#89b4fa";
|
|
||||||
lavender = "#b4befe";
|
|
||||||
};
|
|
||||||
|
|
||||||
username = config.defaultUser or "henrov";
|
|
||||||
|
|
||||||
cssContent = ''
|
|
||||||
/* Catppuccin Mocha Palette - auto-generated, do not edit manually */
|
|
||||||
'' + lib.concatStringsSep "\n" (
|
|
||||||
lib.mapAttrsToList (name: value:
|
|
||||||
"@define-color ${name} ${value};"
|
|
||||||
) colors
|
|
||||||
) + "\n@define-color base-alpha rgba(30, 30, 46, 0.9);";
|
|
||||||
|
|
||||||
qmlContent = ''
|
|
||||||
// Catppuccin Mocha Palette - auto-generated, do not edit manually
|
|
||||||
import QtQuick
|
|
||||||
QtObject {
|
|
||||||
readonly property color baseAlpha: Qt.rgba(30/255, 30/255, 46/255, 0.9)
|
|
||||||
'' + lib.concatStringsSep "\n" (
|
|
||||||
lib.mapAttrsToList (name: value:
|
|
||||||
" readonly property color ${name}: \"${value}\""
|
|
||||||
) colors
|
|
||||||
) + "\n}";
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
home-manager.users.${username} = {
|
|
||||||
home.file = {
|
|
||||||
".config/shared/colors.css" = {
|
|
||||||
text = cssContent;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
".config/quickshell/Colors.qml" = {
|
|
||||||
text = qmlContent;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Generated
+13
-13
@@ -109,11 +109,11 @@
|
|||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776189346,
|
"lastModified": 1776362623,
|
||||||
"narHash": "sha256-eAhTbm3ZE7vulWwAONh93k5eLHIPRZ1HeoCknHB7ISM=",
|
"narHash": "sha256-GT9GB1EWzAS9sVxeqL8zEdXpBJFFp/qoklaVeLzL76o=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "d5ddc836655da49a11eee312223d4fa2dee90694",
|
"rev": "1a0129b355cbc765ae868529997175a5af59959d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -340,11 +340,11 @@
|
|||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776187484,
|
"lastModified": 1776365273,
|
||||||
"narHash": "sha256-gpm/WZCBcvITN0pQbhVvlEIqqhma8OHKiO5NGpFygkc=",
|
"narHash": "sha256-Tzjt/E5JNuo07CQ/PPiY5zh11PqWzd07A/3mSZvtm0Y=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "88f3e7e9d519ae704cab78548c6f6bf02a0b0841",
|
"rev": "b5ea887f072fa055cf23ec389ed81e3ee4c5319a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -633,11 +633,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775710090,
|
"lastModified": 1776169885,
|
||||||
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
|
"narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
|
"rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -702,11 +702,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775720097,
|
"lastModified": 1776066068,
|
||||||
"narHash": "sha256-p+vqkCuFfVNyQBo370wr6MebNUvz55RZiC0m8YKUhvQ=",
|
"narHash": "sha256-SwKVkgEsqsp5ki9m7fqvhncb5MjvH1hlZqbn3s+x/Uk=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "d4c92973b53d9fa34cc110d3b974eb6bde5b3027",
|
"rev": "fb08eced449e87e47321e95beeb890a63d2c67bd",
|
||||||
"revCount": 800,
|
"revCount": 801,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
},
|
},
|
||||||
|
|||||||
+18
-3
@@ -39,7 +39,16 @@
|
|||||||
hyprland.url = "github:hyprwm/Hyprland";
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, import-tree, stylix, hyprland, emacs-overlay, zen-browser, flatpak, ... }:
|
outputs = { self,
|
||||||
|
nixpkgs,
|
||||||
|
home-manager,
|
||||||
|
import-tree,
|
||||||
|
stylix,
|
||||||
|
hyprland,
|
||||||
|
emacs-overlay,
|
||||||
|
zen-browser,
|
||||||
|
flatpak
|
||||||
|
,... }:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
flakeRoot = self;
|
flakeRoot = self;
|
||||||
@@ -57,8 +66,14 @@
|
|||||||
./generated/users/henrov.nix
|
./generated/users/henrov.nix
|
||||||
];
|
];
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit flakeRoot;
|
inherit
|
||||||
inherit home-manager import-tree stylix hyprland zen-browser;
|
flakeRoot
|
||||||
|
home-manager
|
||||||
|
import-tree
|
||||||
|
stylix
|
||||||
|
hyprland
|
||||||
|
zen-browser
|
||||||
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
# ./assets/conf/desktop/hypr/animations.conf
|
|
||||||
|
|
||||||
animations {
|
animations {
|
||||||
enabled = yes
|
enabled = yes
|
||||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|||||||
@@ -1,38 +1,54 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
$mainMod = SUPER
|
$mainMod = SUPER
|
||||||
|
|
||||||
# Terminal / launcher / kill / reload
|
# launcher / kill / reload
|
||||||
bind = $mainMod, E, exec, thunar
|
|
||||||
bind = $mainMod, RETURN, exec, kitty
|
|
||||||
bind = $mainMod, Space, exec, ~/.config/scripts/wofi-launcher.sh
|
bind = $mainMod, Space, exec, ~/.config/scripts/wofi-launcher.sh
|
||||||
bind = ALT, Space, exec, ~/.config/scripts/wofi-launcher.sh
|
bind = ALT, Space, exec, ~/.config/scripts/wofi-launcher.sh
|
||||||
bind = $mainMod, Q, killactive,
|
bind = $mainMod, Q, killactive,
|
||||||
bind = $mainMod SHIFT, Q, exit,
|
bind = $mainMod SHIFT, Q, exit,
|
||||||
bind = $mainMod SHIFT, R, exec, hyprctl reload
|
bind = $mainMod SHIFT, R, exec, hyprctl reload
|
||||||
bind = $mainMod, X , exec, qs -c powermenu
|
bind = $mainMod, X , exec, qs -c powermenu
|
||||||
|
bind = $mainMod, L, exec, hyprlock
|
||||||
|
|
||||||
|
# grimblast
|
||||||
|
bind = $mainMod SHIFT, P, exec, grimblast -n -f copysave active
|
||||||
|
bind = $mainMod SHIFT, S, exec, grimblast -n -f copysave area
|
||||||
|
bind = , XF86Screenshot, exec, grimblast -n -f copysave area
|
||||||
|
bind = $mainMod ALT, P, exec, grimblast -n -f copysave output
|
||||||
|
bind = $mainMod CTRL, P, exec, grimblast -n -f copysave screen
|
||||||
|
|
||||||
|
# Flameshot keybindings
|
||||||
|
# bind = $mainMod SHIFT, P, exec, flameshot full -p ~/Pictures/Screenshots -c
|
||||||
|
# bind = $mainMod SHIFT, S, exec, flameshot gui 2>/dev/null
|
||||||
|
# bind = , XF86Screenshot, exec, flameshot gui 2>/dev/null
|
||||||
|
# bind = $mainMod ALT, P, exec, flameshot full -d 5000 -p ~/Pictures/Screenshots -c
|
||||||
|
# bind = $mainMod CTRL, P, exec, flameshot screen -n 0 -p ~/Pictures/Screenshots -c
|
||||||
|
|
||||||
# Switch windows
|
# Switch windows
|
||||||
bind = ALT, TAB, cyclenext, prev
|
bind = ALT, TAB, cyclenext, prev
|
||||||
bind = ALT SHIFT, TAB, cyclenext, prev
|
bind = ALT SHIFT, TAB, cyclenext, prev
|
||||||
bind = CTRL, mouse_down, cyclenext, prev
|
bind = ALT, mouse_down, cyclenext, prev
|
||||||
bind = CTRL, mouse_up, cyclenext, prev
|
bind = ALT , mouse_up, cyclenext, prev
|
||||||
|
|
||||||
# switch layouts
|
|
||||||
bindel = CTRL ALT, mouse_up, layoutmsg, addmaster
|
bindel = CTRL ALT, mouse_up, layoutmsg, addmaster
|
||||||
bindel = CTRL ALT, mouse_down, layoutmsg, removemaster
|
bindel = CTRL ALT, mouse_down, layoutmsg, removemaster
|
||||||
|
bind = CTRL ALT, right, layoutmsg, colwidth +conf
|
||||||
|
bind = CTRL ALT, left, layoutmsg, colwidth -conf
|
||||||
|
|
||||||
|
# switch layouts
|
||||||
|
bind = $mainMod, T , exec, qs -c layoutswitcher
|
||||||
|
|
||||||
# Hyprscrolling
|
# Hyprscrolling
|
||||||
bind = $mainMod, period, layoutmsg, move +col
|
bind = $mainMod, period, layoutmsg, move +col
|
||||||
bind = $mainMod, comma, layoutmsg, swapcol l
|
bind = $mainMod, comma, layoutmsg, swapcol l
|
||||||
|
# Column resize
|
||||||
|
bind = $mainMod SHIFT, period, layoutmsg, colresize +conf
|
||||||
|
bind = $mainMod SHIFT, comma, layoutmsg, colresize -conf
|
||||||
# Make / break a tab-group (stack)
|
# Make / break a tab-group (stack)
|
||||||
bind = $mainMod, S, togglegroup
|
bind = $mainMod, S, togglegroup
|
||||||
# Cycle tabs in the group
|
# Cycle tabs in the group
|
||||||
bind = $mainMod, L, changegroupactive, f
|
bind = $mainMod, bracketright, changegroupactive, f
|
||||||
bind = $mainMod, H, changegroupactive, b
|
bind = $mainMod, bracketleft, changegroupactive, b
|
||||||
bind = $mainMod, T, exec, ~/.config/scripts/layout-selector.sh
|
|
||||||
|
|
||||||
bind = $mainMod, W, layoutmsg, colresize +conf
|
|
||||||
bind = $mainMod SHIFT, W, layoutmsg, colresize -conf
|
|
||||||
|
|
||||||
# Focus movement
|
# Focus movement
|
||||||
bind = $mainMod, H, movefocus, l
|
bind = $mainMod, H, movefocus, l
|
||||||
@@ -96,12 +112,6 @@ bind = $mainMod, mouse_up, workspace, e-1
|
|||||||
bindm = $mainMod, mouse:272, movewindow
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
#########################
|
|
||||||
# Screenshots
|
|
||||||
#########################
|
|
||||||
bind = $mainMod SHIFT, s, exec, flameshot gui
|
|
||||||
bind = , XF86Screenshot, exec, flameshot full -c -p ~/Pictures/Screenshots
|
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
# Audio (pamixer)
|
# Audio (pamixer)
|
||||||
#########################
|
#########################
|
||||||
@@ -113,7 +123,7 @@ bind = , XF86AudioMicMute, exec, pamixer --default-source -t
|
|||||||
#########################
|
#########################
|
||||||
# Media (playerctl)
|
# Media (playerctl)
|
||||||
#########################
|
#########################
|
||||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
bind = , XF86AudioPlay, exec, bash -c "playerctl -l | grep -q spotify && playerctl -p spotify play-pause || playerctl play-pause"
|
||||||
bind = , XF86AudioPause, exec, playerctl pause
|
bind = , XF86AudioPause, exec, playerctl pause
|
||||||
bind = , XF86AudioNext, exec, playerctl next
|
bind = , XF86AudioNext, exec, playerctl next
|
||||||
bind = , XF86AudioPrev, exec, playerctl previous
|
bind = , XF86AudioPrev, exec, playerctl previous
|
||||||
@@ -133,21 +143,19 @@ bind = , XF86KbdBrightnessDown, exec, brightnessctl -d '*kbd_backlight*' set 10%
|
|||||||
bind = , XF86Sleep, exec, systemctl suspend
|
bind = , XF86Sleep, exec, systemctl suspend
|
||||||
bind = , XF86PowerOff, exec, systemctl poweroff
|
bind = , XF86PowerOff, exec, systemctl poweroff
|
||||||
bind = , XF86WakeUp, exec, systemctl suspend
|
bind = , XF86WakeUp, exec, systemctl suspend
|
||||||
bind = $mainMod, L, exec, loginctl lock-session
|
bind = , XF86ScreenSaver, exec, loginctl lock-session
|
||||||
|
|
||||||
#########################
|
|
||||||
# Laptop lid settings
|
|
||||||
#########################
|
|
||||||
bindl = , switch:on:Lid Switch, exec, ~/.config/scripts/lid-action.sh
|
|
||||||
bindl = , switch:off:Lid Switch, exec, ~/.config/scripts/lid-restore.sh
|
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
# Start apps
|
# Start apps
|
||||||
#########################
|
#########################
|
||||||
|
bind = $mainMod, E, exec, thunar
|
||||||
|
bind = $mainMod, RETURN, exec, kitty
|
||||||
bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird
|
bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird
|
||||||
bind = CTRL ALT, S, exec, spotify
|
bind = CTRL ALT, S, exec, spotify
|
||||||
bind = $mainMod, Z, exec, zeditor
|
bind = $mainMod, Z, exec, zeditor
|
||||||
bind = $mainMod, W, exec, zen
|
bind = $mainMod, W, exec, zen
|
||||||
|
bind = CTRL ALT, T, exec, solidtime-desktop
|
||||||
|
bind = , XF86Calculator, exec, gnome-calculator
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
# Auto apps
|
# Auto apps
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
exec-once = dbus-update-activation-environment --systemd --all
|
exec-once = dbus-update-activation-environment --systemd --all
|
||||||
exec-once = hypridleconfig/hypr/exec-once
|
exec-once = systemctl --user start --no-block xdg-desktop-portal-hyprland
|
||||||
exec-once = systemd-run --user --scope --unit=elephant elephant
|
exec-once = systemctl --user start --no-block xdg-desktop-portal
|
||||||
exec-once = waybar
|
exec-once = hypridle
|
||||||
exec-once = awww-daemon
|
exec-once = awww-daemon
|
||||||
exec-once = awww img ~/Wallpapers/pictures/01.jpg
|
exec-once = awww img ~/Wallpapers/pictures/01.jpg
|
||||||
exec-once = ~/.config/scripts/set-workspace-wallpaper.sh
|
exec-once = ~/.config/scripts/set-workspace-wallpaper.sh
|
||||||
exec-once = ~/.config/scripts/workspace-listener.sh
|
exec-once = ~/.config/scripts/workspace-listener.sh
|
||||||
exec-once = /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1
|
exec-once = /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1
|
||||||
exec-once = nextcloud --background
|
exec-once = nextcloud --background
|
||||||
exec-once = ~/.config/scripts/hypr-autocolwidth.sh
|
# exec-once = QT_QPA_PLATFORM=wayland flameshot 2> >(grep -v "wlroots" >&2)
|
||||||
|
exec-once = waybar
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
general {
|
general {
|
||||||
lock_cmd = hyprlock
|
lock_cmd = hyprlock
|
||||||
|
before_sleep_cmd = hyprlock
|
||||||
after_sleep_cmd = hyprctl dispatch dpms on
|
after_sleep_cmd = hyprctl dispatch dpms on
|
||||||
ignore_dbus_inhibit = false
|
ignore_dbus_inhibit = false
|
||||||
}
|
}
|
||||||
@@ -15,3 +16,8 @@ listener {
|
|||||||
on-timeout = hyprctl dispatch dpms off
|
on-timeout = hyprctl dispatch dpms off
|
||||||
on-resume = hyprctl dispatch dpms on
|
on-resume = hyprctl dispatch dpms on
|
||||||
}
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 1200
|
||||||
|
on-timeout = systemctl suspend
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
|
general {
|
||||||
|
grace = 2
|
||||||
|
hide_cursor = true
|
||||||
|
}
|
||||||
|
|
||||||
|
background {
|
||||||
|
monitor =
|
||||||
|
path = screenshot
|
||||||
|
blur_passes = 3
|
||||||
|
blur_size = 8
|
||||||
|
}
|
||||||
|
|
||||||
|
input-field {
|
||||||
|
monitor =
|
||||||
|
size = 250, 50
|
||||||
|
position = 0, -80
|
||||||
|
outline_thickness = 2
|
||||||
|
|
||||||
|
dots_center = true
|
||||||
|
fade_on_empty = false
|
||||||
|
}
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
layerrule = blur on, ignore_alpha 1, match:namespace waybar
|
layerrule = blur on, ignore_alpha 1, match:namespace waybar
|
||||||
layerrule = xray 1, match:namespace waybar
|
layerrule = xray 1, match:namespace waybar
|
||||||
layerrule = blur on, ignore_alpha 1, match:namespace walker
|
|
||||||
layerrule = xray 1, match:namespace walker
|
|
||||||
layerrule = blur on, ignore_alpha 1, match:namespace swaync-control-center
|
layerrule = blur on, ignore_alpha 1, match:namespace swaync-control-center
|
||||||
layerrule = blur on, ignore_alpha 1, match:namespace swaync-notification-window
|
layerrule = xray 1, match:namespace swaync-control-center
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
workspace_layouts = dwindle, master, scrolling, monocle
|
|
||||||
scrolling {
|
scrolling {
|
||||||
fullscreen_on_one_column = true
|
fullscreen_on_one_column = true
|
||||||
column_width = 0.32 # default: 2 windows side by side
|
column_width = 0.32 # default: 3 windows side by side
|
||||||
explicit_column_widths = 0.329, 0.5, 0.667, 1.0
|
explicit_column_widths = 0.329, 0.5, 0.667, 1.0
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
|
||||||
# Hyprland Catppuccin Mocha Theme (solid colors)
|
# Hyprland Catppuccin Mocha Theme (solid colors)
|
||||||
|
|
||||||
# Colors
|
# Colors
|
||||||
$base = #1e1e2e
|
$base = #1e1e2e
|
||||||
|
$baseshadow = #1e1e2e99
|
||||||
$mantle = #181825
|
$mantle = #181825
|
||||||
$surface0 = #313244
|
$surface0 = #313244
|
||||||
$surface1 = #45475a
|
$surface1 = #45475a
|
||||||
@@ -26,7 +26,6 @@ general {
|
|||||||
gaps_in = 2
|
gaps_in = 2
|
||||||
gaps_out = 4
|
gaps_out = 4
|
||||||
border_size = 4
|
border_size = 4
|
||||||
layout = scrolling
|
|
||||||
resize_on_border = true
|
resize_on_border = true
|
||||||
extend_border_grab_area = 20
|
extend_border_grab_area = 20
|
||||||
col.active_border = rgb(89b4fa) rgb(a6e3a1) 45deg
|
col.active_border = rgb(89b4fa) rgb(a6e3a1) 45deg
|
||||||
|
|||||||
@@ -27,6 +27,15 @@ windowrule {
|
|||||||
size = 900 700
|
size = 900 700
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Networks
|
||||||
|
windowrule {
|
||||||
|
name = iwgtk
|
||||||
|
match:class = org.twosheds.iwgtk
|
||||||
|
float = on
|
||||||
|
move = move onscreen 100%-w 0
|
||||||
|
size = 900 700
|
||||||
|
}
|
||||||
|
|
||||||
#Quickshell powermenu
|
#Quickshell powermenu
|
||||||
windowrule {
|
windowrule {
|
||||||
name = quickshell-powermenu
|
name = quickshell-powermenu
|
||||||
@@ -37,6 +46,16 @@ windowrule {
|
|||||||
pin = on
|
pin = on
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#Quickshell layoutswitcher
|
||||||
|
windowrule {
|
||||||
|
name = quickshell-layoutswitcher
|
||||||
|
match:title = quickshell-layoutswitcher
|
||||||
|
opacity = 1.0 0.8
|
||||||
|
float = on
|
||||||
|
move = cursor -50% 0
|
||||||
|
pin = on
|
||||||
|
}
|
||||||
|
|
||||||
#Quickshell media menu
|
#Quickshell media menu
|
||||||
windowrule {
|
windowrule {
|
||||||
name = quickshell-media
|
name = quickshell-media
|
||||||
|
|||||||
@@ -1,16 +1,7 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
|
workspace = 1, monitor:eDP-1 #, layout:master
|
||||||
#Load random wallpaper
|
workspace = 2, monitor:eDP-1 #, layout:monocle
|
||||||
workspacecreated = exec $HOME/.local/bin/wallpaper-sync-and-set.sh $workspace
|
workspace = 3, monitor:eDP-1 #, layout:master
|
||||||
|
workspace = 4, monitor:DP-1 #, layout:scrolling
|
||||||
# Workspace definitions (modern syntax)
|
workspace = 5, monitor:DP-1 #, layout:dwindle
|
||||||
workspace = 1
|
workspace = 6, monitor:DP-1 #, layout:dwindle
|
||||||
workspace = 2
|
|
||||||
workspace = 3
|
|
||||||
workspace = 4
|
|
||||||
workspace = 5
|
|
||||||
workspace = 6
|
|
||||||
workspace = 7
|
|
||||||
workspace = 8
|
|
||||||
workspace = 9
|
|
||||||
workspace = 10
|
|
||||||
|
|||||||
@@ -0,0 +1,139 @@
|
|||||||
|
// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
|
import Quickshell
|
||||||
|
import Quickshell.Io
|
||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
|
|
||||||
|
ShellRoot {
|
||||||
|
QtObject {
|
||||||
|
id: colors
|
||||||
|
readonly property color baseAlpha: Qt.rgba(30/255, 30/255, 46/255, 0.9)
|
||||||
|
readonly property color base: "#1e1e2e"
|
||||||
|
readonly property color surface0: "#313244"
|
||||||
|
readonly property color surface1: "#45475a"
|
||||||
|
readonly property color surface2: "#585b70"
|
||||||
|
readonly property color text: "#cdd6f4"
|
||||||
|
readonly property color subtext0: "#a6adc8"
|
||||||
|
readonly property color subtext1: "#bac2de"
|
||||||
|
readonly property color blue: "#89b4fa"
|
||||||
|
readonly property color green: "#a6e3a1"
|
||||||
|
readonly property color teal: "#94e2d5"
|
||||||
|
readonly property color red: "#f38ba8"
|
||||||
|
readonly property color mauve: "#cba6f7"
|
||||||
|
readonly property color peach: "#fab387"
|
||||||
|
readonly property color lavender: "#b4befe"
|
||||||
|
}
|
||||||
|
|
||||||
|
FloatingWindow {
|
||||||
|
id: root
|
||||||
|
title: "quickshell-layoutswitcher"
|
||||||
|
visible: true
|
||||||
|
width: 220
|
||||||
|
height: contentLayout.implicitHeight + 32
|
||||||
|
color: colors.base
|
||||||
|
|
||||||
|
Shortcut {
|
||||||
|
sequence: "Escape"
|
||||||
|
onActivated: Qt.quit()
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: -2
|
||||||
|
radius: 18
|
||||||
|
z: -1
|
||||||
|
opacity: Qt.application.active ? 0 : 1
|
||||||
|
Behavior on opacity {
|
||||||
|
NumberAnimation { duration: 150 }
|
||||||
|
}
|
||||||
|
gradient: Gradient {
|
||||||
|
orientation: Gradient.Horizontal
|
||||||
|
GradientStop { position: 0.0; color: colors.blue }
|
||||||
|
GradientStop { position: 1.0; color: colors.green }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
anchors.fill: parent
|
||||||
|
radius: 16
|
||||||
|
color: colors.base
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
id: contentLayout
|
||||||
|
anchors {
|
||||||
|
top: parent.top
|
||||||
|
left: parent.left
|
||||||
|
right: parent.right
|
||||||
|
margins: 16
|
||||||
|
}
|
||||||
|
spacing: 4
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: " Layout"
|
||||||
|
color: colors.text
|
||||||
|
font.pixelSize: 13
|
||||||
|
font.bold: true
|
||||||
|
Layout.bottomMargin: 8
|
||||||
|
}
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
|
||||||
|
|
||||||
|
model: [
|
||||||
|
{ label: " Dwindle", layout: "dwindle", description: "Vensters splitsen recursief — elk nieuw venster halveert de ruimte" },
|
||||||
|
{ label: " Master", layout: "master", description: "Één groot hoofdvenster links, overige vensters gestapeld rechts" },
|
||||||
|
{ label: " Scrolling", layout: "scrolling", description: "Vensters naast elkaar in een horizontaal scrollbare rij" },
|
||||||
|
{ label: " Monocle", layout: "monocle", description: "Één venster tegelijk op volledig scherm, anderen verborgen" },
|
||||||
|
]
|
||||||
|
|
||||||
|
delegate: Rectangle {
|
||||||
|
id: item
|
||||||
|
Layout.fillWidth: true
|
||||||
|
height: 38
|
||||||
|
radius: 8
|
||||||
|
color: hovered ? colors.surface1 : colors.base
|
||||||
|
property bool hovered: false
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: -2
|
||||||
|
radius: parent.radius + 2
|
||||||
|
visible: item.hovered
|
||||||
|
z: -1
|
||||||
|
gradient: Gradient {
|
||||||
|
orientation: Gradient.Horizontal
|
||||||
|
GradientStop { position: 0.0; color: colors.blue }
|
||||||
|
GradientStop { position: 1.0; color: colors.green }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 12
|
||||||
|
text: modelData.label
|
||||||
|
color: item.hovered ? colors.text : colors.subtext1
|
||||||
|
font.pixelSize: 13
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
hoverEnabled: true
|
||||||
|
onEntered: item.hovered = true
|
||||||
|
onExited: item.hovered = false
|
||||||
|
onClicked: proc.running = true
|
||||||
|
}
|
||||||
|
|
||||||
|
Process {
|
||||||
|
id: proc
|
||||||
|
command: ["bash", "-c", "hyprctl keyword general:layout " + modelData.layout + " && hyprctl dispatch layoutmsg reload"]
|
||||||
|
onExited: Qt.quit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Item { height: 4 }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -79,7 +79,7 @@ ShellRoot {
|
|||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: [
|
model: [
|
||||||
{ label: " Lock", cmd: ["loginctl", "lock-session"] },
|
{ label: " Lock", cmd: ["hyprlock"] },
|
||||||
{ label: " Shutdown", cmd: ["systemctl", "poweroff"] },
|
{ label: " Shutdown", cmd: ["systemctl", "poweroff"] },
|
||||||
{ label: " Reboot", cmd: ["systemctl", "reboot"] },
|
{ label: " Reboot", cmd: ["systemctl", "reboot"] },
|
||||||
{ label: " Logout", cmd: ["bash", "-c", "loginctl terminate-session $XDG_SESSION_ID"] },
|
{ label: " Logout", cmd: ["bash", "-c", "loginctl terminate-session $XDG_SESSION_ID"] },
|
||||||
|
|||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
|
capacity=$(cat /sys/class/power_supply/BAT*/capacity)
|
||||||
|
status=$(cat /sys/class/power_supply/BAT*/status)
|
||||||
|
|
||||||
|
if [ "$status" != "Charging" ] && [ "$capacity" -lt 15 ]; then
|
||||||
|
echo " $capacity%"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
|
||||||
# Auto-adjust scrolling column width based on window count
|
|
||||||
# Widths: 1 window = fullscreen (handled by hyprland)
|
|
||||||
# 2 windows = 0.5 each
|
|
||||||
# 3+ windows = 0.329 each
|
|
||||||
|
|
||||||
get_window_count() {
|
|
||||||
local ws_id=$1
|
|
||||||
hyprctl clients -j | jq "[.[] | select(.workspace.id == $ws_id)] | length"
|
|
||||||
}
|
|
||||||
|
|
||||||
get_active_workspace() {
|
|
||||||
hyprctl activeworkspace -j | jq -r '.id'
|
|
||||||
}
|
|
||||||
|
|
||||||
set_column_width() {
|
|
||||||
local width=$1
|
|
||||||
hyprctl dispatch layoutmsg "colresize all $width"
|
|
||||||
}
|
|
||||||
|
|
||||||
handle_event() {
|
|
||||||
local event=$1
|
|
||||||
|
|
||||||
case "$event" in
|
|
||||||
openwindow*|closewindow*|movewindow*)
|
|
||||||
ws_id=$(get_active_workspace)
|
|
||||||
count=$(get_window_count "$ws_id")
|
|
||||||
|
|
||||||
if [ "$count" -le 1 ]; then
|
|
||||||
# fullscreen_on_one_column handles this
|
|
||||||
:
|
|
||||||
elif [ "$count" -eq 2 ]; then
|
|
||||||
set_column_width 0.5
|
|
||||||
else
|
|
||||||
set_column_width 0.329
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
# Listen to hyprland socket events
|
|
||||||
socket="/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
|
|
||||||
|
|
||||||
socat -U - "UNIX-CONNECT:$socket" | while read -r line; do
|
|
||||||
handle_event "$line"
|
|
||||||
done
|
|
||||||
+17
@@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
|
DEVICE=$(kdeconnect-cli --list-devices | grep -oP '(?<=\().*?(?=\))' | head -n 1)
|
||||||
|
|
||||||
|
if [ -z "$DEVICE" ]; then
|
||||||
|
echo "No phone"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
NAME=$(kdeconnect-cli -d "$DEVICE" --name 2>/dev/null)
|
||||||
|
BATTERY=$(kdeconnect-cli -d "$DEVICE" --battery 2>/dev/null | grep -o '[0-9]\+' | head -n 1)
|
||||||
|
|
||||||
|
if [ -z "$BATTERY" ]; then
|
||||||
|
echo "$NAME"
|
||||||
|
else
|
||||||
|
echo "$NAME $BATTERY%"
|
||||||
|
fi
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
|
||||||
# layout-selector.sh
|
|
||||||
# Select a workspace layout using Wofi, shows description, applies with layoutmsg
|
|
||||||
|
|
||||||
# Define layouts and descriptions
|
|
||||||
declare -A LAYOUTS=(
|
|
||||||
[dwindle]="舘 Dwindle: Auto-tiling, windows shrink progressively"
|
|
||||||
[master]=" Master: One main window, others stacked"
|
|
||||||
[scrolling]=" Scrolling: Vertical list, scroll through windows"
|
|
||||||
[monocle]=" Monocle: One window fills the screen"
|
|
||||||
[floating]=" Floating: Free move & resize"
|
|
||||||
)
|
|
||||||
ORDER=(dwindle master scrolling monocle floating)
|
|
||||||
|
|
||||||
# Prepare Wofi menu: show "layoutname: description"
|
|
||||||
MENU_ITEMS=()
|
|
||||||
for key in "${ORDER[@]}"; do
|
|
||||||
MENU_ITEMS+=("$key: ${LAYOUTS[$key]}")
|
|
||||||
done
|
|
||||||
|
|
||||||
# Show selection menu via Wofi
|
|
||||||
CHOICE=$(printf '%s\n' "${MENU_ITEMS[@]}" | wofi --dmenu --prompt "Select Layout")
|
|
||||||
|
|
||||||
# Exit if cancelled
|
|
||||||
[ -z "$CHOICE" ] && exit 0
|
|
||||||
|
|
||||||
# Extract layout name from selection (before colon)
|
|
||||||
LAYOUT_NAME="${CHOICE%%:*}"
|
|
||||||
|
|
||||||
# Apply layout via layoutmsg
|
|
||||||
hyprctl dispatch layoutmsg setlayout "$LAYOUT_NAME"
|
|
||||||
|
|
||||||
# Show OSD feedback
|
|
||||||
hyprctl dispatch oSD "Layout: $LAYOUT_NAME" 2000
|
|
||||||
@@ -1,8 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
#!/usr/bin/env bash
|
|
||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Player selection — prefer actively playing player
|
# Player selection — prefer actively playing player
|
||||||
player=$(playerctl -l 2>/dev/null | while read -r p; do
|
player=$(playerctl -l 2>/dev/null | while read -r p; do
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ format = " in $duration "
|
|||||||
style = "bg:lavender"
|
style = "bg:lavender"
|
||||||
disabled = false
|
disabled = false
|
||||||
show_notifications = true
|
show_notifications = true
|
||||||
min_time_to_notify = 45000
|
min_time_to_notify = 60000
|
||||||
|
|
||||||
[palettes.catppuccin_mocha]
|
[palettes.catppuccin_mocha]
|
||||||
rosewater = "#f5e0dc"
|
rosewater = "#f5e0dc"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
|
||||||
{
|
{
|
||||||
"base00": "1e1e2e",
|
"base00": "1e1e2e",
|
||||||
"base01": "181825",
|
"base01": "181825",
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
{
|
||||||
|
"positionX": "right",
|
||||||
|
"positionY": "top",
|
||||||
|
"layer": "overlay",
|
||||||
|
"control-center-layer": "top",
|
||||||
|
"layer-shell": true,
|
||||||
|
"cssPriority": "application",
|
||||||
|
"control-center-margin-top": 8,
|
||||||
|
"control-center-margin-bottom": 8,
|
||||||
|
"control-center-margin-right": 8,
|
||||||
|
"control-center-margin-left": 0,
|
||||||
|
"notification-2fa-action": true,
|
||||||
|
"notification-inline-replies": false,
|
||||||
|
"notification-icon-size": 48,
|
||||||
|
"notification-body-image-height": 100,
|
||||||
|
"notification-body-image-width": 200,
|
||||||
|
"timeout": 10,
|
||||||
|
"timeout-low": 5,
|
||||||
|
"timeout-critical": 0,
|
||||||
|
"fit-to-screen": true,
|
||||||
|
"control-center-height": -1,
|
||||||
|
"control-center-width": 300,
|
||||||
|
"notification-window-width": 400,
|
||||||
|
"keyboard-shortcuts": true,
|
||||||
|
"image-visibility": "when-available",
|
||||||
|
"transition-time": 200,
|
||||||
|
"hide-on-clear": false,
|
||||||
|
"hide-on-action": true,
|
||||||
|
"script-fail-notify": true,
|
||||||
|
"widgets": [
|
||||||
|
"inhibitors",
|
||||||
|
"title",
|
||||||
|
"dnd",
|
||||||
|
"notifications"
|
||||||
|
],
|
||||||
|
"widget-config": {
|
||||||
|
"inhibitors": {
|
||||||
|
"text": "Inhibitors",
|
||||||
|
"button-text": "Clear All",
|
||||||
|
"clear-all-button": true
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"text": "Notifications",
|
||||||
|
"clear-all-button": true,
|
||||||
|
"button-text": "Clear All"
|
||||||
|
},
|
||||||
|
"dnd": {
|
||||||
|
"text": "Do Not Disturb"
|
||||||
|
},
|
||||||
|
"notifications": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,184 @@
|
|||||||
|
/* --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- */
|
||||||
|
@import url("/home/henrov/.config/shared/colors.css");
|
||||||
|
|
||||||
|
* {
|
||||||
|
all: unset;
|
||||||
|
font-size: 13px;
|
||||||
|
font-family: sans-serif;
|
||||||
|
transition: 200ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Notification rows ─────────────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.notification-row {
|
||||||
|
outline: none;
|
||||||
|
margin: 4px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-row:focus,
|
||||||
|
.notification-row:hover {
|
||||||
|
opacity: 0.85;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Individual notification ───────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.notification {
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 8px;
|
||||||
|
margin: 4px 8px;
|
||||||
|
color: @text;
|
||||||
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
|
||||||
|
|
||||||
|
/* gradient border */
|
||||||
|
border: 2px solid transparent;
|
||||||
|
background-image:
|
||||||
|
linear-gradient(@base-alpha, @base-alpha),
|
||||||
|
linear-gradient(45deg, @blue, @green);
|
||||||
|
background-clip: padding-box, border-box;
|
||||||
|
background-origin: padding-box, border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-content {
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-default-action {
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-default-action:hover {
|
||||||
|
background: alpha(@blue, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Text elements ─────────────────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.summary {
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
.time {
|
||||||
|
font-size: 11px;
|
||||||
|
color: @overlay0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.body {
|
||||||
|
font-size: 12px;
|
||||||
|
color: @subtext1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Control center ────────────────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.control-center {
|
||||||
|
min-height: unset;
|
||||||
|
border-radius: 30px;
|
||||||
|
padding: 8px;
|
||||||
|
margin: 8px;
|
||||||
|
color: @text;
|
||||||
|
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
|
||||||
|
border: 2px solid transparent;
|
||||||
|
background-image:
|
||||||
|
linear-gradient(@base-alpha, @base-alpha),
|
||||||
|
linear-gradient(45deg, @blue, @green);
|
||||||
|
background-clip: padding-box, border-box;
|
||||||
|
background-origin: padding-box, border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center-list {
|
||||||
|
background: transparent;
|
||||||
|
min-height: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center-list-placeholder {
|
||||||
|
opacity: 0.4;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Misc windows ──────────────────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.floating-notifications {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blank-window {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Widget: title ─────────────────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.widget-title {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: @blue;
|
||||||
|
padding: 8px 4px 4px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-title > button {
|
||||||
|
font-size: 12px;
|
||||||
|
color: @overlay0;
|
||||||
|
background: alpha(@blue, 0.1);
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 2px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-title > button:hover {
|
||||||
|
background: alpha(@blue, 0.2);
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Widget: Do Not Disturb ────────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.widget-dnd {
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > switch {
|
||||||
|
border-radius: 20px;
|
||||||
|
background: alpha(@surface1, 0.3);
|
||||||
|
|
||||||
|
/* gradient border */
|
||||||
|
border: 1px solid transparent;
|
||||||
|
background-image:
|
||||||
|
linear-gradient(alpha(@surface1, 0.3), alpha(@surface1, 0.3)),
|
||||||
|
linear-gradient(45deg, @blue, @green);
|
||||||
|
background-clip: padding-box, border-box;
|
||||||
|
background-origin: padding-box, border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > switch:checked {
|
||||||
|
background-image:
|
||||||
|
linear-gradient(alpha(@blue, 0.5), alpha(@blue, 0.5)),
|
||||||
|
linear-gradient(45deg, @blue, @green);
|
||||||
|
background-clip: padding-box, border-box;
|
||||||
|
background-origin: padding-box, border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > switch slider {
|
||||||
|
border-radius: 20px;
|
||||||
|
background: @text;
|
||||||
|
min-width: 20px;
|
||||||
|
min-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Widget: inhibitors ────────────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.widget-inhibitors {
|
||||||
|
padding: 4px;
|
||||||
|
color: @red;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Close button ──────────────────────────────────────────────────────── */
|
||||||
|
|
||||||
|
.close-button {
|
||||||
|
background: alpha(@red, 0.15);
|
||||||
|
border-radius: 6px;
|
||||||
|
color: @red;
|
||||||
|
padding: 2px 6px;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.close-button:hover {
|
||||||
|
background: alpha(@red, 0.3);
|
||||||
|
}
|
||||||
+86
-17
@@ -10,21 +10,22 @@
|
|||||||
|
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
"modules-left": [
|
"modules-left": [
|
||||||
"group/connections",
|
"group/hardware"
|
||||||
"group/hardware",
|
|
||||||
],
|
],
|
||||||
|
|
||||||
"modules-center": [
|
"modules-center": [
|
||||||
"group/workspaces",
|
"group/workspaces"
|
||||||
"custom/power",
|
,"custom/media"
|
||||||
"custom/media"
|
,"custom/batterywarn"
|
||||||
|
/* ,"custom/kdeconnect" */
|
||||||
],
|
],
|
||||||
|
|
||||||
"modules-right": [
|
"modules-right": [
|
||||||
"group/audio",
|
"group/audio"
|
||||||
"tray",
|
,"group/tray"
|
||||||
"clock",
|
,"clock"
|
||||||
"idle_inhibitor"
|
,"group/system"
|
||||||
|
,"custom/notifications"
|
||||||
],
|
],
|
||||||
|
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
@@ -58,6 +59,45 @@
|
|||||||
"tooltip": false
|
"tooltip": false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/*******************************************************************/
|
||||||
|
"group/tray": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"drawer": {
|
||||||
|
"transition-duration": 500,
|
||||||
|
"transition-left-to-right": true
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
"custom/tray-anchor"
|
||||||
|
,"tray"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/tray-anchor": {
|
||||||
|
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
/*******************************************************************/
|
||||||
|
"group/system": {
|
||||||
|
"orientation": "horizontal",
|
||||||
|
"drawer": {
|
||||||
|
"transition-duration": 500,
|
||||||
|
"transition-left-to-right": true
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
"custom/system-anchor"
|
||||||
|
,"custom/power"
|
||||||
|
,"idle_inhibitor"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/system-anchor": {
|
||||||
|
|
||||||
|
"format": "",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
/*************************/
|
/*************************/
|
||||||
|
|
||||||
@@ -93,7 +133,6 @@
|
|||||||
|
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
|
|
||||||
|
|
||||||
"hyprland/workspaces": {
|
"hyprland/workspaces": {
|
||||||
"align": 1,
|
"align": 1,
|
||||||
"format": "{name}",
|
"format": "{name}",
|
||||||
@@ -129,15 +168,34 @@
|
|||||||
"format": "{}"
|
"format": "{}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"idle_inhibitor": {
|
"custom/batterywarn": {
|
||||||
"tooltip": true,
|
"exec": "~/.config/scripts/batterywarn.sh",
|
||||||
|
"interval": 60,
|
||||||
|
"format": "{}"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/kdeconnect": {
|
||||||
|
"format": "{name} {battery}% ",
|
||||||
|
"interval": 10,
|
||||||
|
"exec": "~/.config/scripts/kdeconnect-status.sh",
|
||||||
|
"tooltip": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/notifications": {
|
||||||
|
"tooltip": false,
|
||||||
|
"return-type": "json",
|
||||||
|
"exec-if": "which swaync-client",
|
||||||
|
"exec": "swaync-client -swb",
|
||||||
"format": "{icon}",
|
"format": "{icon}",
|
||||||
"format-icons": {
|
"format-icons": {
|
||||||
"activated": " ",
|
"notification": "",
|
||||||
"deactivated": " "
|
"none": "",
|
||||||
|
"dnd-notification": "",
|
||||||
|
"dnd-none": "",
|
||||||
},
|
},
|
||||||
"tooltip-format-activated": "Staying awake",
|
"on-click": "swaync-client -t",
|
||||||
"tooltip-format-deactivated": "Might sleep...."
|
"on-click-right": "swaync-client -d",
|
||||||
|
"on-click-middle": "swaync-client -dn",
|
||||||
},
|
},
|
||||||
|
|
||||||
"custom/power": {
|
"custom/power": {
|
||||||
@@ -166,6 +224,17 @@
|
|||||||
"orientation": "horizontal"
|
"orientation": "horizontal"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"tooltip": true,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": " ",
|
||||||
|
"deactivated": " "
|
||||||
|
},
|
||||||
|
"tooltip-format-activated": "Staying awake",
|
||||||
|
"tooltip-format-deactivated": "Might sleep...."
|
||||||
|
},
|
||||||
|
|
||||||
"network": {
|
"network": {
|
||||||
"format-wifi": " ({bandwidthDownBits})",
|
"format-wifi": " ({bandwidthDownBits})",
|
||||||
"format-ethernet": " ({bandwidthDownBits})",
|
"format-ethernet": " ({bandwidthDownBits})",
|
||||||
@@ -209,7 +278,7 @@
|
|||||||
"days": "<span color='#cba6f7'><b>{}</b></span>",
|
"days": "<span color='#cba6f7'><b>{}</b></span>",
|
||||||
"weeks": "<span color='#a6e3a1'><b>W{}</b></span>",
|
"weeks": "<span color='#a6e3a1'><b>W{}</b></span>",
|
||||||
"weekdays": "<span color='#f9e2af'><b>{}</b></span>",
|
"weekdays": "<span color='#f9e2af'><b>{}</b></span>",
|
||||||
"today": "<span color='#1e1e2e' bgcolor='#a6e3a1'><b> {} </b></span>"
|
"today": "<span color='#1e1e2e' bgcolor='#a6e3a1'>{}</span>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"on-click": "flatpak run eu.betterbird.Betterbird -calendar"
|
"on-click": "flatpak run eu.betterbird.Betterbird -calendar"
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/* --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- */
|
/* --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- */
|
||||||
@import url("file:///home/henrov/.config/shared/Colors.css");
|
@import url("file:///home/henrov/.config/shared/colors.css");
|
||||||
|
|
||||||
/* --- Global --- */
|
/* --- Global --- */
|
||||||
* {
|
* {
|
||||||
@@ -18,10 +18,12 @@ window#waybar {
|
|||||||
color: @text;
|
color: @text;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------- */
|
/* ---------GROUPS------------------------------------------------ */
|
||||||
|
|
||||||
/* --- Group anchors default visible --- */
|
/* --- Group anchors default visible --- */
|
||||||
#custom-hardware-anchor,
|
#custom-hardware-anchor,
|
||||||
|
#custom-tray-anchor,
|
||||||
|
#custom-system-anchor,
|
||||||
#custom-connections-anchor {
|
#custom-connections-anchor {
|
||||||
min-width: 80px;
|
min-width: 80px;
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
@@ -32,6 +34,8 @@ window#waybar {
|
|||||||
|
|
||||||
/* --- Hide anchors on hover of the group --- */
|
/* --- Hide anchors on hover of the group --- */
|
||||||
#hardware:hover #custom-hardware-anchor,
|
#hardware:hover #custom-hardware-anchor,
|
||||||
|
#tray:hover #custom-tray-anchor,
|
||||||
|
#system:hover #custom-system-anchor,
|
||||||
#connections:hover #custom-connections-anchor {
|
#connections:hover #custom-connections-anchor {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
@@ -40,6 +44,8 @@ window#waybar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#hardware:hover,
|
#hardware:hover,
|
||||||
|
#tray:hover,
|
||||||
|
#system:hover,
|
||||||
#connections:hover {
|
#connections:hover {
|
||||||
min-width: 80px;
|
min-width: 80px;
|
||||||
}
|
}
|
||||||
@@ -58,11 +64,12 @@ window#waybar {
|
|||||||
border: 2px solid transparent;
|
border: 2px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modules-left > box + box,
|
/* ------------------ WORKING ON GAP -------------------- */
|
||||||
.modules-center > box + box,
|
window box box widget box {
|
||||||
.modules-right > box + box {
|
margin: 0 12px;
|
||||||
margin-left: 5px;
|
|
||||||
}
|
}
|
||||||
|
/* ------------------ WORKING ON GAP -------------------- */
|
||||||
|
|
||||||
|
|
||||||
.modules-left > widget label,
|
.modules-left > widget label,
|
||||||
.modules-left > label ,
|
.modules-left > label ,
|
||||||
@@ -74,8 +81,7 @@ window#waybar {
|
|||||||
transition: padding 0.2s ease;
|
transition: padding 0.2s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------- */
|
|
||||||
/* SLIDERS / SPECIAL MODULES */
|
|
||||||
|
|
||||||
/* -----------------------------
|
/* -----------------------------
|
||||||
WORKSPACES / WINDOWS MODULE
|
WORKSPACES / WINDOWS MODULE
|
||||||
@@ -139,8 +145,9 @@ label#custom-windows:not(.active) {
|
|||||||
/* ---- Pulseaudio ---*/
|
/* ---- Pulseaudio ---*/
|
||||||
|
|
||||||
#pulseaudio-slider {
|
#pulseaudio-slider {
|
||||||
padding: 0;
|
padding: 0 4px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
min-width: 140px;
|
||||||
}
|
}
|
||||||
#pulseaudio-slider slider {
|
#pulseaudio-slider slider {
|
||||||
min-height: 0px;
|
min-height: 0px;
|
||||||
@@ -150,10 +157,12 @@ label#custom-windows:not(.active) {
|
|||||||
background: linear-gradient(45deg, @blue, @green);
|
background: linear-gradient(45deg, @blue, @green);
|
||||||
border: none;
|
border: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
#pulseaudio-slider trough {
|
#pulseaudio-slider trough {
|
||||||
min-height: 10px;
|
min-height: 10px;
|
||||||
min-width: 80px;
|
min-width: 120px;
|
||||||
border-radius: 30px;
|
border-radius: 30px;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
@@ -164,8 +173,11 @@ label#custom-windows:not(.active) {
|
|||||||
border: 2px solid transparent;
|
border: 2px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* --------------------------------------------------------- */
|
/* --------------------------------------------------------- */
|
||||||
/* STATES / SPECIALS */
|
/* STATES / SPECIALS */
|
||||||
|
#custom-notifications.notification,
|
||||||
|
#custom-notifications.dnd-notification,
|
||||||
#idle_inhibitor.activated {
|
#idle_inhibitor.activated {
|
||||||
background: linear-gradient(45deg, @blue, @green);
|
background: linear-gradient(45deg, @blue, @green);
|
||||||
border: 2px solid transparent;
|
border: 2px solid transparent;
|
||||||
@@ -184,6 +196,13 @@ label#custom-windows:not(.active) {
|
|||||||
border: 2px solid transparent;
|
border: 2px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#custom-battery-warn {
|
||||||
|
margin: 0 5px;
|
||||||
|
padding: 0 10px;
|
||||||
|
color: white;
|
||||||
|
animation: blink 0.5s linear infinite alternate;
|
||||||
|
}
|
||||||
|
|
||||||
@keyframes blink {
|
@keyframes blink {
|
||||||
to {
|
to {
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
@@ -205,17 +224,20 @@ label#custom-windows:not(.active) {
|
|||||||
border: 2px solid transparent;
|
border: 2px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#custom-notifications {
|
||||||
|
min-width: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------- */
|
/* --------------------------------------------------------- */
|
||||||
/* GLOBAL MODULE SPACING */
|
/* GLOBAL MODULE SPACING */
|
||||||
#clock,
|
|
||||||
#idle_inhibitor,
|
#idle_inhibitor,
|
||||||
#battery,
|
#battery:not(.warn),
|
||||||
#cpu,
|
#cpu,
|
||||||
#memory,
|
#memory,
|
||||||
#temperature,
|
#temperature,
|
||||||
#network,
|
#network,
|
||||||
#pulseaudio,
|
#pulseaudio,
|
||||||
|
#clock,
|
||||||
#tray {
|
#tray {
|
||||||
margin: 0 5px;
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- */
|
/* --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- */
|
||||||
@import "~/.config/shared/Colors.css";
|
@import "~/.config/shared/colors.css";
|
||||||
|
|
||||||
* {
|
* {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
|
||||||
// Zed settings
|
// Zed settings
|
||||||
//
|
//
|
||||||
// For information on how to configure Zed, see the Zed
|
// For information on how to configure Zed, see the Zed
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ if command -v starship >/dev/null 2>&1; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
source /etc/profile.d/99-alias-functions.sh
|
source /etc/profile.d/99-alias-functions.sh
|
||||||
eval "$(lua /run/current-system/sw/bin/z.lua --init zsh)"
|
eval "$(/run/current-system/sw/bin/z.lua --init zsh)"
|
||||||
cd() {
|
cd() {
|
||||||
if [ "$#" -eq 0 ]; then
|
if [ "$#" -eq 0 ]; then
|
||||||
builtin cd ~
|
builtin cd ~
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ audacity
|
|||||||
baobab
|
baobab
|
||||||
bat
|
bat
|
||||||
blender
|
blender
|
||||||
blueman
|
|
||||||
bluez
|
|
||||||
brave
|
brave
|
||||||
btop
|
btop
|
||||||
chromium
|
chromium
|
||||||
@@ -23,12 +21,15 @@ gimp
|
|||||||
git
|
git
|
||||||
gparted
|
gparted
|
||||||
grim
|
grim
|
||||||
|
grimblast
|
||||||
|
gnome-calculator
|
||||||
|
qalculate-gtk
|
||||||
handbrake
|
handbrake
|
||||||
hyperfine
|
hyperfine
|
||||||
just
|
just
|
||||||
jq
|
jq
|
||||||
kdePackages.kdeconnect-kde
|
|
||||||
libreoffice
|
libreoffice
|
||||||
|
lua
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
nextcloud-talk-desktop
|
nextcloud-talk-desktop
|
||||||
nix-index
|
nix-index
|
||||||
@@ -43,6 +44,7 @@ qdirstat
|
|||||||
ripgrep
|
ripgrep
|
||||||
signal-desktop
|
signal-desktop
|
||||||
slurp
|
slurp
|
||||||
|
solidtime-desktop
|
||||||
spotify
|
spotify
|
||||||
solaar
|
solaar
|
||||||
swappy
|
swappy
|
||||||
@@ -64,3 +66,4 @@ zoxide
|
|||||||
#flatpaks
|
#flatpaks
|
||||||
eu.betterbird.Betterbird
|
eu.betterbird.Betterbird
|
||||||
com.todoist.Todoist
|
com.todoist.Todoist
|
||||||
|
com.logseq.Logseq
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
{ config, pkgs, lib, flakeRoot, ... }:
|
{ config, pkgs, lib, flakeRoot, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
@@ -8,16 +8,22 @@
|
|||||||
efi.efiSysMountPoint = "/boot";
|
efi.efiSysMountPoint = "/boot";
|
||||||
timeout = 5;
|
timeout = 5;
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"quiet"
|
"quiet"
|
||||||
"splash"
|
"splash"
|
||||||
"udev.log_level=3"
|
"udev.log_level=3"
|
||||||
"rd.systemd.show_status=false"
|
"rd.systemd.show_status=false"
|
||||||
|
# Sleep / power management
|
||||||
|
"mem_sleep_default=deep" # Use S3 deep sleep, fixes sleep not working
|
||||||
|
"acpi_osi=Linux" # Tell ACPI this is a Linux system
|
||||||
|
"acpi_backlight=native" # Proper backlight control
|
||||||
|
# Intel GPU — fixes screen blinking on sleep/wake
|
||||||
|
"i915.enable_psr=0"
|
||||||
|
"i915.enable_psr2_sel_fetch=0"
|
||||||
|
# Prevent nvme from waking the system
|
||||||
|
"nvme.noacpi=1"
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.consoleLogLevel = 0;
|
boot.consoleLogLevel = 0;
|
||||||
#boot.initrd.systemd.enable = true;
|
#boot.initrd.systemd.enable = true;
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [
|
||||||
@@ -27,15 +33,32 @@
|
|||||||
"sd_mod"
|
"sd_mod"
|
||||||
"rtsx_usb_sdmmc"
|
"rtsx_usb_sdmmc"
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.enableAllFirmware = true;
|
hardware.enableAllFirmware = true;
|
||||||
|
boot.kernelModules = [
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
"kvm-intel"
|
||||||
|
"asus_wmi" # Asus-specific power/fan/keyboard control
|
||||||
|
];
|
||||||
boot.plymouth = {
|
boot.plymouth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
|
||||||
|
# Power management
|
||||||
|
powerManagement.enable = true;
|
||||||
|
services.logind.settings.Login = {
|
||||||
|
HandleSleepKey = "ignore";
|
||||||
|
HandleSleepKeyLongPress = "ignore";
|
||||||
|
};
|
||||||
|
services.thermald.enable = true; # Intel thermal management daemon
|
||||||
|
services.tlp = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
||||||
|
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
||||||
|
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
||||||
|
PLATFORM_PROFILE_ON_AC = "performance";
|
||||||
|
PLATFORM_PROFILE_ON_BAT = "low-power";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
{ pkgs, config, lib, ... }:
|
{ pkgs, config, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
username = config.defaultUser or "henrov";
|
username = config.defaultUser or "henrov";
|
||||||
in
|
in
|
||||||
@@ -16,8 +15,6 @@ in
|
|||||||
# Home Manager user-level configuration
|
# Home Manager user-level configuration
|
||||||
############################
|
############################
|
||||||
home-manager.users."${username}" = {
|
home-manager.users."${username}" = {
|
||||||
home.stateVersion = "26.05";
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
SCREENSHOT_TOOL = "flameshot";
|
SCREENSHOT_TOOL = "flameshot";
|
||||||
USERNAME = username;
|
USERNAME = username;
|
||||||
@@ -27,5 +24,29 @@ in
|
|||||||
home.file."Pictures/Screenshots/.keep" = {
|
home.file."Pictures/Screenshots/.keep" = {
|
||||||
text = ""; # empty file
|
text = ""; # empty file
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.flameshot = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
uiColor = "#97cbbe";
|
||||||
|
contrastUiColor = "#1e1e2e";
|
||||||
|
showDesktopNotification = true;
|
||||||
|
savePath = "/home/${username}/Pictures/Screenshots";
|
||||||
|
filenamePattern = "$Y-$m-$d_$H-$M-$S";
|
||||||
|
useGrimAdapter = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.services.flameshot = {
|
||||||
|
Service = {
|
||||||
|
Environment = [
|
||||||
|
"WAYLAND_DISPLAY=wayland-1"
|
||||||
|
"XDG_CURRENT_DESKTOP=hyprland"
|
||||||
|
"XDG_SESSION_TYPE=wayland"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
username = config.defaultUser or "henrov";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
kdePackages.kdeconnect-kde
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.user.services.kdeconnect = {
|
||||||
|
enable = true;
|
||||||
|
description = "KDE Connect daemon";
|
||||||
|
wantedBy = ["default.target"];
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${pkgs.kdePackages.kdeconnect-kde}/bin/kdeconnectd";
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -3,9 +3,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
username = config.defaultUser or "henrov";
|
username = config.defaultUser or "henrov";
|
||||||
|
|
||||||
extraConfigFile = "${flakeRoot}/generated/.config/kitty/extra.conf";
|
extraConfigFile = "${flakeRoot}/generated/.config/kitty/extra.conf";
|
||||||
|
|
||||||
extraConfig =
|
extraConfig =
|
||||||
if builtins.pathExists extraConfigFile
|
if builtins.pathExists extraConfigFile
|
||||||
then builtins.readFile extraConfigFile
|
then builtins.readFile extraConfigFile
|
||||||
@@ -18,16 +16,13 @@ in
|
|||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.kitty
|
pkgs.kitty
|
||||||
];
|
];
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Home Manager
|
# Home Manager
|
||||||
#################################
|
#################################
|
||||||
home-manager.users = {
|
home-manager.users = {
|
||||||
"${username}" = {
|
"${username}" = {
|
||||||
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
confirm_os_window_close = lib.mkForce 0;
|
confirm_os_window_close = lib.mkForce 0;
|
||||||
dynamic_background_opacity = lib.mkForce true;
|
dynamic_background_opacity = lib.mkForce true;
|
||||||
@@ -36,11 +31,10 @@ in
|
|||||||
window_padding_width = lib.mkForce 10;
|
window_padding_width = lib.mkForce 10;
|
||||||
background_opacity = lib.mkForce "0.5";
|
background_opacity = lib.mkForce "0.5";
|
||||||
background_blur = lib.mkForce 5;
|
background_blur = lib.mkForce 5;
|
||||||
|
notify_on_command_complete = lib.mkForce "never";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
${extraConfig}
|
${extraConfig}
|
||||||
|
|
||||||
# Theme
|
# Theme
|
||||||
include themes/Catppuccin-Mocha.conf
|
include themes/Catppuccin-Mocha.conf
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -1,18 +1,19 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
{ lib, config, pkgs, flakeRoot, home-manager, inputs, ... }:
|
{ lib, config, pkgs, flakeRoot, home-manager, inputs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
username = config.defaultUser or "henrov";
|
username = config.defaultUser or "henrov";
|
||||||
assetPath = "${flakeRoot}/generated/.config/hypr";
|
assetPath = "${flakeRoot}/generated/.config/hypr";
|
||||||
|
|
||||||
hyprlandPkg =
|
hyprlandPkg =
|
||||||
pkgs.hyprland or
|
pkgs.hyprland or
|
||||||
pkgs.hyprland-git or
|
pkgs.hyprland-git or
|
||||||
inputs.hyprland.packages.${pkgs.system}.default;
|
inputs.hyprland.packages.${pkgs.system}.default;
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Install Hyprland systemwide
|
# Install Hyprland systemwide
|
||||||
|
programs.hyprland.enable = true;
|
||||||
|
programs.hyprland.withUWSM = true;
|
||||||
|
programs.hyprland.package = hyprlandPkg;
|
||||||
|
|
||||||
environment.systemPackages = [ hyprlandPkg ];
|
environment.systemPackages = [ hyprlandPkg ];
|
||||||
|
|
||||||
# Home Manager user configuration
|
# Home Manager user configuration
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ in
|
|||||||
home-manager.users = {
|
home-manager.users = {
|
||||||
${username} = {
|
${username} = {
|
||||||
home.file = {
|
home.file = {
|
||||||
".config/waybar/config" = {
|
".config/waybar/config.jsonc" = {
|
||||||
text = builtins.readFile "${assetPath}/config";
|
text = builtins.readFile "${assetPath}/config.jsonc";
|
||||||
force = true;
|
force = true;
|
||||||
};
|
};
|
||||||
".config/waybar/style-dark.css" = {
|
".config/waybar/style-dark.css" = {
|
||||||
|
|||||||
@@ -1,45 +1,62 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
{ lib, config, pkgs, flakeRoot, ... }:
|
{ lib, config, pkgs, flakeRoot, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# Use the config option defaultUser directly, fallback to "henrov"
|
|
||||||
username = config.defaultUser or "henrov";
|
username = config.defaultUser or "henrov";
|
||||||
|
homeDir = "/home/${username}";
|
||||||
# Portal backends
|
basePortal = pkgs.xdg-desktop-portal-gtk;
|
||||||
basePortal = pkgs.xdg-desktop-portal-gtk; # full portal implementation
|
hyprlandPortal = pkgs.xdg-desktop-portal-hyprland;
|
||||||
hyprlandPortal = pkgs.xdg-desktop-portal-hyprland; # Hyprland screencast
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
#################################
|
#################################
|
||||||
# Enable XDG desktop portals system-wide
|
# XDG Desktop Portals (system)
|
||||||
#################################
|
#################################
|
||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
|
xdg.portal.xdgOpenUsePortal = true;
|
||||||
# Base + Hyprland portals
|
xdg.portal.extraPortals = [
|
||||||
xdg.portal.extraPortals = [ basePortal hyprlandPortal ];
|
basePortal
|
||||||
|
hyprlandPortal
|
||||||
# Map screencast interface explicitly to Hyprland
|
];
|
||||||
xdg.portal.config = {
|
xdg.portal.config = {
|
||||||
"org.freedesktop.impl.portal.Screencast".backend = "hyprland";
|
common = {
|
||||||
|
default = [ "hyprland" "gtk" ];
|
||||||
|
};
|
||||||
|
hyprland = {
|
||||||
|
default = [ "hyprland" "gtk" ];
|
||||||
|
"org.freedesktop.impl.portal.FileChooser" = [ "gtk" ];
|
||||||
|
"org.freedesktop.impl.portal.Settings" = [ "gtk" ];
|
||||||
|
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
|
||||||
|
"org.freedesktop.impl.portal.Screenshot" = [ "hyprland" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Install portal packages system-wide
|
# System packages
|
||||||
#################################
|
#################################
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
basePortal
|
basePortal
|
||||||
hyprlandPortal
|
hyprlandPortal
|
||||||
];
|
];
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Home Manager user configuration
|
# Home Manager user config
|
||||||
#################################
|
#################################
|
||||||
home-manager.users = {
|
home-manager.users.${username} = {
|
||||||
${username} = {
|
#################################
|
||||||
home.packages = [
|
# XDG user directories
|
||||||
basePortal
|
#################################
|
||||||
hyprlandPortal
|
xdg.userDirs = {
|
||||||
];
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
desktop = null;
|
||||||
|
download = "${homeDir}/Downloads";
|
||||||
|
documents = "${homeDir}/Documents";
|
||||||
|
pictures = "${homeDir}/Pictures";
|
||||||
|
music = null;
|
||||||
|
publicShare = null;
|
||||||
|
templates = "${homeDir}/Experiments";
|
||||||
|
videos = "${homeDir}/Videos";
|
||||||
|
extraConfig = {
|
||||||
|
XDG_PROJECTS_DIR = "${homeDir}/Projects";
|
||||||
|
XDG_WORK_DIR = "${homeDir}/Work";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ let
|
|||||||
username = config.defaultUser or "henrov";
|
username = config.defaultUser or "henrov";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
############################
|
############################
|
||||||
# Bluetooth daemon
|
# Bluetooth daemon
|
||||||
############################
|
############################
|
||||||
@@ -13,4 +15,5 @@ in
|
|||||||
powerOnBoot = true;
|
powerOnBoot = true;
|
||||||
package = pkgs.bluez;
|
package = pkgs.bluez;
|
||||||
};
|
};
|
||||||
|
environment.systemPackages = with pkgs; [ blueman ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,14 +31,6 @@ let
|
|||||||
|
|
||||||
username = config.defaultUser or "henrov";
|
username = config.defaultUser or "henrov";
|
||||||
|
|
||||||
cssContent = ''
|
|
||||||
/* Catppuccin Mocha Palette - auto-generated, do not edit manually */
|
|
||||||
'' + lib.concatStringsSep "\n" (
|
|
||||||
lib.mapAttrsToList (name: value:
|
|
||||||
"@define-color ${name} ${value};"
|
|
||||||
) colors
|
|
||||||
) + "\n@define-color base-alpha rgba(30, 30, 46, 0.9);";
|
|
||||||
|
|
||||||
qmlContent = ''
|
qmlContent = ''
|
||||||
pragma Singleton
|
pragma Singleton
|
||||||
// Catppuccin Mocha Palette - auto-generated, do not edit manually
|
// Catppuccin Mocha Palette - auto-generated, do not edit manually
|
||||||
@@ -55,8 +47,8 @@ in
|
|||||||
{
|
{
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
home.file = {
|
home.file = {
|
||||||
".config/shared/Colors.css" = {
|
".config/shared/colors.css" = {
|
||||||
text = cssContent;
|
source = "${flakeRoot}/generated/.config/shared/colors.css";
|
||||||
force = true;
|
force = true;
|
||||||
};
|
};
|
||||||
".config/quickshell/Colors.qml" = {
|
".config/quickshell/Colors.qml" = {
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
|
{ lib, config, pkgs, flakeRoot, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
username = config.defaultUser or "henrov";
|
||||||
|
basePath = "${flakeRoot}/generated/.config";
|
||||||
|
assetPath = "${flakeRoot}/generated/.config/hypr";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
#################################
|
||||||
|
# Install hypridle system-wide
|
||||||
|
#################################
|
||||||
|
environment.systemPackages = [ pkgs.hypridle ];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Deploy config
|
||||||
|
#################################
|
||||||
|
home-manager.users = {
|
||||||
|
${username} = {
|
||||||
|
home.file = {
|
||||||
|
".config/hypr/hypridle.conf" = {
|
||||||
|
text = builtins.readFile "${assetPath}/hypridle.conf";
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Systemd user service
|
||||||
|
#################################
|
||||||
|
systemd.user.services.hypridle = {
|
||||||
|
description = "Hypridle (Hyprland idle daemon)";
|
||||||
|
after = [ "hyprland-session.target" ];
|
||||||
|
bindsTo = [ "hyprland-session.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${pkgs.hypridle}/bin/hypridle";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = "5s";
|
||||||
|
Environment = [
|
||||||
|
"HOME=/home/${username}"
|
||||||
|
"WAYLAND_DISPLAY=wayland-1"
|
||||||
|
"XDG_RUNTIME_DIR=/run/user/1000"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
wantedBy = [ "hyprland-session.target" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
|
{ lib, config, pkgs, flakeRoot, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
username = config.defaultUser or "henrov";
|
||||||
|
basePath = "${flakeRoot}/generated/.config";
|
||||||
|
assetPath = "${flakeRoot}/generated/.config/hypr";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
#################################
|
||||||
|
# Install hyprlock system-wide
|
||||||
|
#################################
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.hyprlock
|
||||||
|
];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Deploy configuration file
|
||||||
|
#################################
|
||||||
|
home-manager.users = {
|
||||||
|
${username} = {
|
||||||
|
home.file = {
|
||||||
|
".config/hypr/hyprlock.conf" = {
|
||||||
|
text = builtins.readFile "${assetPath}/hyprlock.conf";
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Optional: helper systemd user service (manual start use)
|
||||||
|
#################################
|
||||||
|
systemd.user.services.hyprlock = {
|
||||||
|
description = "Hyprlock (manual lock session)";
|
||||||
|
after = [ "graphical-session.target" ];
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${pkgs.hyprlock}/bin/hyprlock";
|
||||||
|
Restart = "no";
|
||||||
|
Environment = ''
|
||||||
|
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
|
||||||
|
XDG_CURRENT_DESKTOP=Hyprland
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
wantedBy = [ ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,18 +1,15 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
tuigreetBin = "${pkgs.tuigreet}/bin/tuigreet";
|
tuigreetBin = "${pkgs.tuigreet}/bin/tuigreet";
|
||||||
sessionsDir = "${pkgs.hyprland}/share/wayland-sessions";
|
sessionsDir = "${pkgs.uwsm}/share/wayland-sessions";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
#################################
|
#################################
|
||||||
# Greetd (tuigreet)
|
# Greetd (tuigreet)
|
||||||
#################################
|
#################################
|
||||||
|
|
||||||
services.greetd = {
|
services.greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
command = ''
|
command = ''
|
||||||
@@ -21,24 +18,20 @@ in
|
|||||||
--remember \
|
--remember \
|
||||||
--remember-session \
|
--remember-session \
|
||||||
--sessions ${sessionsDir} \
|
--sessions ${sessionsDir} \
|
||||||
--cmd "start-hyprland"
|
--cmd "uwsm start hyprland-uwsm.desktop"
|
||||||
'';
|
'';
|
||||||
user = "greeter";
|
user = "greeter";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Fix TTY / boot noise issues
|
# Fix TTY / boot noise issues
|
||||||
#################################
|
#################################
|
||||||
|
|
||||||
systemd.services.greetd.serviceConfig = {
|
systemd.services.greetd.serviceConfig = {
|
||||||
Type = "idle";
|
Type = "idle";
|
||||||
StandardInput = "tty";
|
StandardInput = "tty";
|
||||||
StandardOutput = "tty";
|
StandardOutput = "tty";
|
||||||
StandardError = "journal";
|
StandardError = "journal";
|
||||||
|
|
||||||
# Prevent boot log spam on tty
|
|
||||||
TTYReset = true;
|
TTYReset = true;
|
||||||
TTYVHangup = true;
|
TTYVHangup = true;
|
||||||
TTYVTDisallocate = true;
|
TTYVTDisallocate = true;
|
||||||
|
|||||||
@@ -36,6 +36,6 @@
|
|||||||
pkgs.linux-firmware
|
pkgs.linux-firmware
|
||||||
pkgs.networkmanagerapplet
|
pkgs.networkmanagerapplet
|
||||||
pkgs.networkmanager_dmenu
|
pkgs.networkmanager_dmenu
|
||||||
pkgs.iwgtk
|
# pkgs.iwgtk
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,18 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
download-buffer-size = 536870912; # 512 MB
|
download-buffer-size = 536870912; # 512 MB
|
||||||
cores = 2;
|
cores = 8;
|
||||||
max-jobs = 1;
|
max-jobs = "auto";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 30d";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.configurationLimit = 3;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||||
|
{ lib, config, pkgs, flakeRoot, ... }:
|
||||||
|
let
|
||||||
|
username = config.defaultUser or "henrov";
|
||||||
|
assetPath = "${flakeRoot}/generated/.config/swaync";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
environment.systemPackages = [ pkgs.swaynotificationcenter pkgs.libnotify ];
|
||||||
|
|
||||||
|
home-manager.users.${username} = {
|
||||||
|
# Do NOT enable services.swaync — it would claim the config files
|
||||||
|
# and conflict with our home.file entries below.
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
".config/swaync/config.json" = {
|
||||||
|
text = builtins.readFile "${assetPath}/config.json";
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
".config/swaync/style.css" = {
|
||||||
|
text = builtins.replaceStrings ["henrov"] [username] (builtins.readFile "${assetPath}/style.css");
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Autostart swaync as a systemd user service instead
|
||||||
|
systemd.user.services.swaync = {
|
||||||
|
description = "SwayNotificationCenter";
|
||||||
|
after = [ "graphical-session.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${pkgs.swaynotificationcenter}/bin/swaync";
|
||||||
|
Restart = "always";
|
||||||
|
Environment = [
|
||||||
|
"WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-1"}"
|
||||||
|
"XDG_CURRENT_DESKTOP=Hyprland"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
wantedBy = [ "default.target" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
|
||||||
{ lib, pkgs, flakeRoot,... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
aliasFile = "${flakeRoot}/generated/assets/aliases.conf";
|
|
||||||
|
|
||||||
content = builtins.readFile aliasFile;
|
|
||||||
|
|
||||||
lines =
|
|
||||||
lib.filter (l: l != "")
|
|
||||||
(map (l:
|
|
||||||
let
|
|
||||||
noComment = builtins.head (lib.splitString "#" l);
|
|
||||||
in lib.trim noComment
|
|
||||||
) (lib.splitString "\n" content));
|
|
||||||
|
|
||||||
parseLine = line:
|
|
||||||
let
|
|
||||||
parts = lib.splitString "=" line;
|
|
||||||
in
|
|
||||||
if lib.length parts < 2 then null else {
|
|
||||||
name = lib.head parts;
|
|
||||||
value = lib.concatStringsSep "=" (lib.tail parts);
|
|
||||||
};
|
|
||||||
|
|
||||||
parsed =
|
|
||||||
lib.filter (x: x != null)
|
|
||||||
(map parseLine lines);
|
|
||||||
|
|
||||||
functions =
|
|
||||||
lib.concatStringsSep "\n"
|
|
||||||
(map (x: ''
|
|
||||||
${x.name}() {
|
|
||||||
${x.value} "$@"
|
|
||||||
}
|
|
||||||
'') parsed);
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
environment.etc."profile.d/99-alias-functions.sh".text = ''
|
|
||||||
# system-wide functions generated from aliases.conf
|
|
||||||
${functions}
|
|
||||||
'';
|
|
||||||
environment.shellInit = ''
|
|
||||||
source /etc/profile
|
|
||||||
'';
|
|
||||||
|
|
||||||
interactiveShellInit = ''
|
|
||||||
source /etc/profile.d/99-alias-functions.sh
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -12,7 +12,7 @@ in
|
|||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
home = "/home/${username}";
|
home = "/home/${username}";
|
||||||
hashedPassword = "$6$S7iShgBxB.77CwmP$i0njK.2r3OL5UEvgZbmwZ0rnpZ4QyJcv8p9uCmJ4AiVPSMXkQkIwMLzyAOnJ0q8.tPLIp/7EquEIZeK8qbmgw/";
|
hashedPassword = "$6$S7iShgBxB.77CwmP$i0njK.2r3OL5UEvgZbmwZ0rnpZ4QyJcv8p9uCmJ4AiVPSMXkQkIwMLzyAOnJ0q8.tPLIp/7EquEIZeK8qbmgw/";
|
||||||
extraGroups = [ "wheel" "networkmanager" "bluetooth" ];
|
extraGroups = [ "wheel" "networkmanager" "bluetooth" "input" ];
|
||||||
ignoreShellProgramCheck = true; # <-- avoids the assertion
|
ignoreShellProgramCheck = true; # <-- avoids the assertion
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
|
||||||
wofi --show drun \
|
|
||||||
--style ~/.config/wofi/style.css \
|
|
||||||
--no-actions \
|
|
||||||
--allow-images=false \
|
|
||||||
--columns 1 \
|
|
||||||
--prompt "Apps"
|
|
||||||
Reference in New Issue
Block a user