individualizing hyprland

This commit is contained in:
cnst
2024-07-30 19:02:20 +02:00
parent 3f99d55541
commit a360deaf5f
23 changed files with 725 additions and 188 deletions

323
flake.lock generated
View File

@@ -1,5 +1,38 @@
{
"nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1722283490,
"narHash": "sha256-xqaO+h2ams6bpfNdUAtvWN6SKuNIeyr3lXYsAKYS/+0=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "9ccb4411ee001715db0fbc74e7ff1cea02c6c24f",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"cachix": {
"locked": {
"lastModified": 1635350005,
@@ -106,11 +139,11 @@
]
},
"locked": {
"lastModified": 1722259288,
"narHash": "sha256-DkzqDygV/Zs6rLDENsBmzUy3h7ti2VacmL6p4KDajac=",
"lastModified": 1722345621,
"narHash": "sha256-3ZZolUAhDElGd1fZyMmXniodfcjQeMueGlUxKCq7Id4=",
"owner": "nix-community",
"repo": "flake-firefox-nightly",
"rev": "9617dbd27195b1ca6e9a752e4ec3723a87aad36e",
"rev": "b2a9f7632877e013f4ee7f7ff53f3266b1ce5057",
"type": "github"
},
"original": {
@@ -260,7 +293,7 @@
},
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
"systems": "systems_4"
},
"locked": {
"lastModified": 1710146030,
@@ -278,7 +311,7 @@
},
"flake-utils_4": {
"inputs": {
"systems": "systems_4"
"systems": "systems_5"
},
"locked": {
"lastModified": 1710146030,
@@ -296,7 +329,7 @@
},
"flake-utils_5": {
"inputs": {
"systems": "systems_6"
"systems": "systems_7"
},
"locked": {
"lastModified": 1710146030,
@@ -405,11 +438,11 @@
},
"hardware": {
"locked": {
"lastModified": 1722114937,
"narHash": "sha256-MOZ9woPwdpFJcHx3wic2Mlw9aztdKjMnFT3FaeLzJkM=",
"lastModified": 1722332872,
"narHash": "sha256-2xLM4sc5QBfi0U/AANJAW21Bj4ZX479MHPMPkB+eKBU=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "e67b60fb1b2c3aad2202d95b91d4c218cf2a4fdd",
"rev": "14c333162ba53c02853add87a0000cbd7aa230c2",
"type": "github"
},
"original": {
@@ -463,11 +496,11 @@
]
},
"locked": {
"lastModified": 1722203588,
"narHash": "sha256-91V5FMSQ4z9bkhTCf0f86Zjw0bh367daSf0mzCIW0vU=",
"lastModified": 1722321190,
"narHash": "sha256-WeVWVRqkgrbLzmk6FfJoloJ7Xe7HWD27Pv950IUG2kI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "792757f643cedc13f02098d8ed506d82e19ec1da",
"rev": "4fcd54df7cbb1d79cbe81209909ee8514d6b17a4",
"type": "github"
},
"original": {
@@ -497,6 +530,168 @@
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1721330371,
"narHash": "sha256-aYlHTWylczLt6ERJyg6E66Y/XSCbVL7leVcRuJmVbpI=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "4493a972b48f9c3014befbbf381ed5fff91a65dc",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2",
"systems": "systems_3",
"xdph": "xdph"
},
"locked": {
"lastModified": 1722347414,
"narHash": "sha256-HTj5Ttd1BjWJX/gGqyYLlwXhGjMTVKIxmi3q8s6pOTQ=",
"ref": "refs/heads/main",
"rev": "cc7c117fe76ff0a4da56b18026c725501de92c84",
"revCount": 5027,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
},
"original": {
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"xdph",
"nixpkgs"
],
"systems": [
"hyprland",
"xdph",
"systems"
]
},
"locked": {
"lastModified": 1721326555,
"narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1721324361,
"narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1722098849,
"narHash": "sha256-D3wIZlBNh7LuZ0NaoCpY/Pvu+xHxIVtSN+KkWZYvvVs=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "5dcbbc1e3de40b2cecfd2007434d86e924468f1f",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1721324119,
"narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"jovian": {
"inputs": {
"nix-github-actions": "nix-github-actions",
@@ -525,7 +720,7 @@
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_3",
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
"rust-overlay": "rust-overlay"
},
@@ -688,6 +883,22 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1722185531,
"narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1717794163,
"narHash": "sha256-Ch6ZpFPVvi7Bb6gmmuufpTEFkXqa43pC94XMfU5FEt0=",
@@ -703,13 +914,13 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_4": {
"locked": {
"lastModified": 1722062969,
"narHash": "sha256-QOS0ykELUmPbrrUGmegAUlpmUFznDQeR4q7rFhl8eQg=",
"lastModified": 1722185531,
"narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b73c2221a46c13557b1b3be9c2070cc42cf01eb3",
"rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d",
"type": "github"
},
"original": {
@@ -719,7 +930,7 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_5": {
"locked": {
"lastModified": 1721466660,
"narHash": "sha256-pFSxgSZqZ3h+5Du0KvEL1ccDZBwu4zvOil1zzrPNb3c=",
@@ -750,11 +961,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1722232048,
"narHash": "sha256-TjBk/EECLYfPscxOW9yWEuoI4mzoYOok/qMiod/Xx8M=",
"lastModified": 1722248209,
"narHash": "sha256-yYoxx5hVrI7JaiPy44sgnr5YIRXWY7ttNoN/l5fJOgI=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "2415edc0cb749bf81c9b142138c2bb705514f6cc",
"rev": "2089eb407d8c5dbd6ca6e93d4988a439ca6446fd",
"type": "github"
},
"original": {
@@ -819,10 +1030,11 @@
"flake-utils": "flake-utils_2",
"hardware": "hardware",
"home-manager": "home-manager_2",
"hyprland": "hyprland",
"lanzaboote": "lanzaboote",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_4",
"nixvim": "nixvim",
"systems": "systems_5",
"systems": "systems_6",
"wezterm": "wezterm"
}
},
@@ -904,16 +1116,16 @@
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"repo": "default-linux",
"type": "github"
}
},
@@ -933,6 +1145,21 @@
}
},
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_6": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@@ -947,7 +1174,7 @@
"type": "github"
}
},
"systems_6": {
"systems_7": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -989,17 +1216,17 @@
"freetype2": "freetype2",
"harfbuzz": "harfbuzz",
"libpng": "libpng",
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_5",
"rust-overlay": "rust-overlay_2",
"zlib": "zlib"
},
"locked": {
"dir": "nix",
"lastModified": 1721660996,
"narHash": "sha256-einWGKcn7zLSCYChDXN1aKrw1nz3P89dF/gK+OPD0Qw=",
"lastModified": 1722353247,
"narHash": "sha256-pPH+IJ8pljR+PmeOdckoHvbQVfSBdStKbgXcaqdkTRk=",
"owner": "wez",
"repo": "wezterm",
"rev": "7e8fdc118d2d7ceb51c720a966090f6cb65089b7",
"rev": "56a27e93a9ee50aab50ff4d78308f9b3154b5122",
"type": "github"
},
"original": {
@@ -1009,6 +1236,36 @@
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": "hyprland-protocols",
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1722181019,
"narHash": "sha256-Lj/g1UzrsTZUixtveQix6eB3pon2j23qv5/5pzTx0LQ=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "0e2f3b9c85f7bab3983098a01366876d34daf383",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
},
"yafas": {
"inputs": {
"flake-schemas": [

View File

@@ -22,6 +22,7 @@
};
# cachyos
chaotic.url = "https://flakehub.com/f/chaotic-cx/nyx/*.tar.gz";
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
#nix-gl = {
# url = "github:nix-community/nixgl";
# inputs.nixpkgs.follows = "nixpkgs";

View File

@@ -1,10 +1,7 @@
{
{inputs, ...}: {
imports = [
./land/appearance.nix
./land/inputs.nix
./land/keybinds.nix
./land/rules.nix
./land/startup.nix
inputs.hyprland.homeManagerModules.default
./land/cnst
];
wayland.windowManager.hyprland = {
enable = true;

View File

@@ -0,0 +1,9 @@
{
imports = [
./appearance.nix
./inputs.nix
./keybinds.nix
./rules.nix
./startup.nix
];
}

View File

@@ -4,12 +4,10 @@
"DP-3, 2560x1440@143.86, auto, auto"
"eDP-1,1920x1200@60.02,auto,1"
];
# Some default env vars.
# env = HYPRCURSOR_THEME,macOS
# env = HYPRCURSOR_SIZE,28
# env = XCURSOR_THEME,macOS
# env = XCURSOR_SIZE,28
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
env = [
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
];
input = {
follow_mouse = 1;
accel_profile = "flat";

View File

@@ -1,7 +1,7 @@
# KEYBINDS
{
wayland.windowManager.hyprland.settings = {
"$terminal" = "wezterm";
"$terminal" = "foot";
"$fileManager" = "thunar";
"$passwordManager" = "keepassxc";
"$menu" = "pkill anyrun || anyrun | xargs hyprctl dispatch exec --";

View File

@@ -0,0 +1,48 @@
{
wayland.windowManager.hyprland.settings = {
general = {
gaps_in = 2;
gaps_out = 4;
border_size = 3;
#col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
#col.inactive_border = rgba(595959aa)
"col.active_border" = "rgb(4c7a5d)"; # rgba(b16286ee) 45deg
"col.inactive_border" = "rgb(504945)";
layout = "dwindle";
allow_tearing = false;
resize_on_border = true;
};
decoration = {
rounding = 0;
blur = {
enabled = true;
size = 8;
passes = 1;
vibrancy = 0.1696;
};
drop_shadow = false;
shadow_range = 4;
shadow_render_power = 3;
# col.shadow = rgba(1a1a1aee)
};
animations = {
enabled = true;
bezier = [
"myBezier,0.05, 0.9, 0.1, 1.05"
];
animation = [
"windows, 1, 3, myBezier"
"windowsOut, 1, 3, default, popin 80%"
"border, 1, 3, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 3, default"
];
};
dwindle = {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = true; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true; # you probably want this
};
};
}

View File

@@ -0,0 +1,9 @@
{
imports = [
./appearance.nix
./inputs.nix
./keybinds.nix
./rules.nix
./startup.nix
];
}

View File

@@ -0,0 +1,69 @@
{
wayland.windowManager.hyprland.settings = {
monitor = [
"DP-3, 2560x1440@143.86, auto, auto"
"eDP-1,1920x1200@60.02,auto,1"
];
env = [
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
];
input = {
follow_mouse = 1;
accel_profile = "flat";
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
touchpad = {
natural_scroll = true;
disable_while_typing = true;
clickfinger_behavior = true;
scroll_factor = 0.5;
};
};
# Desktop keyboard
device = [
{
name = "pfu-limited-hhkb-hybrid";
kb_layout = "hhkbse";
kb_options = "lv3:rwin_switch";
}
{
name = "hhkb-hybrid_1-keyboard";
kb_layout = "hhkbse";
kb_options = "lv3:rwin_switch";
}
# Laptop keyboard
{
name = "at-translated-set-2-keyboard";
kb_layout = "se";
kb_options = "ctrl:swapcaps";
}
];
gestures = {
workspace_swipe = true;
workspace_swipe_distance = 400;
workspace_swipe_fingers = 3;
workspace_swipe_cancel_ratio = 0.2;
workspace_swipe_min_speed_to_force = 5;
workspace_swipe_direction_lock = true;
workspace_swipe_direction_lock_threshold = 10;
workspace_swipe_create_new = true;
};
misc = {
vrr = 1;
mouse_move_enables_dpms = 1;
key_press_enables_dpms = 0;
force_default_wallpaper = 0;
disable_hyprland_logo = true;
disable_splash_rendering = true;
};
# xwayland {
# force_zero_scaling = true
# }
# cursor {
# no_hardware_cursors = true
# no_break_fs_vrr = true
# min_refresh_rate = 60
# }
};
}

View File

@@ -0,0 +1,101 @@
# KEYBINDS
{
wayland.windowManager.hyprland.settings = {
"$terminal" = "foot";
"$fileManager" = "thunar";
"$passwordManager" = "keepassxc";
"$menu" = "pkill anyrun || anyrun | xargs hyprctl dispatch exec --";
"$menuw" = "pkill anyrun || anyrun | xargs hyprctl dispatch exec --";
"$browser" = "firefox-nightly";
"$browserinc" = "firefox-nightly --private-window";
"$ranger" = "rangerscript";
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
"$mainMod" = "SUPER";
bind = [
# Custom binds
"SUPER SHIFT, B, exec, pkill -SIGUSR2 waybar" # Reload waybar
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
"SUPER, A, exec, pkill -SIGUSR1 waybar"
"SUPER, T, exec, $terminal"
"SUPER, W, exec, $browser"
"SUPER, K, exec, $passwordManager"
"SUPER SHIFT, W, exec, $browserinc"
"SUPER, Q, killactive,"
#bind = SUPER, M, exec, hyprctl dispatch exit
#bind = SUPER, E, exec, $fileManager
"SUPER, E, exec, $fileManager"
"SUPER SHIFT, E, exec, $ranger"
"SUPER, F, fullscreen,"
"SUPER SHIFT, F, togglefloating,"
"SUPER, SPACE, exec, $menu"
"SUPER, P, pseudo," # dwindle
"SUPER, J, togglesplit," # dwindle
"SUPER, C, exec, hyprctl dispatch exec copyq toggle"
"SUPER, TAB, exec, $menuw"
# Move focus with mainMod + arrow keys
"SUPER, left, movefocus, l"
"SUPER, right, movefocus, r"
"SUPER, up, movefocus, u"
"SUPER, down, movefocus, d"
# Switch workspaces with mainMod + [0-9]
"SUPER, 1, workspace, 1"
"SUPER, 2, workspace, 2"
"SUPER, 3, workspace, 3"
"SUPER, 4, workspace, 4"
"SUPER, 5, workspace, 5"
"SUPER, 6, workspace, 6"
"SUPER, 7, workspace, 7"
"SUPER, 8, workspace, 8"
"SUPER, 9, workspace, 9"
"SUPER, 0, workspace, 10"
# Move active window to a workspace with mainMod + SHIFT + [0-9]
"SUPER SHIFT, 1, movetoworkspace, 1"
"SUPER SHIFT, 2, movetoworkspace, 2"
"SUPER SHIFT, 3, movetoworkspace, 3"
"SUPER SHIFT, 4, movetoworkspace, 4"
"SUPER SHIFT, 5, movetoworkspace, 5"
"SUPER SHIFT, 6, movetoworkspace, 6"
"SUPER SHIFT, 7, movetoworkspace, 7"
"SUPER SHIFT, 8, movetoworkspace, 8"
"SUPER SHIFT, 9, movetoworkspace, 9"
"SUPER SHIFT, 0, movetoworkspace, 10"
# Laptop controls
",XF86AudioLowerVolume, exec, pamixer -d 5"
",XF86AudioRaiseVolume, exec, pamixer -i 5"
",XF86AudioMute, exec, pamixer -m"
",XF86AudioMicMute, exec, pactl -- set-source-mute 0 toggle"
",XF86MonBrightnessDown, exec, brightnessctl s 10%-"
",XF86MonBrightnessUp, exec, brightnessctl s +10%"
"SUPER, XF86MonBrightnessUp, exec, hyprctl dispatch dpms on"
"SUPER, XF86MonBrightnessDown, exec, hyprctl dispatch dpms off"
# Screenshot a window
"SUPER, F10, exec, hyprshot -m window"
# Screenshot a monitor
", F10, exec, hyprshot -m output"
# Screenshot a region
"SUPER SHIFT, F10, exec, hyprshot -m region"
# Example special workspace (scratchpad)
"SUPER, S, togglespecialworkspace, magic"
"SUPER SHIFT, S, movetoworkspace, special:magic"
# Scroll through existing workspaces with mainMod + scroll
# bind = SUPER, mouse_down, workspace, e+1
# bind = SUPER, mouse_up, workspace, e-1
];
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = [
"SUPER, mouse:272, movewindow"
"SUPER, mouse:273, resizewindow"
];
};
}

View File

@@ -0,0 +1,42 @@
{
wayland.windowManager.hyprland.settings = {
# CALCURSE SETTINGS
windowrulev2 = [
"float,initialTitle:(floatcal)"
"size 843 650,initialTitle:(floatcal)"
"move 100%-w-20 40,initialTitle:(floatcal)"
#windowrulev2 = move 1708 32,class:(floatcal)
# RANGER/NNN SETTINGS
"float,class:(floatranger)"
"float,class:(floatnnn)"
#windowrulev2 = size 843 650,class:(floatranger)
#windowrulev2 = move 1708 32,class:(floatranger)
#windowrulev2 = move 1708 32;size 843 650;dimaround;float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
"suppressevent maximize, class:.* # You'll probably like this."
#windowrulev2 = noshadow, floating:0
"float,class:^(org.keepassxc.KeePassXC)$"
"center,class:^(org.keepassxc.KeePassXC)$"
"float,class:^(imv)$"
"float,class:^(com.github.hluk.copyq)$"
"float,class:^(blueman-manager)$"
"center,class:^(nwg-look)$"
"float,class:^(nwg-look)$"
"float,class:^(Lxappearance)$"
"float,class:(pavucontrol)$"
"move 100%-w-20 40,class:(pavucontrol)$"
"float,class:^(polkit-gnome-authentication-agent-1)$"
"float,class:^(org.gnome.Calculator)$"
"size 741 585,class:(pavucontrol)$"
"float,class:^(cnst.test)$"
"float,class:^(org.corectrl.CoreCtrl)$"
"float,class:^(feh)$"
];
windowrule = [
"center, ^(xarchiver)$"
"float, ^(xarchiver)$"
"float, ^(org.gnome.FileRoller)$"
];
};
}

View File

@@ -0,0 +1,20 @@
{
wayland.windowManager.hyprland.settings = {
exec-once = [
# STARTUP
# exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
"systemctl --user start polkit-gnome-authentication-agent-1"
# exec-once = lxqt-policykit-agent &
"waybar"
"pamixer --set-volume 50"
"blueman-applet & udiskie -Nt"
"nm-applet --indicator"
"mullvad-vpn"
# exec-once = swaybg -i ~/media/images/wallpaper.png
"wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+'"
# exec-once = hyprctl dispatch exec "sleep 4s && copyq --start-server"
"hyprctl dispatch exec 'sleep 5s && keepassxc'"
"hyprctl dispatch exec 'sleep 3s && solaar -w hide'"
];
};
}

View File

@@ -0,0 +1,17 @@
{inputs, ...}: {
imports = [
inputs.hyprland.homeManagerModules.default
./land/toothpick
];
wayland.windowManager.hyprland = {
enable = true;
systemd = {
variables = ["--all"];
extraCommands = [
"systemctl --user stop graphical-session.target"
"systemctl --user start hyprland-session.target"
];
};
};
}

View File

@@ -7,7 +7,7 @@
../../core/gui/browsers
../../core/gui/xdg
../../core/gui/discord
../../core/gui/hypr
../../core/gui/hypr/cnst.nix
../../core/gui/utility
# core.tui
../../core/tui/git/cnst.nix
@@ -48,9 +48,9 @@
xfce.thunar-volman
];
sessionVariables = {
BROWSER = "chromium";
BROWSER = "firefox";
EDITOR = "nvim";
TERM = "wezterm";
TERM = "foot";
QT_QPA_PLATFORM = "wayland";
SDL_VIDEODRIVER = "wayland";

View File

@@ -1,15 +1,7 @@
{
programs.hyprland = {
enable = true;
# xwayland.enable = true;
};
environment.variables = {
# MOZ_ENABLE_WAYLAND = 1;
NIXOS_OZONE_WL = "1";
# AMD_VULKAN_ICD = "RADV";
# SDL_VIDEODRIVER = "wayland";
# QT_QPA_PLATFORM = "wayland";
# XDG_SESSION_TYPE = "wayland";
# QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
};
{inputs, ...}: {
imports = [
inputs.hyprland.nixosModules.default
];
environment.variables.NIXOS_OZONE_WL = "1";
programs.hyprland.enable = true;
}

View File

@@ -11,22 +11,7 @@
systemPackages = with pkgs; [
# Misc
protonup
# Lutris dependencies
(lutris.override {
extraLibraries = pkgs: [
SDL2
SDL2_image
glib
wineWowPackages.stable
wineWowPackages.staging
wineWowPackages.waylandFull
winetricks
# python312Packages.pygame-sdl2
libGL
ffmpeg
];
})
winetricks
];
sessionVariables = {
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/cnst/.steam/root/compatibilitytools.d";

View File

@@ -1,15 +1,14 @@
{ inputs
, outputs
, lib
, config
, pkgs
, system
, ...
}:
let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in
{
inputs,
outputs,
lib,
config,
pkgs,
system,
...
}: let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in {
users.users.cnst = {
isNormalUser = true;
shell = pkgs.zsh;
@@ -48,7 +47,7 @@ in
nix = {
# pin the registry to avoid downloading and evaling a new nixpkgs version every time
registry = lib.mapAttrs (_: v: { flake = v; }) inputs;
registry = lib.mapAttrs (_: v: {flake = v;}) inputs;
# set the path for channels compat
nixPath = lib.mapAttrsToList (key: _: "${key}=flake:${key}") config.nix.registry;
@@ -57,34 +56,30 @@ in
auto-optimise-store = true;
builders-use-substitutes = true;
warn-dirty = false;
experimental-features = [ "nix-command" "flakes" ];
experimental-features = ["nix-command" "flakes"];
flake-registry = "/etc/nix/registry.json";
# for direnv GC roots
keep-derivations = true;
keep-outputs = true;
trusted-users = [ "root" "@wheel" ];
trusted-users = ["root" "@wheel"];
};
};
# Bootloader
boot.loader = {
systemd-boot.enable = lib.mkForce false;
efi.canTouchEfiVariables = true;
};
boot.lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
# Bootloader
boot.loader = {
systemd-boot.enable = lib.mkForce false;
efi.canTouchEfiVariables = true;
};
boot.lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
environment.sessionVariables = {
FLAKE = "/home/cnst/.nix-config";
};
users.users.cnst.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGe3s7WbaM0aZTYHCE1ugiG/SxFXLSbWcLAWceFotpuh toothpick@nixos"
];
environment.sessionVariables = {
FLAKE = "/home/cnst/.nix-config";
};
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = lib.mkDefault "23.11";
}
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = lib.mkDefault "23.11";
}

View File

@@ -48,75 +48,75 @@
# Util
anyrun
curl
fzf
gnome-disk-utility
lazygit
ntfs3g
p7zip
ripgrep
# curl
# fzf
# gnome-disk-utility
# lazygit
# ntfs3g
# p7zip
# ripgrep
stow
tmux
tmuxifier
tree-sitter
udiskie
unrar
unzip
wget
xdg-user-dirs
xdg-utils
zed-editor
# tmux
# tmuxifier
# tree-sitter
# udiskie
# unrar
# unzip
# wget
# xdg-user-dirs
# xdg-utils
# zed-editor
# Dev
binutils
clang
clang-tools
cargo-edit
cargo-insta
cargo-nextest
gcc
gnumake
cmake
python3
python312Packages.httplib2
python312Packages.oauth2
gtk3
gtk4
# binutils
# clang
# clang-tools
# cargo-edit
# cargo-insta
# cargo-nextest
# gcc
# gnumake
# cmake
# python3
# python312Packages.httplib2
# python312Packages.oauth2
# gtk3
# gtk4
# misc.language_servers
typescript-language-server
typescript
nixd
nil
statix
hyprlang
alejandra
nixpkgs-fmt
pyright
isort
rustfmt
rust-analyzer
clippy
lua-language-server
stylua
nodePackages_latest.nodejs
nodePackages.prettier
prettierd
black
vimPlugins.nvim-treesitter-parsers.typescript
# typescript-language-server
# typescript
# nixd
# nil
# statix
# hyprlang
# alejandra
# nixpkgs-fmt
# pyright
# isort
# rustfmt
# rust-analyzer
# clippy
# lua-language-server
# stylua
# nodePackages_latest.nodejs
# nodePackages.prettier
# prettierd
# black
# vimPlugins.nvim-treesitter-parsers.typescript
# ags_dependencies
bash
coreutils
dart-sass
gawk
imagemagick
procps
util-linux
gnome.gnome-control-center
mission-center
overskride
wlogout
# bash
# coreutils
# dart-sass
# gawk
# imagemagick
# procps
# util-linux
# gnome.gnome-control-center
# mission-center
# overskride
# wlogout
];
};
}

View File

@@ -1,19 +1,17 @@
{pkgs, ...}: {
# greetd display manager
services.greetd = let
session = {
command = "${pkgs.hyprland}/bin/Hyprland";
user = "cnst";
};
in {
services.greetd = {
enable = true;
settings = {
terminal.vt = 1;
default_session = session;
initial_session = session;
# AUTOLOGIN
# initial_session = {
# command = "${pkgs.hyprland}/bin/Hyprland";
# user = "cnst";
# };
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet -r --remember-session --asterisks";
user = "cnst";
};
};
};
# unlock GPG keyring on login
security.pam.services.greetd.enableGnomeKeyring = true;
}

View File

@@ -1,7 +1,6 @@
{config, ...}: {
services.xserver = {
enable = true;
desktopManager.gnome.enable = true;
videoDrivers = ["amdgpu"];
xkb = {
extraLayouts.hhkbse = {