2023-03-25 09:20:16 +02:00
|
|
|
{
|
2023-04-30 15:04:06 +03:00
|
|
|
description = "My NixOS system configuration";
|
2023-03-25 09:20:16 +02:00
|
|
|
|
2023-04-30 15:04:06 +03:00
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
2023-06-28 10:20:19 +03:00
|
|
|
nix-software-center = {
|
|
|
|
url = "github:vlinkz/nix-software-center";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-04-30 15:04:06 +03:00
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-06-28 10:20:19 +03:00
|
|
|
helix = {
|
|
|
|
url = "github:helix-editor/helix/master";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
nixos-hardware = {
|
|
|
|
url = "github:NixOS/nixos-hardware";
|
|
|
|
};
|
2023-05-13 12:09:24 +03:00
|
|
|
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
|
2023-06-28 10:20:19 +03:00
|
|
|
hypr-contrib = {
|
|
|
|
url = "github:hyprwm/contrib";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
hyprland = {
|
|
|
|
url = "github:hyprwm/Hyprland";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
eww = {
|
|
|
|
url = "github:elkowar/eww";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
nix-but-gigachad = {
|
|
|
|
url = "github:viperML/nh";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-07-10 11:49:55 +03:00
|
|
|
everblush = {
|
|
|
|
url = "github:Ultra980/everblush-gtk-flake";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-09-24 21:52:05 +03:00
|
|
|
nix-index-database = {
|
|
|
|
url = "github:nix-community/nix-index-database";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-12-17 11:39:52 +02:00
|
|
|
mailserver = {
|
|
|
|
url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-03-27 17:41:56 +03:00
|
|
|
};
|
2023-03-25 09:20:16 +02:00
|
|
|
|
2023-04-30 15:04:06 +03:00
|
|
|
outputs = { self, nixpkgs, home-manager, ... }@inputs: {
|
2023-05-06 22:00:07 +03:00
|
|
|
nixosConfigurations = {
|
2023-07-11 22:08:46 +03:00
|
|
|
titan = nixpkgs.lib.nixosSystem {
|
2023-05-06 22:00:07 +03:00
|
|
|
system = "x86_64-linux";
|
2023-09-09 23:29:07 +03:00
|
|
|
# specialArgs = { inherit inputs; };
|
2023-05-06 22:00:07 +03:00
|
|
|
modules = [
|
2023-09-09 23:29:07 +03:00
|
|
|
( import ./hosts/titan/configuration.nix inputs )
|
2023-05-06 22:00:07 +03:00
|
|
|
{
|
|
|
|
environment.etc."nix/inputs/nixpkgs".source = nixpkgs.outPath;
|
2023-05-14 21:42:09 +03:00
|
|
|
nix.nixPath = [
|
|
|
|
"nixpkgs=/etc/nix/inputs/nixpkgs"
|
|
|
|
"nixos-config=/home/ultra/.nixdotfiles"
|
|
|
|
];
|
2023-05-06 22:00:07 +03:00
|
|
|
}
|
2023-06-05 15:02:59 +03:00
|
|
|
|
|
|
|
# Hyprland
|
|
|
|
# inputs.hyprland.nixosModules.default
|
|
|
|
# { programs.hyprland.enable = true; }
|
2023-05-06 22:00:07 +03:00
|
|
|
];
|
|
|
|
};
|
2023-07-10 11:49:55 +03:00
|
|
|
hermes = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
2023-09-09 23:29:07 +03:00
|
|
|
specialArgs = { inherit inputs; };
|
2023-07-10 11:49:55 +03:00
|
|
|
modules = [
|
2023-09-09 23:29:07 +03:00
|
|
|
./hosts/hermes/configuration.nix
|
2023-07-10 11:49:55 +03:00
|
|
|
{
|
|
|
|
environment.etc."nix/inputs/nixpkgs".source = nixpkgs.outPath;
|
|
|
|
nix.nixPath = [
|
|
|
|
"nixpkgs=/etc/nix/inputs/nixpkgs"
|
|
|
|
"nixos-config=/home/ultra/.nixdotfiles"
|
|
|
|
];
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
2023-05-06 22:00:07 +03:00
|
|
|
ultrapi = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "aarch64-linux";
|
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
modules = [
|
|
|
|
./hosts/ultrapi/configuration.nix
|
|
|
|
{
|
|
|
|
environment.etc."nix/inputs/nixpkgs".source = nixpkgs.outPath;
|
|
|
|
nix.nixPath = [ "nixpkgs=/etc/nix/inputs/nixpkgs" ];
|
|
|
|
}
|
|
|
|
];
|
2023-06-26 10:58:42 +03:00
|
|
|
};
|
|
|
|
iso = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
modules = [
|
|
|
|
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5-new-kernel.nix"
|
|
|
|
];
|
2023-05-06 22:00:07 +03:00
|
|
|
};
|
2023-04-30 15:04:06 +03:00
|
|
|
};
|
|
|
|
defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux;
|
2023-05-06 21:04:27 +03:00
|
|
|
defaultPackage.aarch64-linux = home-manager.defaultPackage.aarch64-linux;
|
2023-04-30 15:04:06 +03:00
|
|
|
homeConfigurations = {
|
|
|
|
ultra = home-manager.lib.homeManagerConfiguration {
|
|
|
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
|
|
|
modules = [
|
2023-08-14 16:23:18 +03:00
|
|
|
( import ./users/ultra/home.nix inputs )
|
2023-04-30 15:04:06 +03:00
|
|
|
(args: { # https://ayats.org/blog/channels-to-flakes
|
|
|
|
xdg.configFile."nix/inputs/nixpkgs".source = nixpkgs.outPath;
|
|
|
|
home.sessionVariables.NIX_PATH = "nixpkgs=${args.config.xdg.configHome}/nix/inputs/nixpkgs$\{NIX_PATH:+:$NIX_PATH}";
|
|
|
|
})
|
2023-06-05 15:02:59 +03:00
|
|
|
# Hyprland
|
|
|
|
# inputs.hyprland.homeManagerModules.default
|
|
|
|
# { wayland.windowManager.hyprland.enable = true; }
|
2023-04-30 15:04:06 +03:00
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
2023-03-25 09:20:16 +02:00
|
|
|
};
|
|
|
|
}
|