add split monitor

This commit is contained in:
2026-05-07 22:03:24 +09:00
parent c64cfb5e83
commit af6d69f9b8
2 changed files with 35 additions and 12 deletions

View File

@@ -9,9 +9,20 @@
url = "github:nix-community/home-manager/release-25.05"; url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
split-monitor-workspaces = {
url = "github:Duckonaut/split-monitor-workspaces";
inputs.hyprland.follows = "hyprland";
};
}; };
outputs = { self, nixpkgs, home-manager, ... }@inputs: outputs =
{
self,
nixpkgs,
home-manager,
split-monitor-workspaces,
...
}@inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = import nixpkgs { pkgs = import nixpkgs {
@@ -19,27 +30,32 @@
config.allowUnfree = true; config.allowUnfree = true;
}; };
in { in
{
nixosConfigurations.haskell = nixpkgs.lib.nixosSystem { nixosConfigurations.haskell = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [
./configuration.nix ./configuration.nix
({ pkgs, ... }: { (
{ pkgs, ... }:
{
# Define the overlay inline or in a separate file # Define the overlay inline or in a separate file
nixpkgs.overlays = [ nixpkgs.overlays = [
(final: prev: { (final: prev: {
openmodelica = final.callPackage ./nixpkgs/openmodelica.nix { }; openmodelica = final.callPackage ./nixpkgs/openmodelica.nix { };
}) })
]; ];
}) }
)
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.users.allen = import ./home.nix { home-manager.users.allen = import ./home.nix {
inherit split-monitor-workspaces;
inherit inputs; inherit inputs;
inherit pkgs; inherit pkgs;
}; };
@@ -48,4 +64,3 @@
}; };
}; };
} }

View File

@@ -1,4 +1,9 @@
{ inputs, pkgs, ... }: {
inputs,
split-monitor-workspaces,
pkgs,
...
}:
{ {
imports = [ imports = [
@@ -39,6 +44,9 @@
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
plugins = [
split-monitor-workspaces.packages.x86_64-linux.split-monitor-workspaces
];
extraConfig = '' extraConfig = ''
source = ~/.config/hypr/common.conf source = ~/.config/hypr/common.conf
source = ~/.config/hypr/device/laptop.conf source = ~/.config/hypr/device/laptop.conf