lifetracker/flake.nix
2025-01-24 08:06:19 +00:00

262 lines
8.0 KiB
Nix

{
description = "PandOS";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
impermanence.url = "github:nix-community/impermanence";
nix-flatpak.url = "github:gmodena/nix-flatpak";
nix-index-database = {
url = "github:Mic92/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-inspect.url = "github:bluskript/nix-inspect";
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:nixos/nixos-hardware";
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
nvf.url = "github:notashelf/nvf";
quadlet-nix = {
url = "github:SEIAROTg/quadlet-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
aaru = {
url = "github:Whovian9369/aaru-nix-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-game-preservation = {
url = "github:Whovian9369/nix-game-preservation";
inputs.nixpkgs.follows = "nixpkgs";
};
rom-properties = {
url = "github:Whovian9369/rom-properties-nix-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
jovian = {
url = "github:Jovian-Experiments/Jovian-NixOS";
inputs.nixpkgs.follows = "nixpkgs";
};
wayland-pipewire-idle-inhibit = {
url = "github:rafaelrc7/wayland-pipewire-idle-inhibit";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-citizen = {
url = "github:LovingMelody/nix-citizen";
inputs.nix-gaming.follows = "nix-gaming";
};
nix-gaming.url = "github:fufexan/nix-gaming";
nix-proton-cachyos.url = "github:kimjongbing/nix-proton-cachyos";
openmw-nix = {
url = "git+https://codeberg.org/PopeRigby/openmw-nix.git";
inputs.nixpkgs.follows = "nixpkgs";
};
auto-cpufreq = {
url = "github:AdnanHodzic/auto-cpufreq";
inputs.nixpkgs.follows = "nixpkgs";
};
cd-ls = {
url = "github:zshzoo/cd-ls";
flake = false;
};
nsearch = {
url = "github:niksingh710/nsearch";
inputs.nixpkgs.follows = "nixpkgs";
};
steamtinkerlaunch-master = {
type = "git";
url = "https://github.com/sonic2kk/steamtinkerlaunch.git";
flake = false;
};
ucodenix.url = "github:e-tho/ucodenix";
# Theming
catppuccin = {
url = "github:catppuccin/nix";
};
catppuccin-ghostwriter = {
url = "github:catppuccin/ghostwriter";
flake = false;
};
catppuccin-halloy = {
url = "github:catppuccin/halloy";
flake = false;
};
catppuccin-heroic = {
url = "github:catppuccin/heroic";
flake = false;
};
catppuccin-kitty = {
url = "github:catppuccin/kitty";
flake = false;
};
catppuccin-obs = {
url = "github:catppuccin/obs";
flake = false;
};
catppuccin-powershell = {
url = "github:catppuccin/powershell";
flake = false;
};
catppuccin-xresources = {
url = "github:catppuccin/xresources";
flake = false;
};
catppuccin-zen = {
url = "github:IAmJafeth/zen-browser";
flake = false;
};
lightly.url = "github:Bali10050/Darkly";
stylix.url = "github:danth/stylix";
hyprland.url = "github:hyprwm/Hyprland";
# KDE
kwin-effects-forceblur = {
url = "github:taj-ny/kwin-effects-forceblur";
inputs.nixpkgs.follows = "nixpkgs";
};
kwin-effects-kinetic = {
url = "github:gurrgur/kwin-effects-kinetic";
flake = false;
};
};
outputs =
{ nixpkgs, home-manager, ... }@inputs:
{
nixosConfigurations =
let
username = "ryan";
vars = {
desktop = true;
gaming = true;
};
in
{
# Desktop
thalia = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs username;
vars = vars;
};
modules = [
./hosts/thalia
inputs.catppuccin.nixosModules.catppuccin
# inputs.chaotic.nixosModules.default
# inputs.disko.nixosModules.disko
# ./hosts/desktop/disko.nix
# { _module.args.disks = [ "/dev/disk/by-id/nvme-CT2000T700SSD3_2413E8A197BB" ]; }
#inputs.lanzaboote.nixosModules.lanzaboote
inputs.nix-flatpak.nixosModules.nix-flatpak
inputs.nur.modules.nixos.default
inputs.quadlet-nix.nixosModules.quadlet
inputs.sops-nix.nixosModules.sops
inputs.ucodenix.nixosModules.default
inputs.stylix.nixosModules.stylix
home-manager.nixosModules.home-manager
{
home-manager = {
backupFileExtension = "hmbak";
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit inputs vars username;
};
sharedModules = with inputs; [
catppuccin.homeManagerModules.catppuccin
nix-flatpak.homeManagerModules.nix-flatpak
nix-index-database.hmModules.nix-index
nixvim.homeManagerModules.nixvim
nur.modules.homeManager.default
quadlet-nix.homeManagerModules.quadlet
nvf.homeManagerModules.default
sops-nix.homeManagerModules.sops
wayland-pipewire-idle-inhibit.homeModules.default
];
};
}
];
};
# Desktop
orion = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs username;
vars = vars;
};
modules = [
./hosts/orion
inputs.catppuccin.nixosModules.catppuccin
# inputs.chaotic.nixosModules.default
# inputs.disko.nixosModules.disko
# ./hosts/desktop/disko.nix
# { _module.args.disks = [ "/dev/disk/by-id/nvme-CT2000T700SSD3_2413E8A197BB" ]; }
#inputs.lanzaboote.nixosModules.lanzaboote
inputs.stylix.nixosModules.stylix
inputs.nix-flatpak.nixosModules.nix-flatpak
inputs.nur.modules.nixos.default
inputs.quadlet-nix.nixosModules.quadlet
inputs.sops-nix.nixosModules.sops
inputs.ucodenix.nixosModules.default
home-manager.nixosModules.home-manager
{
home-manager = {
backupFileExtension = "hmbak";
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit inputs vars username;
};
sharedModules = with inputs; [
catppuccin.homeManagerModules.catppuccin
nix-flatpak.homeManagerModules.nix-flatpak
nix-index-database.hmModules.nix-index
nixvim.homeManagerModules.nixvim
nur.modules.homeManager.default
quadlet-nix.homeManagerModules.quadlet
nvf.homeManagerModules.default
sops-nix.homeManagerModules.sops
wayland-pipewire-idle-inhibit.homeModules.default
];
};
}
];
};
};
};
}