92 lines
2.6 KiB
Nix
92 lines
2.6 KiB
Nix
{
|
|
description = "xyno doin nixos";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11";
|
|
nixpkgs-master.url = "github:nixos/nixpkgs?ref=master";
|
|
nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest";
|
|
home-manager.url = "github:nix-community/home-manager/release-24.11";
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
|
quadlet.url = "github:SEIAROTg/quadlet-nix";
|
|
quadlet.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
# software
|
|
lanzaboote = {
|
|
url = "github:nix-community/lanzaboote/v0.4.2";
|
|
|
|
# Optional but recommended to limit the size of your system closure.
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
lix-module = {
|
|
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
|
zen-browser.inputs.nixpkgs.follows = "nixpkgs-master";
|
|
kmonad = {
|
|
url = "git+https://github.com/jokesper/kmonad?dir=nix&ref=feat-tap-overlap";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# helix
|
|
helix.url = "github:sofusa/helix-pull-diagnostics";
|
|
helix.inputs.nixpkgs.follows = "nixpkgs-master";
|
|
csharp-language-server.url = "github:sofusa/csharp-language-server";
|
|
csharp-language-server.inputs.nixpkgs.follows = "nixpkgs-master";
|
|
|
|
|
|
};
|
|
|
|
outputs =
|
|
inputs@{
|
|
self,
|
|
nixpkgs,
|
|
nixpkgs-master,
|
|
...
|
|
}:
|
|
let
|
|
lib = nixpkgs.lib.extend (
|
|
s: super: {
|
|
xyno = import ./lib {
|
|
inherit inputs nixpkgs self;
|
|
lib = s;
|
|
};
|
|
}
|
|
);
|
|
overlays = [ self.overlays.default ];
|
|
genPkgs =
|
|
system:
|
|
import nixpkgs {
|
|
inherit system overlays;
|
|
config.allowUnfree = true;
|
|
};
|
|
in
|
|
{
|
|
overlays.default = final: prev: {
|
|
unstable = import nixpkgs-master {
|
|
system = prev.system;
|
|
config.allowUnfree = true;
|
|
};
|
|
};
|
|
nixosConfigurations =
|
|
lib.xyno.loadInstances ./instances ([
|
|
inputs.lix-module.nixosModules.default
|
|
inputs.kmonad.nixosModules.default
|
|
inputs.home-manager.nixosModules.default
|
|
inputs.lanzaboote.nixosModules.lanzaboote
|
|
inputs.quadlet.nixosModules.quadlet
|
|
]
|
|
++ (import ./modules/module-list.nix));
|
|
devShell."x86_64-linux" =
|
|
let
|
|
pkgs = genPkgs "x86_64-linux";
|
|
in
|
|
pkgs.mkShell {
|
|
packages = [
|
|
pkgs.nixfmt-rfc-style
|
|
pkgs.nil
|
|
];
|
|
};
|
|
};
|
|
}
|