reorganise /homes
This commit is contained in:
parent
719bd1de6b
commit
85071855ec
32 changed files with 219 additions and 1031 deletions
|
|
@ -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
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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
|
||||
# ];
|
||||
};
|
||||
};
|
||||
}
|
||||
26
homes/modules/wm/hyprland/default.nix
Executable file
26
homes/modules/wm/hyprland/default.nix
Executable 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
|
||||
# ];
|
||||
};
|
||||
}
|
||||
56
homes/modules/wm/hyprland/kanshi.nix
Executable file
56
homes/modules/wm/hyprland/kanshi.nix
Executable 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";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue