Files
nix/flake.nix
Gustavo "Guz" L. de Mello 8ed1c05373 feat: screenshot command
2024-01-12 17:45:22 -03:00

59 lines
1.5 KiB
Nix

{
description = "Nixos config flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-index-database = {
url = "github:Mic92/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
# Declaratively install flatpaks
flatpaks.url = "github:gmodena/nix-flatpak"; # Fork is being used until #24 merges
# flatpaks.url = "github:Tomaszal/nix-flatpak/feature/overrides";
# Used for theming the OS, see modules/home-manager/theme.nix
nix-colors.url = "github:misterio77/nix-colors";
# Necessary for modules/home-manager/programs/tmux.nix
tmux-plugin-manager = {
url = "github:tmux-plugins/tpm";
flake = false;
};
};
outputs = { self, nixpkgs, home-manager, ... }@inputs:
let
create-host = (configs: builtins.listToAttrs (map
(c: {
name = c;
value = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
inputs.home-manager.nixosModules.default
(./. + ("/hosts/" + builtins.replaceStrings [ "@" ] [ "/" ] c) + /configuration.nix)
];
};
})
configs));
in
{
nixosConfigurations = (create-host [
"desktop@default"
"desktop@work"
]);
};
}