nixos-config/flake.nix

68 lines
2.5 KiB
Nix
Raw Normal View History

2022-01-14 09:19:01 +00:00
rec {
description = "Lotte's NixOS installation";
# Use NixOS unstable
2022-02-18 13:17:35 +00:00
inputs.nixpkgs.url = github:NixOS/nixpkgs;
inputs.nixpkgs-soundtouch.url = "github:darkkirb/nixpkgs?ref=soundtouch-2.3.1";
inputs.nixpkgs-tdesktop.url = "github:yshym/nixpkgs?ref=tdesktop-3.5.1";
2022-02-10 16:01:58 +00:00
inputs.cargo2nix.url = "github:cargo2nix/cargo2nix/master"; # dummy
2022-01-14 09:19:01 +00:00
inputs.home-manager.url = "github:nix-community/home-manager";
inputs.home-manager.inputs.nixpkgs.follows = "nixpkgs";
inputs.sops-nix.url = github:Mic92/sops-nix;
inputs.sops-nix.inputs.nixpkgs.follows = "nixpkgs";
inputs.chir-rs.url = "git+https://git.chir.rs/darkkirb/chir.rs.git?ref=main";
#inputs.chir-rs.inputs.nixpkgs.follows = "nixpkgs"; # nixpkgs regression?
2022-01-19 13:47:14 +00:00
inputs.nur.url = "github:nix-community/NUR";
2022-02-18 13:17:35 +00:00
inputs.nix-gaming.url = "github:darkkirb/nix-gaming?ref=fix-wine-deriv-path";
2022-02-18 19:32:29 +00:00
#inputs.nix-gaming.inputs.nixpkgs.follows = "nixpkgs"; # rebuilds wine-tkg literally every goddamn time
2022-01-22 20:06:20 +00:00
inputs.polymc.url = "github:PolyMC/PolyMC";
inputs.polymc.inputs.nixpkgs.follows = "nixpkgs";
2022-02-09 07:19:39 +00:00
inputs.dns.url = "github:DarkKirb/dns.nix?ref=master";
2022-01-23 18:22:44 +00:00
inputs.dns.inputs.nixpkgs.follows = "nixpkgs";
2022-01-14 09:19:01 +00:00
2022-02-18 15:09:32 +00:00
outputs = { self, nixpkgs, sops-nix, home-manager, chir-rs, nur, nix-gaming, polymc, ... } @ args: rec {
2022-01-14 09:19:01 +00:00
nixosConfigurations =
let
systems = [
"nixos-8gb-fsn1-1" # Hetzner Server
2022-01-18 10:23:54 +00:00
"nutty-noon" # PC
2022-01-29 14:50:06 +00:00
"thinkrac" # Thinkpad T470
2022-01-14 09:19:01 +00:00
];
in
builtins.listToAttrs (map
(name: {
name = name;
value = nixpkgs.lib.nixosSystem
2022-02-08 21:01:33 +00:00
rec {
2022-01-14 09:19:01 +00:00
system = "x86_64-linux";
2022-02-08 21:01:33 +00:00
specialArgs = args // {
inherit system;
};
2022-01-14 09:19:01 +00:00
modules = [
(./config + "/${name}.nix")
./config/default.nix
2022-01-14 14:13:55 +00:00
sops-nix.nixosModules.sops
2022-01-15 15:09:02 +00:00
home-manager.nixosModules.home-manager
2022-01-17 19:53:47 +00:00
({ pkgs, ... }: {
nixpkgs.overlays = [
(self: super: {
chir-rs = chir-rs.outputs.defaultPackage.x86_64-linux;
2022-01-22 19:31:38 +00:00
nix-gaming = nix-gaming.outputs.packages.x86_64-linux;
2022-01-17 19:53:47 +00:00
})
2022-01-18 16:02:12 +00:00
nur.overlay
2022-01-22 20:06:20 +00:00
polymc.overlay
2022-01-17 19:53:47 +00:00
];
})
2022-01-14 09:19:01 +00:00
];
};
})
systems);
2022-02-18 15:09:32 +00:00
hydraJobs = builtins.mapAttrs
(name: value: {
x86_64-linux = value.config.system.build.toplevel;
})
nixosConfigurations;
2022-01-14 09:19:01 +00:00
};
}