Files
nixos/flake.nix

136 lines
4.3 KiB
Nix
Raw Normal View History

2026-02-22 19:54:17 +00:00
{
2026-02-25 23:58:47 +00:00
description = "Stationette nix config";
2026-02-22 19:54:17 +00:00
2026-02-25 23:58:47 +00:00
inputs = {
2026-03-02 00:14:11 +00:00
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
2026-03-20 19:26:48 +00:00
nix-gaming.url = "github:fufexan/nix-gaming";
2026-02-25 23:58:47 +00:00
disko.url = "github:nix-community/disko/latest";
2026-02-27 00:51:33 +00:00
impermanence.url = "github:nix-community/impermanence";
2026-02-28 17:54:50 +00:00
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
2026-02-27 00:51:33 +00:00
firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs";
};
2026-03-08 00:25:11 +00:00
try-cli = {
url = "github:tobi/try-cli";
inputs.nixpkgs.follows = "nixpkgs";
};
elephant = {
url = "github:abenz1267/elephant";
2026-03-08 21:00:47 +00:00
# inputs.nixpkgs.follows = "nixpkgs";
2026-03-08 00:25:11 +00:00
};
2026-03-06 16:56:28 +00:00
walker = {
url = "github:abenz1267/walker";
inputs.elephant.follows = "elephant";
2026-03-08 00:25:11 +00:00
inputs.nixpkgs.follows = "nixpkgs";
};
voxtype = {
url = "github:peteonrails/voxtype";
inputs.nixpkgs.follows = "nixpkgs";
};
2026-03-08 21:00:47 +00:00
# hyprland-preview-share-picker = {
# url = "github:WhySoBad/hyprland-preview-share-picker";
# inputs.nixpkgs.follows = "nixpkgs";
# };
2026-02-22 19:54:17 +00:00
};
2026-02-25 23:58:47 +00:00
outputs = {
self,
nixpkgs,
2026-03-02 00:14:11 +00:00
nixpkgs-unstable,
2026-03-20 19:26:48 +00:00
nix-gaming,
2026-02-27 00:51:33 +00:00
impermanence,
2026-02-25 23:58:47 +00:00
disko,
2026-02-27 00:51:33 +00:00
home-manager,
2026-03-04 23:11:54 +00:00
try-cli,
2026-03-08 00:25:11 +00:00
voxtype,
2026-03-09 21:43:40 +00:00
walker,
2026-03-08 21:00:47 +00:00
# hyprland-preview-share-picker,
2026-02-25 23:58:47 +00:00
...
} @ inputs: let
lib = nixpkgs.lib;
system = "x86_64-linux";
2026-03-15 17:04:38 +00:00
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
2026-03-20 19:26:48 +00:00
nix-gaming = inputs.nix-gaming.packages.${system};
2026-03-15 17:04:38 +00:00
pkgs-unstable = import nixpkgs-unstable {
inherit system;
config.allowUnfree = true;
};
2026-03-09 23:04:47 +00:00
mkHost = hostname: nixpkgs.lib.nixosSystem {
modules = [
2026-03-12 23:38:13 +00:00
./hardware
2026-03-09 23:04:47 +00:00
./system
home-manager.nixosModules.home-manager
{
powerManagement.enable = true;
system.stateVersion = "25.11";
home-manager = {
users.chris = import ./home;
extraSpecialArgs = {
inherit inputs;
inherit pkgs-unstable;
inherit try-cli;
inherit voxtype;
inherit walker;
inherit impermanence;
inherit hostname;
2026-03-06 16:56:28 +00:00
};
2026-03-09 23:04:47 +00:00
};
}
];
specialArgs = {
inherit inputs;
inherit pkgs-unstable;
inherit impermanence;
inherit disko;
inherit hostname;
2026-03-20 19:26:48 +00:00
inherit nix-gaming;
2026-02-25 23:58:47 +00:00
};
2026-03-06 16:56:28 +00:00
};
2026-03-09 23:04:47 +00:00
in {
nixosConfigurations = {
stationette = mkHost "stationette";
station = mkHost "station";
};
2026-02-22 19:54:17 +00:00
2026-03-06 16:56:28 +00:00
# Standalone home-manager configuration entrypoint
2026-03-09 21:43:40 +00:00
homeConfigurations = {
chris = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit inputs;
inherit pkgs-unstable;
inherit try-cli;
inherit voxtype;
inherit walker;
inherit impermanence;
};
modules = [
./home
];
};
};
2026-03-06 16:56:28 +00:00
nix.settings = {
extra-substituters = [
"https://walker.cachix.org"
"https://walker-git.cachix.org"
];
extra-trusted-public-keys = [
"walker.cachix.org-1:fG8q+uAaMqhsMxWjwvk0IMb4mFPFLqHjuvfwQxE4oJM="
"walker-git.cachix.org-1:vmC0ocfPWh0S/vRAQGtChuiZBTAe4wiKDeyyXM0/7pM="
];
2026-03-20 19:26:48 +00:00
substituters = ["https://nix-gaming.cachix.org"];
trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="];
2026-02-28 14:33:47 +00:00
};
2026-03-06 16:56:28 +00:00
};
2026-02-22 19:54:17 +00:00
}