nix-dotfiles/flake.nix

267 lines
4.7 KiB
Nix
Raw Normal View History

{
2024-03-31 00:44:48 +01:00
description = "My System flake";
inputs = {
2024-05-31 13:59:46 +02:00
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
2024-03-31 00:44:48 +01:00
unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
2024-05-31 13:59:46 +02:00
home-manager.url = "github:nix-community/home-manager/release-24.05";
2024-03-31 00:44:48 +01:00
home-manager.inputs.nixpkgs.follows = "nixpkgs";
2024-06-17 21:40:17 +02:00
stylix.url = "github:bluskript/stylix/6bc871ab352c9f18d1179daab9e392a4d46393af";
stylix.inputs.nixpkgs.follows = "nixpkgs";
stylix.inputs.home-manager.follows = "home-manager";
2024-05-29 19:33:24 +02:00
ozai.url = "git+https://git.pvv.ntnu.no/Projects/ozai.git";
ozai.inputs.nixpkgs.follows = "unstable";
ozai-webui.url = "git+https://git.pvv.ntnu.no/adriangl/ozai-webui.git";
ozai-webui.inputs.nixpkgs.follows = "unstable";
2024-03-31 00:44:48 +01:00
matrix-synapse-next.url = "github:dali99/nixos-matrix-modules";
2024-05-29 19:33:24 +02:00
2024-03-31 00:44:48 +01:00
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
sops-nix.url = "github:Mic92/sops-nix";
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
2024-06-13 00:23:24 +02:00
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
2024-03-31 00:44:48 +01:00
};
2024-03-31 00:44:48 +01:00
outputs = {
self
, home-manager
2024-06-17 21:40:17 +02:00
, stylix
2024-03-31 00:44:48 +01:00
, matrix-synapse-next
2024-05-29 19:33:24 +02:00
, ozai
, ozai-webui
2024-03-31 00:44:48 +01:00
, nix-minecraft
, nixpkgs
, sops-nix
2024-06-13 00:23:24 +02:00
, nixos-hardware
2024-03-31 00:44:48 +01:00
, unstable
, ... }@inputs:
let
overlay-unstable = final: prev: {
unstable = unstable.legacyPackages.${prev.system};
};
in
{
nixosConfigurations = {
2024-06-17 14:58:37 +02:00
boromir = nixpkgs.lib.nixosSystem {
system = "x84_64-linux";
specialArgs = {
inherit inputs;
};
modules = [
# Overlays-module makes "pkgs.unstable" available in configuration.nix
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
./machines/boromir/configuration.nix
sops-nix.nixosModules.sops
nixos-hardware.nixosModules.lenovo-thinkpad-p1
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users."gunalx" = import ./home/full.nix;
}
];
};
2024-06-12 23:33:23 +02:00
eowyn = nixpkgs.lib.nixosSystem {
system = "x84_64-linux";
specialArgs = {
inherit inputs;
};
modules = [
# Overlays-module makes "pkgs.unstable" available in configuration.nix
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
./machines/eowyn/configuration.nix
sops-nix.nixosModules.sops
2024-06-13 00:23:24 +02:00
nixos-hardware.nixosModules.dell-latitude-7280
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
2024-06-13 14:40:34 +02:00
home-manager.users."gunalx" = import ./home/full.nix;
2024-06-17 21:40:17 +02:00
}
#need to choose one. The nixos one has bootloader and display manager in addition to the home manager one.
inputs.stylix.nixosModules.stylix
#inputs.stylix.homeManagerModules.stylix
2024-06-12 23:33:23 +02:00
];
};
aragon = nixpkgs.lib.nixosSystem {
2024-04-18 01:05:45 +02:00
system = "x84_64-linux";
specialArgs = {
inherit inputs;
};
modules = [
# Overlays-module makes "pkgs.unstable" available in configuration.nix
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
./machines/aragon/configuration.nix
sops-nix.nixosModules.sops
];
};
2024-03-31 00:44:48 +01:00
galadriel = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
2024-03-31 00:44:48 +01:00
inherit inputs;
};
modules = [
2024-03-31 00:44:48 +01:00
# Overlays-module makes "pkgs.unstable" available in configuration.nix
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
./machines/galadriel/configuration.nix
sops-nix.nixosModules.sops
2024-05-29 19:33:24 +02:00
ozai.nixosModules.ozai
ozai-webui.nixosModules.ozai-webui
];
2024-03-31 00:44:48 +01:00
};
2024-03-31 00:44:48 +01:00
elrond = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs;
};
2024-03-31 00:44:48 +01:00
modules = [
./machines/elrond/configuration.nix
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
sops-nix.nixosModules.sops
];
};
};
2024-03-31 00:44:48 +01:00
devShells.x86_64-linux = {
default = nixpkgs.legacyPackages.x86_64-linux.callPackage ./home/shell.nix { };
};
2024-03-31 00:44:48 +01:00
devShells.aarch64-linux = {
default = nixpkgs.legacyPackages.aarch64-linux.callPackage ./home/shell.nix { };
};
};
2024-03-31 00:44:48 +01:00
}