NixOS/flake.nix

81 lines
3.0 KiB
Nix

{
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-23.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs?ref=nixos-unstable";
home-manager.url = "github:nix-community/home-manager/release-23.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, ... }@inputs:
let
inherit (self) outputs;
lib = nixpkgs.lib // home-manager.lib;
system = "x86_64-linux";
makePkgs = repo:
import repo {
inherit system;
config.allowUnfree = true;
};
pkgs = makePkgs nixpkgs;
pkgsU = makePkgs nixpkgs-unstable;
in {
inherit lib pkgs;
formatter = pkgs.alejandra;
nixosConfigurations = {
workstation = lib.nixosSystem {
inherit system;
modules = [
# lix-module.nixosModules.default
./hosts/workstation/configuration.nix
({ pkgs, ... }: {
nixpkgs.overlays = [
(self: super: {
gnome = super.gnome.overrideScope' (gFinal: gPrev: {
nautilus = gPrev.nautilus.overrideAttrs (nsuper: {
buildInputs = nsuper.buildInputs
++ (with pkgs.gst_all_1; [
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-plugins-base
]);
});
mutter = gPrev.mutter.overrideAttrs (old: {
src = super.pkgs.fetchgit {
url = "https://gitlab.gnome.org/vanvugt/mutter.git";
# GNOME 45: triple-buffering-v4-45
rev = "0b896518b2028d9c4d6ea44806d093fd33793689";
sha256 =
"sha256-mzNy5GPlB2qkI2KEAErJQzO//uo8yO0kPQUwvGDwR4w=";
};
});
});
planify = pkgsU.planify;
gdtoolkit = pkgsU.gdtoolkit;
gallery-dl = pkgsU.gallery-dl;
lutris = super.lutris.override {
extraPkgs = pkgs: [
pkgs.winetricks
pkgs.wine64Packages.stable
pkgs.wineWowPackages.stable
];
};
nerdfonts = super.nerdfonts.override {
fonts = [ "CascadiaCode" "ComicShannsMono" "Iosevka" ];
};
handbrake = super.handbrake.override { useGtk = true; };
discord = super.discord.override { withOpenASAR = true; };
ripgrep = super.ripgrep.override { withPCRE2 = true; };
blender = super.blender.override { cudaSupport = true; };
})
];
})
];
specialArgs = { inherit inputs outputs; };
};
};
};
}