config/flake.nix

205 lines
5.6 KiB
Nix
Raw Normal View History

2024-02-29 22:20:26 -05:00
{
description = "Nixos config flake";
2024-10-19 14:42:26 -04:00
nixConfig = {
extra-substituters = [
"https://cache.zoeys.computer"
];
extra-trusted-public-keys = [
"cache.zoeys.computer:0Pvq2E8GWBX9qk1aTQ3RpZ01t4Nu5uWMQy90ippP9Ls="
];
};
2024-02-29 22:20:26 -05:00
inputs = {
2024-10-16 15:40:35 -04:00
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
2025-03-22 16:03:07 -04:00
nixos-stable.url = "github:nixos/nixpkgs/nixos-24.11";
2024-02-29 22:20:26 -05:00
home-manager = {
2025-03-22 16:03:07 -04:00
url = "github:nix-community/home-manager";
2024-02-29 22:20:26 -05:00
inputs.nixpkgs.follows = "nixpkgs";
};
2025-01-07 18:42:17 +00:00
ghostty.url = "github:ghostty-org/ghostty";
2024-12-19 21:47:51 -05:00
2024-10-16 15:40:35 -04:00
emacs-overlay.url = "github:nix-community/emacs-overlay";
2024-12-19 21:47:51 -05:00
awsvpnclient = {
url = "github:ymatsiuk/awsvpnclient/56ca114e3f7fe4db9d745a0ab8ed70c6bd803a8f";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
2024-08-07 10:44:50 -04:00
2024-11-23 18:12:57 -05:00
resume.url = "git+https://git.zoeys.cloud/zoey/resume";
2024-12-16 16:39:20 -05:00
anyrun.url = "github:anyrun-org/anyrun";
anyrun.inputs.nixpkgs.follows = "nixpkgs";
2024-11-23 18:12:57 -05:00
ags.url = "github:Aylur/ags/v1";
ags.inputs.nixpkgs.follows = "nixpkgs";
agenix.url = "github:ryantm/agenix";
agenix.inputs.nixpkgs.follows = "nixpkgs";
agenix.inputs.darwin.follows = "";
2024-11-13 20:35:13 -05:00
pnpm2nix.url = "github:nzbr/pnpm2nix-nzbr";
2024-10-14 22:28:31 -04:00
solaar = {
url = "github:Svenum/Solaar-Flake/main"; # Uncomment line for latest unstable version
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-11-23 18:12:57 -05:00
blog.url = "git+https://git.zoeys.cloud/zoey/web";
2024-05-05 16:40:12 -04:00
lanzaboote = {
2024-12-16 16:39:20 -05:00
url = "github:nix-community/lanzaboote/v0.4.1";
# Optional but recommended to limit the size of your system closure.
inputs.nixpkgs.follows = "nixpkgs";
};
hypridle = {
url = "github:hyprwm/hypridle";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-03-22 16:03:07 -04:00
mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
catppuccin.url = "github:catppuccin/nix";
2024-09-18 15:32:57 -04:00
hyprland = {
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
2025-03-22 16:03:07 -04:00
inputs.nixpkgs.follows = "nixpkgs";
2024-09-18 15:32:57 -04:00
};
kb-gui = {
url = "github:zackartz/kb-gui";
inputs.nixpkgs.follows = "nixpkgs";
};
waybar = {
url = "github:Alexays/Waybar";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-05-23 20:26:30 +00:00
snowfall-lib = {
url = "github:snowfallorg/lib";
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay";
2024-09-12 19:29:12 -04:00
# inputs.nixpkgs.follows = "nixpkgs";
};
rio-term = {
url = "github:raphamorim/rio";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-01-19 15:04:19 -05:00
umu.url = "github:Open-Wine-Components/umu-launcher?dir=packaging/nix";
2025-03-22 16:03:07 -04:00
# umu.inputs.nixpkgs.follows = "nixpkgs";
2025-01-19 15:04:19 -05:00
2025-03-22 16:03:07 -04:00
zen-browser.url = "github:0xc000022070/zen-browser-flake";
2024-09-17 19:56:58 -04:00
2024-10-22 15:15:39 -04:00
zoeycomputer = {
2024-11-23 18:12:57 -05:00
url = "git+https://git.zoeys.cloud/zoey/zoeys.computer";
2025-03-22 16:03:07 -04:00
inputs.nixpkgs.follows = "nixpkgs";
2024-10-22 15:15:39 -04:00
};
2024-10-21 19:22:59 -04:00
2025-03-22 16:03:07 -04:00
posting.url = "github:jorikvanveen/posting-flake";
2024-11-23 18:12:57 -05:00
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
systems.url = "github:nix-systems/default";
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-17 02:05:02 -04:00
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-03-22 16:03:07 -04:00
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
opnix.url = "github:brizzbuzz/opnix";
mc-honeypot.url = "github:Duckulus/mc-honeypot";
mc-honeypot.inputs.nixpkgs.follows = "nixpkgs";
2024-02-29 22:20:26 -05:00
};
2024-12-19 21:47:51 -05:00
outputs = inputs @ {self, ...}: let
2024-10-19 00:28:43 -04:00
snowfallConfig = inputs.snowfall-lib.mkFlake {
2024-05-23 20:26:30 +00:00
inherit inputs;
src = ./.;
2024-12-16 16:39:20 -05:00
overlays = [
inputs.rust-overlay.overlays.default
(final: prev: {
2024-12-19 21:47:51 -05:00
ghostty = inputs.ghostty.packages."x86_64-linux".default;
2024-12-16 16:39:20 -05:00
})
2025-03-22 16:03:07 -04:00
(final: prev: {
shadps4 = prev.shadps4.overrideAttrs {
src = prev.fetchFromGitHub {
owner = "shadps4-emu";
repo = "shadPS4";
rev = "41b39428335025e65f9e707ed8d5a9a1b09ba942";
hash = "sha256-5oe2By8TjJJIVubkp5lzqx2slBR7hxIHV4wZLgRYKl8=";
fetchSubmodules = true;
};
patches = [];
};
})
2024-12-16 16:39:20 -05:00
];
2024-05-23 21:24:09 +00:00
2024-05-23 20:26:30 +00:00
snowfall = {
namespace = "custom";
};
2024-05-03 13:33:06 -04:00
2024-05-23 20:26:30 +00:00
channels-config = {
allowUnfree = true;
2025-03-22 16:03:07 -04:00
gcc.arch = "znver3";
gcc.tune = "znver3";
2024-05-23 20:26:30 +00:00
};
homes.modules = with inputs; [
spicetify-nix.homeManagerModules.default
2024-05-23 20:26:30 +00:00
catppuccin.homeManagerModules.catppuccin
anyrun.homeManagerModules.default
ags.homeManagerModules.default
2025-03-22 16:03:07 -04:00
opnix.homeManagerModules.default
2024-02-29 22:20:26 -05:00
];
2024-05-23 20:26:30 +00:00
systems.modules.nixos = with inputs; [
lanzaboote.nixosModules.lanzaboote
home-manager.nixosModules.home-manager
catppuccin.nixosModules.catppuccin
blog.nixosModule
agenix.nixosModules.default
2024-10-16 15:40:35 -04:00
solaar.nixosModules.default
2024-10-21 19:22:59 -04:00
zoeycomputer.nixosModules.default
2024-11-23 18:12:57 -05:00
lix-module.nixosModules.default
2025-03-22 16:03:07 -04:00
mailserver.nixosModule
disko.nixosModules.disko
mc-honeypot.nixosModules.default
opnix.nixosModules.default
];
2024-10-19 00:28:43 -04:00
};
in
snowfallConfig
// {
hydraJobs = {
x86_64-linux.earth = self.nixosConfigurations.earth.config.system.build.toplevel;
x86_64-linux.pluto = self.nixosConfigurations.pluto.config.system.build.toplevel;
2024-10-20 14:44:55 -04:00
zen-browser = self.packages."x86_64-linux".zen-browser;
2024-10-18 23:59:23 -04:00
};
};
2024-02-29 22:20:26 -05:00
}