2024-01-03 22:53:34 -03:00
|
|
|
{
|
|
|
|
|
inputs = {
|
2026-01-10 19:34:55 -03:00
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
2024-08-09 21:53:29 -03:00
|
|
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
2024-01-03 22:53:34 -03:00
|
|
|
|
|
|
|
|
home-manager = {
|
2026-01-10 19:34:55 -03:00
|
|
|
url = "github:nix-community/home-manager/release-25.11";
|
2024-01-03 22:53:34 -03:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
};
|
|
|
|
|
|
2025-11-08 11:31:06 -03:00
|
|
|
disko = {
|
|
|
|
|
url = "github:nix-community/disko/latest";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
};
|
|
|
|
|
|
2026-03-12 15:34:08 -03:00
|
|
|
impermanence = {
|
|
|
|
|
url = "github:nix-community/impermanence";
|
|
|
|
|
inputs.nixpkgs.follows = "";
|
|
|
|
|
inputs.home-manager.follows = "";
|
|
|
|
|
};
|
|
|
|
|
|
2025-02-05 10:22:46 -03:00
|
|
|
stylix = {
|
2026-01-10 19:34:55 -03:00
|
|
|
url = "github:danth/stylix/release-25.11";
|
2024-01-12 17:45:22 -03:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
};
|
|
|
|
|
|
2025-02-05 10:22:46 -03:00
|
|
|
sops-nix = {
|
|
|
|
|
url = "github:Mic92/sops-nix";
|
2024-01-13 18:58:54 -03:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
};
|
|
|
|
|
|
2026-03-24 15:21:51 -03:00
|
|
|
# heart-modpack = {
|
|
|
|
|
# url = "git+ssh://gitea@spacestation/heart/modpack.git";
|
|
|
|
|
# # url = "git+file:///home/guz/.projects/heart-modpack";
|
|
|
|
|
# };
|
2026-05-14 19:44:06 -03:00
|
|
|
favelasmp = {
|
|
|
|
|
# url = "path:///home/guz/Projects/heart-favelasmp";
|
|
|
|
|
url = "git+file:///home/guz/Projects/heart-favelasmp";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
nix-minecraft = {
|
|
|
|
|
url = "github:infinidoge/nix-minecraft";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
};
|
2025-10-27 17:17:19 -03:00
|
|
|
|
2025-03-05 16:08:43 -03:00
|
|
|
neovim = {
|
2026-03-16 14:47:26 -03:00
|
|
|
url = "git+https://code.capytal.cc/dot013/nvim";
|
|
|
|
|
# url = "git+file:///home/guz/.projects/dot013-nvim";
|
2024-08-09 21:53:29 -03:00
|
|
|
};
|
2025-04-02 14:40:38 -03:00
|
|
|
|
2026-03-25 19:16:10 -03:00
|
|
|
nix-flatpak = {
|
|
|
|
|
url = "github:gmodena/nix-flatpak";
|
|
|
|
|
};
|
|
|
|
|
|
2026-03-19 15:44:44 -03:00
|
|
|
zen-browser = {
|
|
|
|
|
url = "github:0xc000022070/zen-browser-flake";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
|
|
|
inputs.home-manager.follows = "home-manager";
|
|
|
|
|
};
|
2024-01-03 22:53:34 -03:00
|
|
|
};
|
|
|
|
|
|
2024-04-08 16:37:29 -03:00
|
|
|
outputs = {
|
|
|
|
|
self,
|
|
|
|
|
nixpkgs,
|
2024-08-09 21:53:29 -03:00
|
|
|
nixpkgs-unstable,
|
2025-05-26 10:27:51 -03:00
|
|
|
home-manager,
|
2024-04-08 16:37:29 -03:00
|
|
|
...
|
|
|
|
|
} @ inputs: let
|
2025-02-05 10:22:46 -03:00
|
|
|
systems = [
|
|
|
|
|
"x86_64-linux"
|
|
|
|
|
"aarch64-linux"
|
|
|
|
|
"x86_64-darwin"
|
|
|
|
|
"aarch64-darwin"
|
|
|
|
|
];
|
2026-05-14 19:46:24 -03:00
|
|
|
nixpkgsUnfree = {
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
...
|
|
|
|
|
}:
|
|
|
|
|
with lib; let
|
|
|
|
|
list = config.nix.allowUnfreeList;
|
|
|
|
|
in {
|
|
|
|
|
options.nix.allowUnfreeList = mkOption {
|
|
|
|
|
type = with types; listOf str;
|
|
|
|
|
default = [];
|
|
|
|
|
};
|
|
|
|
|
config.nixpkgs.config.allowUnfreePredicate = p:
|
|
|
|
|
builtins.elem (getName p) list;
|
|
|
|
|
};
|
|
|
|
|
commonModules = [nixpkgsUnfree];
|
2025-02-05 10:22:46 -03:00
|
|
|
forAllSystems = f:
|
|
|
|
|
nixpkgs.lib.genAttrs systems (system: let
|
|
|
|
|
pkgs = import nixpkgs {inherit system;};
|
2025-08-07 19:18:18 -03:00
|
|
|
pkgs-unstable = import nixpkgs-unstable {
|
|
|
|
|
inherit system;
|
|
|
|
|
config.allowUnfreePredicate = _: true;
|
|
|
|
|
};
|
2025-02-05 10:22:46 -03:00
|
|
|
in
|
2025-03-02 13:07:06 -03:00
|
|
|
f {
|
2025-08-07 19:18:18 -03:00
|
|
|
inherit pkgs pkgs-unstable;
|
2025-03-02 13:07:06 -03:00
|
|
|
inherit (pkgs) lib;
|
|
|
|
|
});
|
2025-02-05 10:22:46 -03:00
|
|
|
in {
|
2025-08-24 14:29:41 -03:00
|
|
|
formatter = forAllSystems ({pkgs, ...}: pkgs.alejandra);
|
|
|
|
|
|
2025-02-05 10:22:46 -03:00
|
|
|
nixosConfigurations = {
|
2026-05-01 19:17:54 -03:00
|
|
|
"dreadnought" = nixpkgs.lib.nixosSystem rec {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
specialArgs = {
|
|
|
|
|
pkgs-unstable = import nixpkgs-unstable {
|
|
|
|
|
inherit system;
|
|
|
|
|
config.allowUnfree = true;
|
|
|
|
|
config.allowUnfreePredicate = _: true;
|
|
|
|
|
};
|
|
|
|
|
inherit inputs self;
|
|
|
|
|
};
|
2026-05-14 19:46:24 -03:00
|
|
|
modules =
|
|
|
|
|
[
|
|
|
|
|
./hosts/dreadnought/configuration.nix
|
|
|
|
|
./home/terminal/configuration.nix
|
|
|
|
|
inputs.stylix.nixosModules.stylix
|
|
|
|
|
./style.nix
|
|
|
|
|
]
|
|
|
|
|
++ commonModules;
|
2026-05-01 19:17:54 -03:00
|
|
|
};
|
2025-05-26 10:27:51 -03:00
|
|
|
"battleship" = nixpkgs.lib.nixosSystem rec {
|
2025-02-11 11:30:11 -03:00
|
|
|
system = "x86_64-linux";
|
2025-05-26 10:27:51 -03:00
|
|
|
specialArgs = {
|
|
|
|
|
pkgs-unstable = import nixpkgs-unstable {
|
|
|
|
|
inherit system;
|
|
|
|
|
config.allowUnfree = true;
|
|
|
|
|
config.allowUnfreePredicate = _: true;
|
|
|
|
|
};
|
|
|
|
|
inherit inputs self;
|
|
|
|
|
};
|
2026-05-14 19:46:24 -03:00
|
|
|
modules =
|
|
|
|
|
[
|
|
|
|
|
./hosts/battleship/configuration.nix
|
|
|
|
|
./home/worm/configuration.nix
|
|
|
|
|
]
|
|
|
|
|
++ commonModules;
|
2025-02-05 10:22:46 -03:00
|
|
|
};
|
2026-04-16 13:52:25 -03:00
|
|
|
"fighter" = nixpkgs.lib.nixosSystem rec {
|
2026-03-16 14:31:21 -03:00
|
|
|
system = "x86_64-linux";
|
|
|
|
|
specialArgs = {
|
|
|
|
|
pkgs-unstable = import nixpkgs-unstable {
|
|
|
|
|
inherit system;
|
|
|
|
|
config.allowUnfree = true;
|
|
|
|
|
config.allowUnfreePredicate = _: true;
|
|
|
|
|
};
|
|
|
|
|
inherit inputs self;
|
|
|
|
|
};
|
2026-05-14 19:46:24 -03:00
|
|
|
modules =
|
|
|
|
|
[
|
|
|
|
|
./hosts/fighter/configuration.nix
|
|
|
|
|
./home/terminal/configuration.nix
|
|
|
|
|
inputs.stylix.nixosModules.stylix
|
|
|
|
|
./style.nix
|
|
|
|
|
]
|
|
|
|
|
++ commonModules;
|
2026-03-16 14:31:21 -03:00
|
|
|
};
|
2026-04-17 14:08:13 -03:00
|
|
|
"rusty" = nixpkgs.lib.nixosSystem rec {
|
2026-04-14 19:52:51 -03:00
|
|
|
system = "x86_64-linux";
|
|
|
|
|
specialArgs = {
|
|
|
|
|
pkgs-unstable = import nixpkgs-unstable {
|
|
|
|
|
inherit system;
|
|
|
|
|
config.allowUnfree = true;
|
|
|
|
|
config.allowUnfreePredicate = _: true;
|
|
|
|
|
};
|
|
|
|
|
inherit inputs self;
|
|
|
|
|
};
|
2026-05-14 19:46:24 -03:00
|
|
|
modules =
|
|
|
|
|
[
|
|
|
|
|
./hosts/lost-home/configuration.nix
|
|
|
|
|
./home/terminal/configuration.nix
|
|
|
|
|
inputs.stylix.nixosModules.stylix
|
|
|
|
|
./style.nix
|
|
|
|
|
]
|
|
|
|
|
++ commonModules;
|
2026-04-14 19:52:51 -03:00
|
|
|
};
|
2026-04-17 14:08:13 -03:00
|
|
|
"infiltrator" = nixpkgs.lib.nixosSystem rec {
|
2026-04-14 18:55:08 -03:00
|
|
|
system = "x86_64-linux";
|
|
|
|
|
specialArgs = {
|
|
|
|
|
pkgs-unstable = import nixpkgs-unstable {
|
|
|
|
|
inherit system;
|
|
|
|
|
config.allowUnfree = true;
|
|
|
|
|
config.allowUnfreePredicate = _: true;
|
|
|
|
|
};
|
|
|
|
|
inherit inputs self;
|
|
|
|
|
};
|
2026-05-14 19:46:24 -03:00
|
|
|
modules =
|
|
|
|
|
[
|
|
|
|
|
./hosts/infriltrator/configuration.nix
|
|
|
|
|
]
|
|
|
|
|
++ commonModules;
|
2026-04-14 18:55:08 -03:00
|
|
|
};
|
2025-02-05 10:22:46 -03:00
|
|
|
};
|
|
|
|
|
|
2025-08-07 19:18:18 -03:00
|
|
|
homeConfigurations = forAllSystems ({
|
|
|
|
|
pkgs,
|
|
|
|
|
pkgs-unstable,
|
|
|
|
|
...
|
|
|
|
|
}: {
|
2026-03-24 15:21:51 -03:00
|
|
|
"terminal" = home-manager.lib.homeManagerConfiguration {
|
2025-08-07 19:18:18 -03:00
|
|
|
inherit pkgs pkgs-unstable;
|
2025-03-10 09:33:22 -03:00
|
|
|
modules = [
|
2026-03-24 15:21:51 -03:00
|
|
|
./home/terminal/home.nix
|
2025-02-05 10:25:00 -03:00
|
|
|
];
|
|
|
|
|
};
|
2026-05-01 19:26:35 -03:00
|
|
|
"worm" = home-manager.lib.homeManagerConfiguration {
|
|
|
|
|
inherit pkgs pkgs-unstable;
|
|
|
|
|
modules = [
|
|
|
|
|
./home/worm/home.nix
|
|
|
|
|
];
|
|
|
|
|
};
|
2025-03-10 09:43:01 -03:00
|
|
|
});
|
2025-02-05 10:25:00 -03:00
|
|
|
|
2026-05-01 19:40:55 -03:00
|
|
|
diskoConfigurations = {
|
|
|
|
|
"battleship" = import ./hosts/battleship/disko.nix;
|
|
|
|
|
"dreadnought" = import ./hosts/dreadnought/disko.nix;
|
|
|
|
|
};
|
|
|
|
|
|
2025-03-05 18:07:04 -03:00
|
|
|
nixosModules = {
|
|
|
|
|
neovim = inputs.neovim.nixosModules.default;
|
2026-05-14 19:40:45 -03:00
|
|
|
playit = ./modules/playit.nix;
|
2026-05-14 19:43:05 -03:00
|
|
|
services = {
|
|
|
|
|
cloudflared = ./services/cloudflared.nix;
|
2026-05-14 19:44:06 -03:00
|
|
|
minecraft-servers = ./services/minecraft-servers.nix;
|
2026-05-14 19:43:05 -03:00
|
|
|
};
|
2025-03-05 18:07:04 -03:00
|
|
|
};
|
|
|
|
|
|
2025-02-05 10:27:12 -03:00
|
|
|
homeManagerModules = {
|
2026-03-24 14:29:25 -03:00
|
|
|
devkit = {...}: {
|
2025-04-19 10:20:28 -03:00
|
|
|
imports = [
|
|
|
|
|
self.homeManagerModules.neovim
|
2026-03-24 14:29:25 -03:00
|
|
|
./modules/home-manager/devkit.nix
|
2025-04-19 10:20:28 -03:00
|
|
|
];
|
|
|
|
|
};
|
2026-03-25 19:17:01 -03:00
|
|
|
godot = ./modules/home-manager/godot.nix;
|
2025-03-05 18:07:04 -03:00
|
|
|
neovim = inputs.neovim.homeManagerModules.default;
|
2025-02-05 10:27:12 -03:00
|
|
|
};
|
2025-02-12 11:21:55 -03:00
|
|
|
|
2025-03-02 13:09:52 -03:00
|
|
|
packages = forAllSystems ({
|
2025-03-02 13:07:06 -03:00
|
|
|
lib,
|
2025-03-02 13:09:52 -03:00
|
|
|
pkgs,
|
2025-03-02 13:07:06 -03:00
|
|
|
...
|
2025-03-02 13:09:52 -03:00
|
|
|
}: {
|
2026-05-14 19:40:45 -03:00
|
|
|
playit-agent = pkgs.callPackage ./packages/playit-agent.nix {};
|
2026-03-24 14:21:59 -03:00
|
|
|
audacity = pkgs.callPackage ./packages/audacity.nix {};
|
2026-03-24 14:21:07 -03:00
|
|
|
cal-sans = pkgs.callPackage ./packages/cal-sans.nix {};
|
2026-03-19 15:37:18 -03:00
|
|
|
devkit = {
|
|
|
|
|
ghostty = pkgs.callPackage ./packages/devkit/ghostty.nix {
|
|
|
|
|
command = "${lib.getExe self.packages.${pkgs.stdenv.hostPlatform.system}.devkit.zsh}";
|
2025-03-05 16:08:43 -03:00
|
|
|
};
|
2026-03-19 15:37:18 -03:00
|
|
|
git = pkgs.callPackage ./packages/devkit/git.nix {};
|
|
|
|
|
lazygit = pkgs.callPackage ./packages/devkit/lazygit.nix {};
|
|
|
|
|
starship = pkgs.callPackage ./packages/devkit/starship {};
|
|
|
|
|
yazi = pkgs.callPackage ./packages/devkit/yazi {};
|
|
|
|
|
zellij = pkgs.callPackage ./packages/devkit/zellij {};
|
|
|
|
|
zsh = pkgs.callPackage ./packages/devkit/zsh {};
|
|
|
|
|
neovim = self.packages.${pkgs.system}.neovim;
|
|
|
|
|
};
|
2026-05-01 19:26:35 -03:00
|
|
|
neovim = inputs.neovim.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
2025-03-02 12:43:48 -03:00
|
|
|
});
|
2025-03-02 13:18:08 -03:00
|
|
|
|
|
|
|
|
devShells = forAllSystems ({
|
|
|
|
|
lib,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}: {
|
|
|
|
|
devkit = pkgs.mkShell {
|
|
|
|
|
name = "devkit-shell";
|
2026-03-19 15:37:18 -03:00
|
|
|
packages = with self.packages.${pkgs.stdenv.hostPlatform.system}.devkit; [
|
|
|
|
|
ghostty
|
|
|
|
|
git
|
|
|
|
|
lazygit
|
|
|
|
|
starship
|
|
|
|
|
yazi
|
|
|
|
|
zellij
|
|
|
|
|
zsh
|
|
|
|
|
neovim
|
|
|
|
|
];
|
|
|
|
|
shellHook = "${lib.getExe self.packages.${pkgs.stdenv.hostPlatform.system}.devkit.zsh}";
|
|
|
|
|
EDITOR = "${lib.getExe self.packages.${pkgs.stdenv.hostPlatform.system}.devkit.neovim}";
|
2025-03-02 13:18:08 -03:00
|
|
|
};
|
2026-03-24 14:29:25 -03:00
|
|
|
default = self.devShells.${pkgs.stdenv.hostPlatform.system}.devkit;
|
2025-03-02 13:18:08 -03:00
|
|
|
});
|
2024-04-08 16:37:29 -03:00
|
|
|
};
|
2024-01-03 22:53:34 -03:00
|
|
|
}
|