nixos-dotfiles/flake.nix

107 lines
3.2 KiB
Nix
Executable File

{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-22.05";
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager/release-22.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
agenix.url = "github:ryantm/agenix";
fenix.url = "github:nix-community/fenix";
fenix.inputs.nixpkgs.follows = "nixpkgs";
git-crypt-agessh.url = "github:mtoohey31/git-crypt-agessh";
git-crypt-agessh.inputs.nixpkgs.follows = "nixpkgs"; # idk if this is needed
polymc.url = "github:PolyMC/PolyMC";
};
# nixpkgs.overlays = [ inputs.polymc.overlay ];
outputs = inputs@{ nixpkgs, unstable, home-manager, agenix, git-crypt-agessh, polymc, ... }:
let
system = "x86_64-linux";
# nixpkgs.overlays = [ polymc.overlay ];
in
{
# nixpkgs.overlays = [
# (self: super: {
# discord = super.discord.overrideAttrs (_: {
# src = builtins.fetchTarball "https://dl.discordapp.net/apps/linux/0.0.19/discord-0.0.19.tar.gz";
# });
# })
# ];
nixosConfigurations = {
smallinux = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
# nixpkgs.overlays = [ polymc.overlay ];
modules =
let
# Inject unstable for inputs for modules
defaults = { pkgs, ... }: {
_module.args.unstable = import inputs.unstable {
inherit (pkgs.stdenv.targetPlatform) system;
config.allowUnfree = true;
};
};
in [
{
nixpkgs.overlays = [ polymc.overlay ];
}
# {
# nixpkgs.overlays =
# let
# discordOpenASAR = self: super: {
# discord = super.discord.override { withOpenASAR = true; };
# };
# in [
# discordOpenASAR
# ];
# }
defaults
home-manager.nixosModules.home-manager
agenix.nixosModule
{
# Install git-crypt-agessh for sensitives (public ips)
# https://github.com/mtoohey31/git-crypt-agessh
environment.systemPackages = [
inputs.git-crypt-agessh.packages.x86_64-linux.default
];
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
networking.hostName = "smallinux";
age.identityPaths = [
#"/etc/ssh/ssh_host_ed25519_key"
#"/root/.ssh/id_rsa"
"/root/.ssh/secrets_sshkey"
];
age.secrets.serverwg-priv.file = ./secrets/serverwg-priv.age;
age.secrets.vpnboxwg-priv.file = ./secrets/vpnboxwg-priv.age;
# packageOverrides = pkgs: with pkgs; rec {
# ftb-app = callPackage modules/pkgs/ftb-app.nix { };
# };
}
./common.nix
./hosts/smallinux.nix
];
};
};
};
}