Files
nixos-config/flake.nix
2026-05-08 00:00:24 +09:00

71 lines
1.7 KiB
Nix

{
description = "A simple NixOS flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
helix.url = "github:helix-editor/helix/master";
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland";
split-monitor-workspaces = {
type = "github";
owner = "zjeffer";
repo = "split-monitor-workspaces";
ref = "feat/zjeffer/lua";
inputs.hyprland.follows = "hyprland";
};
};
outputs =
{
self,
nixpkgs,
home-manager,
split-monitor-workspaces,
...
}@inputs:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
};
in
{
nixosConfigurations.haskell = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs; };
modules = [
./configuration.nix
(
{ pkgs, ... }:
{
# Define the overlay inline or in a separate file
nixpkgs.overlays = [
(final: prev: {
openmodelica = final.callPackage ./nixpkgs/openmodelica.nix { };
})
];
}
)
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.allen = import ./home.nix {
inherit split-monitor-workspaces;
inherit pkgs;
inherit inputs;
};
}
];
};
};
}