reorganise /homes

This commit is contained in:
do butterflies cry? 2026-03-22 12:26:35 +10:00
parent 719bd1de6b
commit 85071855ec
Signed by: cry
GPG key ID: F68745A836CA0412
32 changed files with 219 additions and 1031 deletions

View file

@ -1,39 +0,0 @@
{
pkgs,
lib,
...
}: let
inherit
(lib)
mkEnableOption
mkOption
types
;
in {
imports = [
./hypr/hyprland.nix
./mangowc.nix
];
options.cryos = {
wm = {
default = mkOption {
type = types.enum ["mangowc" "hyprland"];
default = "mangowc";
example = "hyprland";
description = "Window manager to boot by default.";
};
hyprland.enabled = mkEnableOption "hyprland";
mangowc.enabled = mkEnableOption "mangowc";
};
};
config = {
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
# xdg-desktop-portal-gtk
];
};
};
}

View file

@ -1,29 +0,0 @@
# NOTE: hyprland must be enabled in BOTH your host config (for running hyprland)
# NOTE: and your home-manager config (for managing hyprland's config files)
{
pkgs,
inputs,
...
}: {
config = {
wayland.windowManager.hyprland = {
enable = true;
# package = pkgs.hyprland;
package = null;
portalPackage = null;
xwayland.enable = true;
# systemd = {
# enable = true;
# # enable autostart of applications
# # REF: `man 8 systemd-xdg-autostart-generator`
# enableXdgAutostart = true;
# };
# plugins = with inputs; [
# split-monitor-workspaces.packages.${pkgs.system}.split
# ];
};
};
}

View file

@ -0,0 +1,26 @@
# NOTE: hyprland must be enabled in BOTH your host config (for running hyprland)
# NOTE: and your home-manager config (for managing hyprland's config files)
{...}: {
imports = [
./kanshi.nix
];
wayland.windowManager.hyprland = {
enable = true;
package = null;
portalPackage = null;
xwayland.enable = true;
# systemd = {
# enable = true;
# # enable autostart of applications
# # REF: `man 8 systemd-xdg-autostart-generator`
# enableXdgAutostart = true;
# };
# plugins = with inputs; [
# split-monitor-workspaces.packages.${pkgs.system}.split
# ];
};
}

View file

@ -0,0 +1,56 @@
{...}: {
# Change monitor positions
# TODO: find a way to make this modular (ie put something different for my laptop)
# my idea is to have a "monitors" module and use kanshi for wayland
services.kanshi = {
enable = true;
systemdTarget = "hyprland-session.target";
# You can find your monitors in hyprland by using `hyprctl monitors all`
settings = [
{
# 1920x1080@144 gaming monitor
output.criteria = "HDMI-A-1";
output.mode = "1920x1080@119.98Hz";
output.scale = 1.0;
output.adaptiveSync = false; # Variable Refresh Rate (this can be changed for gaming)
}
{
# 4k side monitor
output.criteria = "DP-2";
output.mode = "3840x2160@60.00Hz";
output.scale = 2.0;
}
{
# laptop builtin screen
output.criteria = "eDP-1";
output.mode = "1920x1080@60.02Hz";
output.scale = 1.0;
}
{
# This is my dual-monitor desktop setup
profile.name = "myputer";
profile.outputs = [
{
criteria = "DP-2";
position = "0,0";
}
{
criteria = "HDMI-A-1";
position = "3840,0";
}
];
}
{
# This is my laptop (lolcathost) :)
profile.name = "lolcathost";
profile.outputs = [
{
criteria = "eDP-1";
position = "0,0";
}
];
}
];
};
}