196 lines
6.1 KiB
Nix
196 lines
6.1 KiB
Nix
{
|
|
description = "Home Manager configuration of doloro";
|
|
|
|
inputs = {
|
|
# Specify the source of Home Manager and Nixpkgs.
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
|
rpi-nixpkgs.url = "github:nvmd/nixpkgs/modules-with-keys-25.11";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
|
|
nix-meow.url = "git+https://git.scug.io/nikkuss/nix-meow.git?ref=paws"; # config manager, meow'd
|
|
hyprland.url = "github:hyprwm/Hyprland";
|
|
rsRPC.url = "github:Doloro1978/rsRPC";
|
|
protonhax.url = "github:linusfri/protonhax-nix";
|
|
hytale-launcher.url = "github:JPyke3/hytale-launcher-nix";
|
|
quickshell = {
|
|
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
heliumFlake = {
|
|
url = "github:vikingnope/helium-browser-nix-flake";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nikkuss-pkgs = {
|
|
url = "git+https://git.scug.io/nikkuss/pkgs";
|
|
# inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
zen-browser = {
|
|
url = "github:0xc000022070/zen-browser-flake";
|
|
inputs = {
|
|
# IMPORTANT: we're using "libgbm" and is only available in unstable so ensure
|
|
# to have it up-to-date or simply don't specify the nixpkgs input
|
|
nixpkgs.follows = "nixpkgs";
|
|
home-manager.follows = "home-manager";
|
|
};
|
|
};
|
|
sops-nix = {
|
|
url = "github:Mic92/sops-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
disko = {
|
|
url = "github:nix-community/disko/latest";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
stylix = {
|
|
url = "github:nix-community/stylix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
|
nixvim = {
|
|
url = "github:nix-community/nixvim";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
spicetify-nix = {
|
|
url = "github:Gerg-L/spicetify-nix";
|
|
};
|
|
nix-warez = {
|
|
# Blender-bin
|
|
url = "github:edolstra/nix-warez?dir=blender";
|
|
};
|
|
nixpkgs-gamescope = {
|
|
url = "github:Nixos/nixpkgs?rev=8fcb6f1c4948305af52d19f887b89011ee2c080d";
|
|
};
|
|
font-patcher.url = "github:Doloro1978/nix-nerd-fonts-patcher";
|
|
nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi/develop";
|
|
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
|
|
niri-flake.url = "github:sodiboo/niri-flake";
|
|
};
|
|
outputs =
|
|
inputs@{
|
|
nixpkgs,
|
|
home-manager,
|
|
nix-meow,
|
|
...
|
|
}:
|
|
let
|
|
overlays = [
|
|
# inputs.nikkuss-pkgs.overlays.default
|
|
(final: prev: {
|
|
arrpc = prev.arrpc.overrideAttrs (preve: rec {
|
|
pname = preve.pname + "-meow";
|
|
version = "94d3ec81";
|
|
patches = [ ./deadlock.patch ];
|
|
src = prev.fetchFromGitHub {
|
|
owner = "XenHat";
|
|
repo = "arrpc";
|
|
# branch = "improved-detection-fixes";
|
|
rev = "94d3ec81339f94e563af512b83db369596d05d3b";
|
|
sha256 = "sha256-DI/HCrmiQo1lPkErCNXOpdQli2wua03PDjdlERrpxTg=";
|
|
};
|
|
npmDepsHash = prev.lib.fakeHash;
|
|
npmDeps = final.fetchNpmDeps {
|
|
inherit src;
|
|
name = "${pname}-${version}-npm-deps";
|
|
hash = "sha256-lw6pngFC2Pnk+I8818TOTwN4r+8IsjvdMYIyTsTi49g=";
|
|
};
|
|
});
|
|
})
|
|
# (
|
|
# final: prev:
|
|
# let
|
|
# system = prev.stdenv.hostPlatform.system;
|
|
# pkgs_gamescope = import inputs.nixpkgs-gamescope {
|
|
# inherit system;
|
|
# config = {
|
|
# allow_unfree = true;
|
|
# };
|
|
# };
|
|
# packageNix = "${inputs.nixpkgs-gamescope}/pkgs/by-name/ga/gamescope/package.nix";
|
|
# in
|
|
# {
|
|
# gamescope = pkgs_gamescope.callPackage packageNix { };
|
|
# }
|
|
# )
|
|
# (self: super: {
|
|
# intel-npu-driver = super.intel-npu-driver.overrideAttrs (oldAttrs: rec {
|
|
# installPhase = ''
|
|
# mkdir -p $out/lib/firmware
|
|
# ${oldAttrs.installPhase}
|
|
# '';
|
|
# });
|
|
# })
|
|
(final: prev: {
|
|
vesktop = prev.vesktop.overrideAttrs (old: {
|
|
preBuild = ''
|
|
cp -r ${prev.electron.dist} electron-dist
|
|
chmod -R u+w electron-dist
|
|
'';
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
|
|
pnpm build
|
|
pnpm exec electron-builder \
|
|
--dir \
|
|
-c.asarUnpack="**/*.node" \
|
|
-c.electronDist="electron-dist" \
|
|
-c.electronVersion=${prev.electron.version}
|
|
|
|
runHook postBuild
|
|
'';
|
|
});
|
|
})
|
|
];
|
|
utils = nix-meow.lib.setup {
|
|
inherit (inputs) home-manager nixpkgs;
|
|
inherit inputs;
|
|
flakeRoot = ./.;
|
|
hostsFolder = ./hosts;
|
|
hardwaresFolder = ./hardwares;
|
|
modulesFolder = ./modules;
|
|
globalConfig = {
|
|
allowUnfree = true;
|
|
};
|
|
globalOverlays = overlays;
|
|
defaultUser = "doloro";
|
|
};
|
|
inherit (utils) mkHost;
|
|
configurations = [
|
|
# Desktops
|
|
(mkHost {
|
|
hardware = "doloro";
|
|
host = "doloro";
|
|
system = "x86_64-linux";
|
|
stateVersion = "25.05";
|
|
nixpkgsConfig = {
|
|
rocmSupport = false;
|
|
cudaSupport = true;
|
|
};
|
|
})
|
|
(mkHost {
|
|
hardware = "doloro-laptop";
|
|
host = "doloro-laptop";
|
|
system = "x86_64-linux";
|
|
stateVersion = "25.11";
|
|
nixpkgsConfig = {
|
|
rocmSupport = false;
|
|
};
|
|
})
|
|
# Servers
|
|
(mkHost {
|
|
hardware = "rpi-5";
|
|
host = "rpi-5";
|
|
system = "aarch64-linux";
|
|
# nixpkgs = inputs.rpi-nixpkgs;
|
|
stateVersion = "25.11";
|
|
nixpkgsConfig = {
|
|
rocmSupport = false;
|
|
};
|
|
})
|
|
];
|
|
in
|
|
(utils.deepMerge configurations);
|
|
}
|