git hyprland

This commit is contained in:
unexplrd
2025-03-07 13:13:58 +02:00
parent 37f0fc43b1
commit efd7fd542e
6 changed files with 590 additions and 141 deletions

440
flake.lock generated
View File

@ -1,5 +1,38 @@
{ {
"nodes": { "nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1739298463,
"narHash": "sha256-oAFv9jKwwA7d7384d2LeywDSgwhvb3ZnrwbfoWPhXsI=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "f239e5aadd6d23c48e085c2de3397e2058e54d16",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"base16": { "base16": {
"inputs": { "inputs": {
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
@ -152,6 +185,22 @@
} }
}, },
"flake-compat": { "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"
}
},
"flake-compat_2": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1717312683, "lastModified": 1717312683,
@ -167,7 +216,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_2": { "flake-compat_3": {
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
@ -241,7 +290,7 @@
}, },
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@ -259,7 +308,7 @@
}, },
"flake-utils_2": { "flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@ -277,7 +326,7 @@
}, },
"flake-utils_3": { "flake-utils_3": {
"inputs": { "inputs": {
"systems": "systems_4" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@ -351,7 +400,7 @@
"stylix", "stylix",
"flake-compat" "flake-compat"
], ],
"gitignore": "gitignore", "gitignore": "gitignore_2",
"nixpkgs": [ "nixpkgs": [
"stylix", "stylix",
"nixpkgs" "nixpkgs"
@ -372,6 +421,28 @@
} }
}, },
"gitignore": { "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"
}
},
"gitignore_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"stylix", "stylix",
@ -472,6 +543,267 @@
"type": "github" "type": "github"
} }
}, },
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1738664950,
"narHash": "sha256-xIeGNM+iivwVHkv9tHwOqoUP5dDrtees34bbFKKMZYs=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "7c6d165e1eb9045a996551eb9f121b6d1b30adc3",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1739049071,
"narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73",
"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_2",
"xdph": "xdph"
},
"locked": {
"lastModified": 1741218628,
"narHash": "sha256-Z+jPT8nijCV1EzCZ5XkLr8x82WPCX/GKk8OKg8Kr+s4=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "243376078655f304b01e5097c59108745bbb9da9",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1738422629,
"narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed",
"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": 1739048983,
"narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1739048914,
"narHash": "sha256-vd5rJBTmp2w7SDgfv23Zcd84ktI5eDA7e5UBzx+pKrU=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "a7334904d591f38757c46fbe2ab68651877d9099",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1739891528,
"narHash": "sha256-h8HOCZ/rw2Buzku+GKF77VXxrGjCSOQkLhptiEKMYg0=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "61a5382f4b1ab578064d470b1b3d3f0df396b8ba",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1739049028,
"narHash": "sha256-RleJp7LYbr6s+M1xgbmhtBs+fYa3ZdIiF7+QalJ4D1g=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "04146df74a8d5ec0b579657307be01f1e241125f",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"ixx": { "ixx": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@ -657,7 +989,7 @@
}, },
"nixos-cosmic": { "nixos-cosmic": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat_2",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
@ -821,11 +1153,35 @@
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1737465171,
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"blueprint": "blueprint", "blueprint": "blueprint",
"chaotic": "chaotic", "chaotic": "chaotic",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"hyprland": "hyprland",
"lix": "lix", "lix": "lix",
"mysecrets": "mysecrets", "mysecrets": "mysecrets",
"neve": "neve", "neve": "neve",
@ -883,14 +1239,14 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils_4",
"git-hooks": "git-hooks", "git-hooks": "git-hooks",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"home-manager": "home-manager_3", "home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"nur": "nur", "nur": "nur",
"systems": "systems_5", "systems": "systems_6",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes", "tinted-schemes": "tinted-schemes",
@ -928,16 +1284,16 @@
}, },
"systems_2": { "systems_2": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1689347949,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "default-linux",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "default-linux",
"type": "github" "type": "github"
} }
}, },
@ -987,6 +1343,21 @@
} }
}, },
"systems_6": { "systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_7": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -1110,7 +1481,7 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_6" "systems": "systems_7"
}, },
"locked": { "locked": {
"lastModified": 1740555016, "lastModified": 1740555016,
@ -1125,6 +1496,47 @@
"repo": "walker", "repo": "walker",
"type": "github" "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": 1737634991,
"narHash": "sha256-dBAnb7Kbnier30cA7AgxVSxxARmxKZ1vHZT33THSIr8=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "e09dfe2726c8008f983e45a0aa1a3b7416aaeb8a",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@ -23,6 +23,8 @@
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "github:hyprwm/Hyprland";
hyprland.inputs.nixpkgs.follows = "nixpkgs";
neve = { neve = {
url = "git+https://gitea.linerds.us/unexplrd/Neve"; url = "git+https://gitea.linerds.us/unexplrd/Neve";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";

View File

@ -1,4 +1,5 @@
{ {
perSystem,
osConfig, osConfig,
config, config,
pkgs, pkgs,
@ -8,6 +9,7 @@
cfg = config.desktop.hyprland; cfg = config.desktop.hyprland;
hostname = osConfig.networking.hostName; hostname = osConfig.networking.hostName;
cursor_size = toString config.stylix.cursor.size; cursor_size = toString config.stylix.cursor.size;
colors = config.lib.stylix.colors;
keyboard = keyboard =
if hostname == "eldrid" if hostname == "eldrid"
then "chromeos" then "chromeos"
@ -20,6 +22,8 @@ in {
lib.mkEnableOption "enable hyprland desktop"; lib.mkEnableOption "enable hyprland desktop";
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
stylix.targets.waybar.enable = false;
stylix.targets.hyprland.enable = false;
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
systemd = { systemd = {
@ -28,12 +32,13 @@ in {
"--all" "--all"
]; ];
}; };
package = pkgs.hyprland; package = perSystem.hyprland.hyprland;
plugins = with pkgs.hyprlandPlugins; [ portalPackage = perSystem.hyprland.xdg-desktop-portal-hyprland;
# plugins = with pkgs.hyprlandPlugins; [
# hyprspace # hyprspace
# hy3 # hy3
hyprscroller # hyprscroller
]; # ];
settings = { settings = {
input = { input = {
kb_layout = "us,ua"; kb_layout = "us,ua";
@ -72,14 +77,11 @@ in {
"desc:Chimei Innolux Corporation 0x1406, preferred, 1920x0, 1.2" "desc:Chimei Innolux Corporation 0x1406, preferred, 1920x0, 1.2"
]; ];
env = [ env = [
# "EDITOR,hx"
"ELECTRON_OZONE_PLATFORM_HINT,auto" "ELECTRON_OZONE_PLATFORM_HINT,auto"
"QT_QPA_PLATFORM,wayland" "QT_QPA_PLATFORM,wayland"
"QT_QPA_PLATFORMTHEME,gtk3" "QT_QPA_PLATFORMTHEME,gtk3"
"XCURSOR_SIZE,${cursor_size}" "XCURSOR_SIZE,${cursor_size}"
#"GTK_THEME,adw-gtk3"
"GSK_RENDERER,ngl" "GSK_RENDERER,ngl"
# "DISPLAY,:123"
]; ];
decoration = { decoration = {
shadow.enabled = false; shadow.enabled = false;
@ -107,8 +109,6 @@ in {
"windows, 1, 3, easeOutExpo, popin 80%" "windows, 1, 3, easeOutExpo, popin 80%"
"layers, 1, 2, easeOutExpo, fade" "layers, 1, 2, easeOutExpo, fade"
]; ];
#group = {
# };
plugin = [ plugin = [
{ {
overview = { overview = {
@ -144,15 +144,15 @@ in {
text_center = true; text_center = true;
text_font = "${config.stylix.fonts.sansSerif.name}"; text_font = "${config.stylix.fonts.sansSerif.name}";
"col.active" = "0xff${config.lib.stylix.colors.base00}"; "col.active" = "0xff${colors.base00}";
"col.inactive" = "0xff${config.lib.stylix.colors.base00}"; "col.inactive" = "0xff${colors.base00}";
"col.urgent" = "0xff${config.lib.stylix.colors.base00}"; "col.urgent" = "0xff${colors.base00}";
"col.active.text" = "0xff${config.lib.stylix.colors.base0D}"; "col.active.text" = "0xff${colors.base0D}";
"col.inactive.text" = "0xff${config.lib.stylix.colors.base05}"; "col.inactive.text" = "0xff${colors.base05}";
"col.urgent.text" = "0xff${config.lib.stylix.colors.base09}"; "col.urgent.text" = "0xff${colors.base09}";
"col.active.border" = "0xff${config.lib.stylix.colors.base00}"; "col.active.border" = "0xff${colors.base00}";
"col.inactive.border" = "0xff${config.lib.stylix.colors.base00}"; "col.inactive.border" = "0xff${colors.base00}";
"col.urgent.border" = "0xff${config.lib.stylix.colors.base00}"; "col.urgent.border" = "0xff${colors.base00}";
}; };
}; };
} }
@ -163,14 +163,14 @@ in {
gesture_scroll_fingers = 3; gesture_scroll_fingers = 3;
gesture_overview_fingers = 3; gesture_overview_fingers = 3;
jump_labels_font = "${config.stylix.fonts.sansSerif.name}"; jump_labels_font = "${config.stylix.fonts.sansSerif.name}";
jump_labels_color = "0xff${config.lib.stylix.colors.base0A}"; jump_labels_color = "0xff${colors.base0A}";
}; };
} }
]; ];
dwindle = { dwindle = {
force_split = 2; force_split = 2;
default_split_ratio = 1.4; default_split_ratio = 1.2;
}; };
master = { master = {
mfact = 0.6; mfact = 0.6;
@ -194,27 +194,31 @@ in {
"$clipboardManager" = "copyq menu"; "$clipboardManager" = "copyq menu";
general = { general = {
"col.active_border" = "0xff${colors.base0D}";
"col.inactive_border" = "0xff${colors.base03}";
gaps_in = 4; gaps_in = 4;
gaps_out = 8; gaps_out = 8;
border_size = 3; border_size = 3;
allow_tearing = true; allow_tearing = true;
layout = "scroller"; layout = "dwindle";
};
group = {
"col.border_active" = "0xff${colors.base0D}";
"col.border_inactive" = "0xff${colors.base03}";
"col.border_locked_active" = "0xff${colors.base0A}";
"col.border_locked_inactive" = "0xff${colors.base0F}";
groupbar = {
height = 24;
rounding = 6;
gradient_rounding = 8;
font_size = 24;
gradients = true;
font_family = "${config.stylix.fonts.sansSerif.name}";
"text_color" = "0xff${colors.base00}";
"col.active" = "0xff${colors.base0D}";
"col.inactive" = "0xff${colors.base03}";
};
}; };
# group = {
# groupbar = lib.mkDefault {
# height = 24;
# font_size = 14;
# font_family = "${config.stylix.fonts.sansSerif.name}";
# "col.active" = "0xff${config.lib.stylix.colors.base00}";
# "col.inactive" = "0xff${config.lib.stylix.colors.base00}";
# # "col.urgent" = "0xff${config.lib.stylix.colors.base00}";
# "col.text.active" = "0xff${config.lib.stylix.colors.base0D}";
# "col.text.inactive" = "0xff${config.lib.stylix.colors.base05}";
# # "col.text.urgent" = "0xff${config.lib.stylix.colors.base09}";
# };
# };
# bindn = [", mouse:272, hy3:focustab, mouse"]; # bindn = [", mouse:272, hy3:focustab, mouse"];
bind = [ bind = [
@ -226,24 +230,26 @@ in {
"$modCtrl, G, togglefloating" "$modCtrl, G, togglefloating"
"$mod, G, pin" "$mod, G, pin"
"$mod, Z, scroller:setmode, row" # "$mod, Z, scroller:setmode, row"
"$mod, X, scroller:setmode, column" # "$mod, X, scroller:setmode, column"
"$mod, M, scroller:fitwidth, active" # "$mod, M, scroller:fitwidth, active"
"$mod, H, scroller:setwidth, 1" # "$mod, H, scroller:setwidth, 1"
"$mod, C, scroller:cyclewidth, next" # "$mod, C, scroller:cyclewidth, next"
"$modShift, C, scroller:cycleheight, next" # "$modShift, C, scroller:cycleheight, next"
"$modShift, M, scroller:fitheight, active" # "$modShift, M, scroller:fitheight, active"
"$modShift, H, scroller:setheight, onehalf" # "$modShift, H, scroller:setheight, onehalf"
"$mod, comma, scroller:admitwindow, l" # "$mod, comma, scroller:admitwindow, l"
"$mod, period, scroller:admitwindow, r" # "$mod, period, scroller:admitwindow, r"
"$modCtrl, comma, scroller:expelwindow, l" # "$modCtrl, comma, scroller:expelwindow, l"
"$modCtrl, period, scroller:expelwindow, r" # "$modCtrl, period, scroller:expelwindow, r"
"$mod, backspace, scroller:toggleoverview" # "$mod, backspace, scroller:toggleoverview"
"$modCtrl, backspace, scroller:jump" # "$modCtrl, backspace, scroller:jump"
# "$mod,T, togglegroup" "$mod, T, togglegroup"
# "$mod, period, changegroupactive, f" "$mod, period, changegroupactive, f"
# "$mod, comma, changegroupactive, b" "$mod, comma, changegroupactive, b"
"$modCtrl, period, movewindoworgroup, r"
"$modCtrl, comma, movewindoworgroup, l"
# "$mod, S, hy3:changegroup, opposite" # "$mod, S, hy3:changegroup, opposite"
# "$mod, T, hy3:changegroup, toggletab" # "$mod, T, hy3:changegroup, toggletab"
# "$mod, S, hy3:changegroup, opposite" # "$mod, S, hy3:changegroup, opposite"
@ -254,39 +260,46 @@ in {
# "$mod, Tab, overview:toggle" # "$mod, Tab, overview:toggle"
# "$mod, Tab, hyprexpo:expo, toggle" # "$mod, Tab, hyprexpo:expo, toggle"
"$mod, Tab, cyclenext,"
"$modShift, Tab, cyclenext, prev"
"$mod, Tab, bringactivetotop,"
"$modShift, U, focusurgentorlast"
"$modCtrl, L, exec, $screenLocker" "$modCtrl, L, exec, $screenLocker"
"$modCtrl, B, exec, $webBrowser" "$modCtrl, B, exec, $webBrowser"
"$modCtrl, V, exec, $clipboardManager" "$modCtrl, V, exec, $clipboardManager"
"$modCtrl, K, focuswindow, title:(Meet:.*)"
# ", Print, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -o -r -c '\#\#00000000')\" -t ppm - | ${pkgs.satty}/bin/satty --filename - --fullscreen --output-filename ${xdgPictures}/screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png" # ", Print, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -o -r -c '\#\#00000000')\" -t ppm - | ${pkgs.satty}/bin/satty --filename - --fullscreen --output-filename ${xdgPictures}/screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png"
", Print, exec, hyprshot -z -m region -o ${config.xdg.userDirs.pictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png" ", Print, exec, hyprshot -z -m region -o ${xdgPictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png"
"CTRL, Print, exec, hyprshot -z -m window -o ${config.xdg.userDirs.pictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png" "CTRL, Print, exec, hyprshot -z -m window -o ${xdgPictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png"
"SHIFT, Print, exec, hyprshot -z -m output -o ${config.xdg.userDirs.pictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png" "SHIFT, Print, exec, hyprshot -z -m output -o ${xdgPictures}/screenshots -f screenshot-$(date '+%Y%m%d-%H:%M:%S').png"
## navigation ## navigation
"$mod, $left, scroller:movefocus, l" "$mod, $left, movefocus, l"
"$mod, $down, scroller:movefocus, d" "$mod, $down, movefocus, d"
"$mod, $up, scroller:movefocus, u" "$mod, $up, movefocus, u"
"$mod, $right, scroller:movefocus, r" "$mod, $right, movefocus, r"
"$modShift, $left, workspace, e-1" "$modShift, $left, workspace, e-1"
"$modShift, $right, workspace, e+1" "$modShift, $right, workspace, e+1"
"$mod, left, scroller:movefocus, l" "$mod, left, movefocus, l"
"$mod, up, scroller:movefocus, u" "$mod, up, movefocus, u"
"$mod, down, scroller:movefocus, d" "$mod, down, movefocus, d"
"$mod, right, scroller:movefocus, r" "$mod, right, movefocus, r"
"$modShift, W, focuscurrentorlast"
"$mod, mouse_down, workspace, e-1"
"$mod, mouse_up, workspace, e+1"
"$modShift, left, workspace, e-1" "$modShift, left, workspace, e-1"
"$modShift, right, workspace, e+1" "$modShift, right, workspace, e+1"
"$modShift, down, focusmonitor, e+1"
"$modShift, up, focusmonitor, e-1"
"$modCtrl, $left, scroller:movewindow, l" "$modCtrl, $left, movewindow, l"
"$modCtrl, $down, scroller:movewindow, d" "$modCtrl, $down, movewindow, d"
"$modCtrl, $up, scroller:movewindow, u" "$modCtrl, $up, movewindow, u"
"$modCtrl, $right, scroller:movewindow, r" "$modCtrl, $right, movewindow, r"
"$modCtrl, left, scroller:movewindow, l" "$modCtrl, left, movewindow, l"
"$modCtrl, up, scroller:movewindow, u" "$modCtrl, up, movewindow, u"
"$modCtrl, down, scroller:movewindow, d" "$modCtrl, down, movewindow, d"
"$modCtrl, right, scroller:movewindow, r" "$modCtrl, right, movewindow, r"
# workspaces # workspaces
"$mod, 1, workspace, 1" "$mod, 1, workspace, 1"
"$mod, 2, workspace, 2" "$mod, 2, workspace, 2"
@ -444,20 +457,20 @@ in {
# "workspace name:game, class:" # "workspace name:game, class:"
]; ];
}; };
# extraConfig = '' extraConfig = ''
# bind = $modShift, R, submap, resize bind = $modShift, R, submap, resize
# submap = resize submap = resize
# binde = , right, resizeactive, 10 0 binde = , right, resizeactive, 10 0
# binde = , left, resizeactive, -10 0 binde = , left, resizeactive, -10 0
# binde = , up, resizeactive, 0 -10 binde = , up, resizeactive, 0 -10
# binde = , down, resizeactive, 0 10 binde = , down, resizeactive, 0 10
# binde = , $right, resizeactive, 10 0 binde = , $right, resizeactive, 10 0
# binde = , $left, resizeactive, -10 0 binde = , $left, resizeactive, -10 0
# binde = , $up, resizeactive, 0 -10 binde = , $up, resizeactive, 0 -10
# binde = , $down, resizeactive, 0 10 binde = , $down, resizeactive, 0 10
# bind = , escape, submap, reset bind = , escape, submap, reset
# submap = reset submap = reset
# ''; '';
}; };
services = { services = {
hyprpaper.enable = true; hyprpaper.enable = true;
@ -509,7 +522,6 @@ in {
icon-theme = "${config.gtk.iconTheme.name}"; icon-theme = "${config.gtk.iconTheme.name}";
}; };
}; };
stylix.targets.waybar.enable = false;
programs.waybar = { programs.waybar = {
enable = true; enable = true;
systemd = { systemd = {
@ -715,22 +727,22 @@ in {
}; };
}; };
style = '' style = ''
@define-color base00 #${config.lib.stylix.colors.base00}; @define-color base00 #${colors.base00};
@define-color base01 #${config.lib.stylix.colors.base01}; @define-color base01 #${colors.base01};
@define-color base02 #${config.lib.stylix.colors.base02}; @define-color base02 #${colors.base02};
@define-color base03 #${config.lib.stylix.colors.base03}; @define-color base03 #${colors.base03};
@define-color base04 #${config.lib.stylix.colors.base04}; @define-color base04 #${colors.base04};
@define-color base05 #${config.lib.stylix.colors.base05}; @define-color base05 #${colors.base05};
@define-color base06 #${config.lib.stylix.colors.base06}; @define-color base06 #${colors.base06};
@define-color base07 #${config.lib.stylix.colors.base07}; @define-color base07 #${colors.base07};
@define-color base08 #${config.lib.stylix.colors.base08}; @define-color base08 #${colors.base08};
@define-color base09 #${config.lib.stylix.colors.base09}; @define-color base09 #${colors.base09};
@define-color base0A #${config.lib.stylix.colors.base0A}; @define-color base0A #${colors.base0A};
@define-color base0B #${config.lib.stylix.colors.base0B}; @define-color base0B #${colors.base0B};
@define-color base0C #${config.lib.stylix.colors.base0C}; @define-color base0C #${colors.base0C};
@define-color base0D #${config.lib.stylix.colors.base0D}; @define-color base0D #${colors.base0D};
@define-color base0E #${config.lib.stylix.colors.base0E}; @define-color base0E #${colors.base0E};
@define-color base0F #${config.lib.stylix.colors.base0F}; @define-color base0F #${colors.base0F};
* { * {
font-family: ${config.stylix.fonts.sansSerif.name}, FontAwesome; font-family: ${config.stylix.fonts.sansSerif.name}, FontAwesome;
font-weight: 500; font-weight: 500;
@ -1189,11 +1201,11 @@ in {
dots_center = true; dots_center = true;
fade_on_empty = false; fade_on_empty = false;
font_family = "${config.stylix.fonts.serif.name}"; font_family = "${config.stylix.fonts.serif.name}";
font_color = "rgb(${config.lib.stylix.colors.base05})"; font_color = "rgb(${colors.base05})";
inner_color = "rgb(${config.lib.stylix.colors.base00})"; inner_color = "rgb(${colors.base00})";
outer_color = "rgb(${config.lib.stylix.colors.base0D})"; outer_color = "rgb(${colors.base0D})";
check_color = "rgb(${config.lib.stylix.colors.base0A})"; check_color = "rgb(${colors.base0A})";
fail_color = "rgb(${config.lib.stylix.colors.base08})"; fail_color = "rgb(${colors.base08})";
placeholder_text = "locked..."; placeholder_text = "locked...";
fail_text = "wrong"; fail_text = "wrong";
#placeholder_text = '\'<span foreground="##cad3f5">Password...</span>'\'; #placeholder_text = '\'<span foreground="##cad3f5">Password...</span>'\';
@ -1205,8 +1217,8 @@ in {
rounding = 12; rounding = 12;
#border_size = 3; #border_size = 3;
size = "274, 50"; size = "274, 50";
color = "rgb(${config.lib.stylix.colors.base00})"; color = "rgb(${colors.base00})";
border_color = "rgb(${config.lib.stylix.colors.base0D})"; border_color = "rgb(${colors.base0D})";
position = "0, 60"; position = "0, 60";
halign = "center"; halign = "center";
valign = "center"; valign = "center";
@ -1215,8 +1227,8 @@ in {
rounding = 12; rounding = 12;
#border_size = 3; #border_size = 3;
size = "274, 50"; size = "274, 50";
color = "rgb(${config.lib.stylix.colors.base00})"; color = "rgb(${colors.base00})";
border_color = "rgb(${config.lib.stylix.colors.base0D})"; border_color = "rgb(${colors.base0D})";
position = "0, -60"; position = "0, -60";
halign = "center"; halign = "center";
valign = "center"; valign = "center";
@ -1229,8 +1241,8 @@ in {
text_align = "center"; text_align = "center";
font_size = 16; font_size = 16;
font_family = "${config.stylix.fonts.serif.name}"; font_family = "${config.stylix.fonts.serif.name}";
outer_color = "rgb(${config.lib.stylix.colors.base00})"; outer_color = "rgb(${colors.base00})";
color = "rgb(${config.lib.stylix.colors.base05})"; color = "rgb(${colors.base05})";
position = "0, 60"; position = "0, 60";
halign = "center"; halign = "center";
valign = "center"; valign = "center";
@ -1241,8 +1253,8 @@ in {
text_align = "center"; text_align = "center";
font_size = 16; font_size = 16;
font_family = "${config.stylix.fonts.serif.name}"; font_family = "${config.stylix.fonts.serif.name}";
outer_color = "rgb(${config.lib.stylix.colors.base00})"; outer_color = "rgb(${colors.base00})";
color = "rgb(${config.lib.stylix.colors.base05})"; color = "rgb(${colors.base05})";
position = "0, -60"; position = "0, -60";
halign = "center"; halign = "center";
valign = "center"; valign = "center";
@ -1251,7 +1263,7 @@ in {
}; };
}; };
services.wlsunset = { services.wlsunset = {
enable = true; enable = false;
latitude = "49.6"; latitude = "49.6";
longitude = "36.1"; longitude = "36.1";
temperature = { temperature = {
@ -1268,6 +1280,7 @@ in {
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
brightnessctl brightnessctl
hyprsunset
nautilus nautilus
helvum helvum
loupe loupe
@ -1361,6 +1374,14 @@ in {
ExecStart = "${pkgs.hyprpolkitagent}/libexec/hyprpolkitagent"; ExecStart = "${pkgs.hyprpolkitagent}/libexec/hyprpolkitagent";
}; };
}; };
hyprsunset = mkGraphicalService {
Service =
graphicalService.Service
// {
Type = "simple";
ExecStart = "${lib.getExe pkgs.hyprsunset} -t 6500";
};
};
}; };
}; };
}; };

View File

@ -27,7 +27,7 @@ in {
copyq.enable = true; copyq.enable = true;
gnome-keyring = { gnome-keyring = {
enable = true; enable = true;
components = ["secrets" "ssh"]; components = ["secrets"];
}; };
udiskie = { udiskie = {
enable = true; enable = true;

View File

@ -16,7 +16,7 @@ in {
settings = { settings = {
version = 2; version = 2;
final_space = true; final_space = true;
console_title_template = "{{ .Shell }} in {{ .Folder }}"; console_title_template = "{{ if .SSHSession }}[{{ .HostName }}] {{ end }}{{ .Shell }} in {{ .Folder }}";
blocks = [ blocks = [
{ {
type = "prompt"; type = "prompt";
@ -57,6 +57,15 @@ in {
fetch_status = true; fetch_status = true;
}; };
} }
{
type = "session";
style = "diamond";
foreground = "white";
background = "transparent";
leading_diamond = "";
trailing_diamond = "";
template = "{{ if .SSHSession }} 󰢹 {{ .UserName }}@{{ .HostName }}{{ end }}";
}
]; ];
} }
{ {

View File

@ -1,4 +1,5 @@
{ {
perSystem,
config, config,
pkgs, pkgs,
lib, lib,
@ -13,7 +14,11 @@ in {
mkEnableOption "enable hyprland desktop"; mkEnableOption "enable hyprland desktop";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.hyprland.enable = true; programs.hyprland = {
enable = true;
package = perSystem.hyprland.hyprland;
portalPackage = perSystem.hyprland.xdg-desktop-portal-hyprland;
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
brightnessctl brightnessctl
gcr_4 gcr_4
@ -44,9 +49,9 @@ in {
}; };
xdg.portal = { xdg.portal = {
enable = true; enable = true;
extraPortals = with pkgs; [ extraPortals = [
xdg-desktop-portal-hyprland perSystem.hyprland.xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gtk
]; ];
config.common.default = [ config.common.default = [
"hyprland" "hyprland"