flake/flake.nix
2024-11-29 06:28:00 -05:00

92 lines
2.7 KiB
Nix

{
description = "System Configuration @ cswimr 2024";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-flatpak.url = "github:gmodena/nix-flatpak";
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
compose2nix = {
url = "github:aksiksi/compose2nix";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser.url = "github:0xc000022070/zen-browser-flake";
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
catppuccin-vsc.url = "https://flakehub.com/f/catppuccin/vscode/*.tar.gz";
};
outputs = { nixpkgs, home-manager, ... }@inputs:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
overlays = [ inputs.catppuccin-vsc.overlays.default ];
config.allowUnfree = true;
};
in {
nixosConfigurations = {
eclipse = nixpkgs.lib.nixosSystem {
system = system;
specialArgs = {
inherit inputs;
inherit pkgs;
system = system;
hostname = "eclipse";
};
modules = [
# imports
./hosts/eclipse.nix
./nixos/catppuccin.nix
./nixos/configuration.nix
./nixos/development.nix
./nixos/environment.nix
./nixos/flatpak.nix
./nixos/gaming.nix
./nixos/git.nix
./nixos/gui-pkgs.nix
./nixos/nvidia.nix
./nixos/nvim.nix
./nixos/pkg.nix
./nixos/shell.nix
./nixos/sudo.nix
./nixos/symlinks.nix
./nixos/tailscale.nix
{
# enable bluetooth
hardware.bluetooth.enable = true;
}
inputs.nixvim.nixosModules.nixvim
inputs.nix-flatpak.nixosModules.nix-flatpak
# Home Manager
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
backupFileExtension = "bak";
extraSpecialArgs = {
inherit inputs;
inherit pkgs;
system = system;
hostname = "eclipse";
};
users.cswimr = {
imports = [
./home-manager/cswimr.nix
./home-manager/vscode.nix
];
};
};
}
];
};
};
};
}